惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
S
Secure Thoughts
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
W
WeLiveSecurity
O
OpenAI News
SecWiki News
SecWiki News
博客园 - Franky
NISL@THU
NISL@THU
Microsoft Azure Blog
Microsoft Azure Blog
T
Tor Project blog
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
Security Latest
Security Latest
H
Hacker News: Front Page
Google Online Security Blog
Google Online Security Blog
P
Privacy & Cybersecurity Law Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
月光博客
月光博客
李成银的技术随笔
Spread Privacy
Spread Privacy
F
Full Disclosure
F
Fortinet All Blogs
T
The Exploit Database - CXSecurity.com
Vercel News
Vercel News
AWS News Blog
AWS News Blog
WordPress大学
WordPress大学
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
V
Visual Studio Blog
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
P
Palo Alto Networks Blog
宝玉的分享
宝玉的分享
T
True Tiger Recordings
N
News and Events Feed by Topic
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
N
News | PayPal Newsroom
S
SegmentFault 最新的问题
Jina AI
Jina AI

Recent Commits to openclaw:main

Policy: add model, network, and MCP conformance checks (#80783) · openclaw/openclaw@6dbd5bd fix(agents): fence embedded session writes docs: remove stale owner tool wording test: update command auth expectations · openclaw/openclaw@95eac52 fix(xai): keep OAuth URL clickable (#84927) · openclaw/openclaw@159b300 Fix stale WebChat typing indicator after terminal session patch (#84565) docs: document rejected autoreview findings · openclaw/openclaw@c49647e docs(changelog): note VAPID subject fix · openclaw/openclaw@db606a8 perf(plugins): reuse compatible gateway startup registry · openclaw/openclaw@d2ad7d6 test: cover dispatch registry reuse caller · openclaw/openclaw@b248b48 docs: add plugin registry reuse changelog · openclaw/openclaw@6ccca4a fix(tests): wrap kitchen sink pnpm runner fix(agents): cap heartbeat context hint fallback · openclaw/openclaw@04061bc chore(deadcode): dedupe repeated helpers · openclaw/openclaw@88c49f9 perf(cli): cache stable subcommand help (#84786) · openclaw/openclaw@f39f56a fix(ollama): preserve tool call ids [AI-assisted] (#84855) · openclaw/openclaw@2000227 fix: align remaining copyright notice · openclaw/openclaw@f43e83c fix(config): append numeric bound hints to ceiling/floor validation e… · openclaw/openclaw@8a8f9dc fix(qa): enable private self-check runtime · openclaw/openclaw@0fb1de5 fix(diffs): replace iconMarkup string with ToolbarIconName enum to el… · openclaw/openclaw@b7f9bf5 fix: update mac copyright owner fix(agents): normalize openapi tool schemas · openclaw/openclaw@ec67290 fix(memory): stop recall tracking when dreaming is disabled · openclaw/openclaw@c89632b fix(diagnostics-otel): suppress exporter rejection crashes (#84881) perf: speed up secrets and nodes help startup (#84818) · openclaw/openclaw@233765b docs: add PDF timeout changelog · openclaw/openclaw@e3b77d6 fix(pdf): bound remote body reads [Fix] Reject slow node event sends (#84387) fix(doctor): detect Codex bwrap namespace denials · openclaw/openclaw@43c6c26 fix(update): prune stale local bundled plugin shadows · openclaw/openclaw@4a360ac ci: add live Codex plugin release check · openclaw/openclaw@3eb2d64 fix(slack): suppress reasoning reply payloads (#84322) chore: update vite · openclaw/openclaw@ec7495c chore: update dependencies · openclaw/openclaw@ec10d12 fix(config): validate browser sandbox bind sources [AI] (#84799) · openclaw/openclaw@3cc8b2a doctor: constrain legacy plugin cleanup paths [AI] (#84801) Fix Telegram isolated polling stall watchdog (#84861) · openclaw/openclaw@40db92f ci(release): keep non-waiting clawhub publish best effort fix(docker): keep prune store warmup before offline stage · openclaw/openclaw@1e8d966 ci(release): require resolved target before child dispatch · openclaw/openclaw@2fd02c2 fix(docker): keep runtime prune offline · openclaw/openclaw@a329b9e ci(release): streamline beta publish verification · openclaw/openclaw@1c5fda1 ci(release): preserve direct repair publishes · openclaw/openclaw@0604d25 ci(release): keep focused validation reruns independent · openclaw/openclaw@624d920 [Fix] Keep node systemd tokens out of unit files (#84815) fix: reject symlinked whatsapp creds · openclaw/openclaw@194f078 fix(whatsapp): guard credential atomic writes refactor(whatsapp): use async fs-safe credential checks · openclaw/openclaw@9ec9fbf fix(doctor): clear stale runtime override pins (#84221) fix(agents): disable pi-coding-agent auto-retry to prevent tool call … fix(trajectory): tolerate partial skill snapshot entries in support c… · openclaw/openclaw@c9b6a8b fix(ui): widen settings personal card · openclaw/openclaw@3156d94 fix(agents): log pre-prompt compaction fits decisions (#84676) · openclaw/openclaw@79be940 fix(memory-core): allow bounded dreaming session cleanup (#84802) · openclaw/openclaw@0671a2a perf(cli): lazy-load agents actions for help (#84483) · openclaw/openclaw@168f8a7 Skip empty sherpa structured transcripts (#84667) · openclaw/openclaw@46030f5 feat: support git and local skill installs (#84793) · openclaw/openclaw@c031274 Policy: add tool metadata conformance (#80056) fix(doctor): warn when sandbox hides MCP tools (#84742) · openclaw/openclaw@6745fe8 perf(cli): speed up onboarding help startup (#84488) · openclaw/openclaw@2c0c9c9 perf: isolate doctor core check tests (#84493) · openclaw/openclaw@2585249 feat(tasks): explain stale-running maintenance decisions (#84691) · openclaw/openclaw@3d3cf96 fix(minimax): stop advertising music duration control (#84765) fix(codex): guard path-only bootstrap files [AI-assisted] (#84736) · openclaw/openclaw@c4f14a3 Warn on plaintext secret config in doctor (#84718) · openclaw/openclaw@9cdf8a1 Remove skill prelude exec allowlist (#84570) perf(tui): defer EmbeddedTuiBackend import, drop dead warmup helpers … · openclaw/openclaw@b79effe perf(tui): skip plugin metadata + provider catalog on remote TUI star… · openclaw/openclaw@d91ef6b Route JSON-mode plugin registration logs to stderr (#84741) · openclaw/openclaw@b3ec4f0 build: suppress rolldown-plugin-dts CommonJS dts warnings from bundle… [codex] Fix macOS app copyright year (#84729) · openclaw/openclaw@5c4c6a4 fix(approval): route /approve through approval resolver (#84678) · openclaw/openclaw@b58572e test(secret-file): cover NickServ + account-level symlinks, narrow in… · openclaw/openclaw@4d47f9a fix(infra): restore symlink rejection in tryReadSecretFileSync (#84711) · openclaw/openclaw@90fd26b ci: preserve node path across setup action steps · openclaw/openclaw@d786b4e fix(update): defer legacy parent plugin repair · openclaw/openclaw@f4dc9b1 fix(update): prefer npm during post-core repair · openclaw/openclaw@2e389b6 test: align release timeout budget expectations · openclaw/openclaw@3844513 ci: extend stable release validation monitors · openclaw/openclaw@6b52105 fix(update): adopt post-core plugin payloads fix: preserve update compatibility host during release upgrades · openclaw/openclaw@1fdeee3 fix(update): prefer existing npm plugins during repair fix(update): preserve post-core host version · openclaw/openclaw@e57fa51 chore(release): update appcast for 2026.5.19 · openclaw/openclaw@ec8e700 chore(release): refresh generated baselines · openclaw/openclaw@6c7fe58 chore(release): bump version to 2026.5.20 · openclaw/openclaw@7b90661 fix(doctor): migrate invalid thinking formats (#84626) · openclaw/openclaw@6e9d47b fix(slack): normalize approval user ids (#84671) · openclaw/openclaw@9e4eca0 fix(codex): bridge computer use elicitations chore(deps): update whatsapp baileys · openclaw/openclaw@6e7bd55 fix(cli): gate exported subcli descriptors (#84519) · openclaw/openclaw@ca0fe88 fix(browser): honor image sanitization config for screenshots (#84595) · openclaw/openclaw@d5cc0d5 fix: update fs-safe fallback dependency · openclaw/openclaw@1a7669b fix(errors): dedupe identical messages when traversing error .cause c… · openclaw/openclaw@447a364 fix(agents): credit delivered subagent completions (#84383) fix: check billing errors before surfacing rate-limit message (#79489) · openclaw/openclaw@0af55f9 fix: clarify pinned session model status · openclaw/openclaw@a134683 fix: keep cron final output over tool warnings · openclaw/openclaw@c8a953a Add OpenRouter provider routing params (#84579) · openclaw/openclaw@ac69776 feat(discord): add realtime voice bootstrap context · openclaw/openclaw@48a14e4
refactor: remove sender owner tool gating · openclaw/openclaw@02182d5
steipete · 2026-05-21 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -8,6 +8,7 @@ Docs: https://docs.openclaw.ai

88
99

- Gateway/plugins: reuse a compatible Gateway startup plugin registry during dispatch so safe plugin dispatches avoid redundant registry loading. (#84324) Thanks @ai-hpc.

1010

- Dependencies: refresh provider, plugin, UI, and tooling packages, update `protobufjs` to 8.4.0 to clear the current npm advisory, and carry the Claude ACP completion patch forward to `@agentclientprotocol/claude-agent-acp` 0.36.1.

11+

- Agents/tools: remove the old sender-owner tool gating path so configured tools stay visible for trusted sessions while command and channel-action auth still carry real sender identity.

1112

- Tests/perf: isolate doctor core health check unit coverage from real skills/workspace discovery so `doctor-core-checks` no longer dominates unit perf while keeping one real skills-readiness smoke. (#84493) Thanks @frankekn.

1213
1314

### Fixes

Original file line numberDiff line numberDiff line change

@@ -105,7 +105,6 @@ describe("ClickClack account resolution", () => {

105105

enabled: true,

106106

reconnectMs: 1_500,

107107

replyMode: "agent",

108-

senderIsOwner: false,

109108

token: "ccb_live",

110109

workspace: "wsp_1",

111110

});

@@ -125,7 +124,6 @@ describe("ClickClack account resolution", () => {

125124

replyMode: "model",

126125

model: "openai/gpt-5.4-mini",

127126

toolsAllow: ["web_search"],

128-

senderIsOwner: true,

129127

},

130128

},

131129

},

@@ -144,7 +142,6 @@ describe("ClickClack account resolution", () => {

144142

enabled: true,

145143

model: "openai/gpt-5.4-mini",

146144

replyMode: "model",

147-

senderIsOwner: true,

148145

token: "ccb_peter",

149146

toolsAllow: ["web_search"],

150147

workspace: "wsp_1",

@@ -155,7 +152,6 @@ describe("ClickClack account resolution", () => {

155152

model: "openai/gpt-5.4-mini",

156153

reconnectMs: 1_500,

157154

replyMode: "model",

158-

senderIsOwner: true,

159155

token: "ccb_peter",

160156

toolsAllow: ["web_search"],

161157

workspace: "wsp_1",

Original file line numberDiff line numberDiff line change

@@ -126,7 +126,6 @@ export function resolveClickClackAccount(params: {

126126

systemPrompt: normalizeOptionalString(merged.systemPrompt),

127127

timeoutSeconds: merged.timeoutSeconds,

128128

toolsAllow: merged.toolsAllow,

129-

senderIsOwner: merged.senderIsOwner === true,

130129

defaultTo: merged.defaultTo?.trim() || "channel:general",

131130

allowFrom: merged.allowFrom ?? ["*"],

132131

reconnectMs: merged.reconnectMs ?? DEFAULT_RECONNECT_MS,

Original file line numberDiff line numberDiff line change

@@ -16,7 +16,6 @@ const ClickClackAccountConfigSchema = z

1616

systemPrompt: z.string().optional(),

1717

timeoutSeconds: z.number().int().min(1).max(3_600).optional(),

1818

toolsAllow: z.array(z.string()).optional(),

19-

senderIsOwner: z.boolean().optional(),

2019

defaultTo: z.string().optional(),

2120

allowFrom: z.array(z.string()).optional(),

2221

reconnectMs: z.number().int().min(100).max(60_000).optional(),

Original file line numberDiff line numberDiff line change

@@ -94,7 +94,6 @@ describe("handleClickClackInbound", () => {

9494

agentId: "service-bot",

9595

replyMode: "model",

9696

model: "openai/gpt-5.4-mini",

97-

senderIsOwner: false,

9897

toolsAllow: [],

9998

defaultTo: "channel:general",

10099

allowFrom: ["*"],

Original file line numberDiff line numberDiff line change

@@ -13,7 +13,6 @@ export type ClickClackAccountConfig = {

1313

systemPrompt?: string;

1414

timeoutSeconds?: number;

1515

toolsAllow?: string[];

16-

senderIsOwner?: boolean;

1716

defaultTo?: string;

1817

allowFrom?: string[];

1918

reconnectMs?: number;

@@ -45,7 +44,6 @@ export type ResolvedClickClackAccount = {

4544

systemPrompt?: string;

4645

timeoutSeconds?: number;

4746

toolsAllow?: string[];

48-

senderIsOwner: boolean;

4947

defaultTo: string;

5048

allowFrom: string[];

5149

reconnectMs: number;

Original file line numberDiff line numberDiff line change

@@ -3343,7 +3343,6 @@ async function buildDynamicTools(input: DynamicToolBuildParams) {

33433343

senderName: params.senderName,

33443344

senderUsername: params.senderUsername,

33453345

senderE164: params.senderE164,

3346-

senderIsOwner: params.senderIsOwner,

33473346

allowGatewaySubagentBinding:

33483347

params.allowGatewaySubagentBinding || isForcedPrivateQaCodexRuntime(),

33493348

...sessionKeys,

Original file line numberDiff line numberDiff line change

@@ -104,8 +104,6 @@ export class AgentComponentButton extends Button {

104104

enqueueSystemEvent(eventText, {

105105

sessionKey: route.sessionKey,

106106

contextKey: `discord:agent-button:${channelId}:${componentId}:${userId}`,

107-

forceSenderIsOwnerFalse: true,

108-

trusted: false,

109107

});

110108
111109

await ackComponentInteraction({ interaction, replyOpts, label: "agent button" });

@@ -198,8 +196,6 @@ export class AgentSelectMenu extends StringSelectMenu {

198196

enqueueSystemEvent(eventText, {

199197

sessionKey: route.sessionKey,

200198

contextKey: `discord:agent-select:${channelId}:${componentId}:${userId}`,

201-

forceSenderIsOwnerFalse: true,

202-

trusted: false,

203199

});

204200
205201

await ackComponentInteraction({ interaction, replyOpts, label: "agent select" });

Original file line numberDiff line numberDiff line change

@@ -501,8 +501,6 @@ async function handleDiscordReactionEvent(

501501

enqueueSystemEvent(text, {

502502

sessionKey: route.sessionKey,

503503

contextKey,

504-

forceSenderIsOwnerFalse: true,

505-

trusted: false,

506504

});

507505

};

508506

const shouldNotifyReaction = (options: {

Original file line numberDiff line numberDiff line change

@@ -724,8 +724,6 @@ export async function preflightDiscordMessage(

724724

enqueueSystemEvent(systemText, {

725725

sessionKey: effectiveRoute.sessionKey,

726726

contextKey: `discord:system:${messageChannelId}:${message.id}`,

727-

forceSenderIsOwnerFalse: true,

728-

trusted: false,

729727

});

730728

return null;

731729

}