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

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

Recent Commits to openclaw:main

fix(memory): bound qmd embed backoff · openclaw/openclaw@caac973 fix(discord): bound timeout member expiry · openclaw/openclaw@6399b6a fix(qqbot): skip token cache on invalid clock · openclaw/openclaw@472606d fix(infra): bound device bootstrap expiry · openclaw/openclaw@1774965 fix(cron): bound relative at timestamps · openclaw/openclaw@e0248fc fix(crestodian): bound rescue approval expiry · openclaw/openclaw@6a753ad fix(agents): bound codex cli fallback expiry · openclaw/openclaw@53812bd fix(gateway): forward stop sequences across providers · openclaw/openclaw@fe3c3ac fix(discord): bound rest rate-limit deadlines · openclaw/openclaw@abc26b0 fix(agents): show exec target node in tool display · openclaw/openclaw@64533ba fix(telegram): bound transport cooldown expiry · openclaw/openclaw@7d4bf8f test(release): harden live release checks · openclaw/openclaw@bdb0fde fix(anthropic): bound setup token expiry · openclaw/openclaw@926a165 fix(bedrock): bound mantle runtime token expiry · openclaw/openclaw@70b6fdd fix(agents): bound sqlite cache expiry · openclaw/openclaw@9ad7f5b fix(agents): bound google prompt cache expiry · openclaw/openclaw@1ee751d fix(agents): bound auth profile block expiry · openclaw/openclaw@30e3ca0 fix(telegram): bound error cooldown expiry · openclaw/openclaw@1f6c1ea fix(discord): bound component registry expiry · openclaw/openclaw@8654353 fix(discord): carry reply typing feedback through queue · openclaw/openclaw@6f20f29 fix(discord): omit undefined component registry fields fix(gateway): bound node pending work expiry fix(gateway): explain ignored restart signal · openclaw/openclaw@bc77f7a fix(media): dedupe duplicate inbound media path urls fix(gateway): bound plugin node capability expiry fix(install): show npm install progress without gum · openclaw/openclaw@1c9851e fix(commitments): bound terminal failure cooldown expiry · openclaw/openclaw@a4f6240 test(tasks): cover task domain view mappers (#86755) · openclaw/openclaw@8d3fe21 fix(imessage): bound private api negative cache expiry refactor(matrix): move ephemeral state to plugin sqlite (#88387) fix(imessage): bound approval reaction poll expiry fix(agents): bound exec followup handoff expiry · openclaw/openclaw@cbad1b6 fix(sandbox): bound novnc observer token expiry · openclaw/openclaw@f4cd5e4 test(release): wait for live probe cleanup · openclaw/openclaw@0e7773d fix(agents): bound exec approval request expiry · openclaw/openclaw@d8e7734 fix(google): bound realtime browser session expiry · openclaw/openclaw@da7fb64 fix(msteams): bound delegated token expiry · openclaw/openclaw@3fffb34 fix(workboard): bound claim expiry checks · openclaw/openclaw@0dd67e2 fix(browser): bound armed dialog expiry · openclaw/openclaw@4df27b9 fix(commands): bound private approval route expiry · openclaw/openclaw@e708a87 fix(agents): hide sessions_send alias normalization · openclaw/openclaw@2dacc6d fix(plugin-state): bound ttl expiry writes · openclaw/openclaw@9660e42 fix(skills): bound upload expiry checks · openclaw/openclaw@522da25 fix(exec): bound approval pending expiry · openclaw/openclaw@d44621b test(release): skip unavailable anthropic live models fix(matrix): bound allowlist store cache expiry · openclaw/openclaw@283238f fix(discord): bound unbound webhook echo expiry · openclaw/openclaw@5568ecc fix(zalouser): bound group context cache expiry · openclaw/openclaw@743d537 fix(tui): distinguish /new and /reset descriptions · openclaw/openclaw@63a3676 fix(voice-call): bound realtime stream token expiry feat(ui): add collapsible recent sessions section · openclaw/openclaw@a2fc4ca refactor: route model catalog imports to core package · openclaw/openclaw@8eeaa45 fix(sessions): repair prompt blobs on fast updates · openclaw/openclaw@4d13055 fix(qqbot): bound upload cache expiry · openclaw/openclaw@bfceffa fix(gateway): bound exec approval expiry · openclaw/openclaw@031583e fix(scripts): prebuild gateway cpu private qa artifacts · openclaw/openclaw@2ccbc67 fix(agents): bound code mode snapshot expiry · openclaw/openclaw@11b5728 [Fix] Deliver restart recovery replies (#86089) fix(feishu): bound card action token expiry · openclaw/openclaw@ac0fb97 fix(ci): repair current test type fixtures · openclaw/openclaw@1de9f99 fix(nvidia): bound featured model cache expiry fix(bedrock): bound discovery cache expiry · openclaw/openclaw@e52b4bc fix(plugins): ignore helper files in extension roots fix(bedrock): bound mantle iam token expiry · openclaw/openclaw@5ba3505 perf(gateway): reuse stable turn metadata · openclaw/openclaw@18e7d28 fix(outbound): bound current conversation expiry · openclaw/openclaw@02ca283 fix(plugin-sdk): bound live catalog cache expiry · openclaw/openclaw@4f0e3cb fix(outbound): pack newline-mode paragraphs up to limit fix(gateway): bound run session miss cache expiry · openclaw/openclaw@b1911a7 fix(agents): bound native permission approval expiry · openclaw/openclaw@450642a fix(discord): avoid private test session intersection fix(agents): bound native hook relay expiry fix(gateway): bound transcription relay session expiry fix(codex): refresh stale managed runtime plugin · openclaw/openclaw@3c91928 fix(gateway): bound realtime relay session expiry · openclaw/openclaw@6ac7564 fix(feishu): bound sender name cache expiry · openclaw/openclaw@23e1aac fix(discord): bound realtime wake followup expiry · openclaw/openclaw@c65af78 fix(scripts): make kitchen sink rpc help inert · openclaw/openclaw@4155ac1 fix(qqbot): honor legacy c2c stream progress fix(discord): bound speaker context cache expiry fix(gateway): bound config schema cache expiry Add per-agent SQLite cache store (#88349) · openclaw/openclaw@fc50f94 fix(qqbot): deliver partial tool progress fix(tailscale): bound whois cache expiry · openclaw/openclaw@f491d42 fix(google): bound gemini oauth token expiry fix(google): bound vertex adc token cache expiry · openclaw/openclaw@697bafa fix(msteams): bound parent thread cache expiry fix(msteams): bound team id cache expiry fix(whatsapp): bound group metadata cache expiry · openclaw/openclaw@5eb7192 fix(scripts): parse forwarded package script options fix(feishu): bound approval card expiry fix(feishu): bound quick action launcher expiry · openclaw/openclaw@0563470 fix(gateway): guard traced channel handoff stops · openclaw/openclaw@536c009 fix(feishu): bound card action chat cache clocks · openclaw/openclaw@c94c43d feat(ios): refresh app store metadata (#88235) · openclaw/openclaw@8a99c0d refactor: extract model catalog core package · openclaw/openclaw@30e1556 fix(feishu): bound group name cache clocks · openclaw/openclaw@ec15f90 fix(feishu): bound probe cache expiry clocks fix(zalo): bound hosted media expiry clocks · openclaw/openclaw@f91ddef fix(deps): remove photon root runtime · openclaw/openclaw@8438589
feat: expand workboard orchestration metadata (#88408) · openclaw/openclaw@5435b45
steipete · 2026-05-31 · via Recent Commits to openclaw:main

@@ -50,8 +50,8 @@ Each card stores:

5050

- optional linked session, run, task, or source URL

5151

- optional execution metadata for a Codex or Claude session started from the card

5252

- compact metadata for attempts, comments, links, proof, artifacts, automation,

53-

claims, diagnostics, notifications, templates, archive state, and

54-

stale-session detection

53+

attachments, worker logs, worker protocol state, claims, diagnostics,

54+

notifications, templates, archive state, and stale-session detection

5555

- recent card events such as created, moved, linked, claimed, heartbeat,

5656

attempt, proof, artifact, diagnostic, notification, dispatch, archive, stale,

5757

or agent-updated changes

@@ -108,6 +108,12 @@ Workboard also exposes optional agent tools for board-aware workflows:

108108

final summaries, proof, artifacts, created-card manifests, and blocker

109109

reasons. Created-card manifests must reference cards linked back to the

110110

completed card, which keeps phantom children out of summaries.

111+

- `workboard_attachment_add`, `workboard_attachment_read`, and

112+

`workboard_attachment_delete` store small card attachments in plugin SQLite

113+

state, index them on the card, and expose them in worker context.

114+

- `workboard_worker_log` and `workboard_protocol_violation` record worker log

115+

lines and block cards when an automated worker stops without calling

116+

`workboard_complete` or `workboard_block`.

111117

- `workboard_board_create`, `workboard_board_archive`, and

112118

`workboard_board_delete` manage persisted board metadata such as display name,

113119

description, archive state, and default workspace.

@@ -117,9 +123,12 @@ Workboard also exposes optional agent tools for board-aware workflows:

117123

- `workboard_decompose` fans a parent orchestration card into linked children,

118124

inherits board and tenant metadata, and can complete the parent with a

119125

created-card manifest.

120-

- `workboard_notify_subscribe`, `workboard_notify_list`, and

126+

- `workboard_notify_subscribe`, `workboard_notify_list`,

127+

`workboard_notify_events`, `workboard_notify_advance`, and

121128

`workboard_notify_unsubscribe` manage notification subscriptions in plugin

122-

state so operators and agents can discover durable notification intent.

129+

state. Event reads are replay-safe; the advance tool moves the durable cursor

130+

so callers can resume without losing or double-reading completed, failed, or

131+

stale card events.

123132

- `workboard_boards`, `workboard_stats`, `workboard_promote`,

124133

`workboard_reassign`, `workboard_reclaim`, `workboard_comment`,

125134

`workboard_proof`, `workboard_unblock`, and `workboard_dispatch` let an agent

@@ -133,9 +142,12 @@ the normal Gateway RPC surface and can recover or reassign cards.

133142134143

Workboard stores all durable board data through the plugin SQLite key-value

135144

store. Cards live in `workboard.cards`, board metadata in `workboard.boards`,

136-

and notification subscriptions in `workboard.notify`. Run history, comments,

137-

proof, artifacts, diagnostics, dependencies, lifecycle events, and automation

138-

metadata stay on the card record so a card export remains self-contained.

145+

notification subscriptions in `workboard.notify`, and attachment blobs in

146+

`workboard.attachments`. Run history, comments, proof, artifact references,

147+

attachment indexes, diagnostics, dependencies, lifecycle events, worker logs,

148+

protocol state, and automation metadata stay on the card record so a card export

149+

preserves the board narrative without inlining attachment blob contents. Each

150+

attachment blob must fit one 64 KiB plugin state value after JSON serialization.

139151140152

Workboard diagnostics are computed from local card metadata. The built-in checks

141153

flag assigned cards that wait too long, running cards without recent heartbeat,

@@ -145,8 +157,15 @@ and running cards that only have a loose session link.

145157

Dispatch is intentionally Gateway-local. It does not spawn arbitrary operating

146158

system processes; normal OpenClaw sessions still own execution. A dispatch nudge

147159

promotes dependency-ready cards, records dispatch metadata on ready cards,

148-

blocks expired claims or timed-out runs, and leaves durable notification

149-

subscriptions for the caller that delivers notifications.

160+

blocks expired claims or timed-out runs, marks board-configured triage cards as

161+

orchestration candidates, and leaves durable notification subscriptions for the

162+

caller that delivers notifications.

163+164+

Board metadata can include orchestration settings such as `autoDecompose`,

165+

`autoDecomposePerDispatch`, `defaultAssignee`, and `orchestratorProfile`.

166+

OpenClaw records the orchestration intent and exposes it in worker context; the

167+

actual specification, decomposition, or session start still happens through the

168+

normal Workboard tools and dashboard session flow.

150169151170

## Session lifecycle sync

152171

@@ -206,9 +225,12 @@ The plugin registers Gateway RPC methods under the `workboard.*` namespace:

206225

- `workboard.cards.export` requires `operator.read`

207226

- `workboard.cards.diagnostics` requires `operator.read`

208227

- `workboard.cards.diagnostics.refresh` requires `operator.write`

228+

- attachment list/get and notification event reads require `operator.read`

229+

- notification cursor advancement requires `operator.write`

209230

- create, update, move, delete, comment, link, dependency link, proof, artifact,

210-

claim, heartbeat, release, complete, block, unblock, dispatch, bulk, and

211-

archive methods require `operator.write`

231+

attachment add/delete, worker log, protocol violation, claim, heartbeat,

232+

release, complete, block, unblock, dispatch, bulk, and archive methods require

233+

`operator.write`

212234213235

Browsers connected with read-only operator access can inspect the board but

214236

cannot mutate cards.