
























@@ -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.
133142134143Workboard stores all durable board data through the plugin SQLite key-value
135144store. 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.
139151140152Workboard diagnostics are computed from local card metadata. The built-in checks
141153flag 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.
145157Dispatch is intentionally Gateway-local. It does not spawn arbitrary operating
146158system processes; normal OpenClaw sessions still own execution. A dispatch nudge
147159promotes 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`
212234213235Browsers connected with read-only operator access can inspect the board but
214236cannot mutate cards.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。