openclaw-sc 5.38.0 → 5.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,22 +1,185 @@
1
1
  # OpenClaw sc
2
2
 
3
- sc is an OpenClaw plugin for local agent orchestration. It adds sub-agent task
4
- dispatch, MCP-style tool routing, local worker jobs, memory search helpers, and
5
- sidecar delivery plumbing for OpenClaw runtimes.
3
+ sc is an OpenClaw agent control plane. It gives an OpenClaw main agent a bounded
4
+ way to dispatch sub-agents, route tools, run local worker jobs, collect
5
+ completion events, search memory, fetch web evidence, edit files, and validate
6
+ code without turning the human chat into a coordination log.
7
+
8
+ The short version: sc is not just a bag of tools. It is the execution layer that
9
+ lets an agent act like a task commander while still leaving behind artifacts
10
+ that a human or a main agent can inspect.
6
11
 
7
12
  This repository is the public source package. It excludes private runtime
8
- state, local logs, task inbox files, backups, service binaries, and credentials.
13
+ state, local logs, task inbox files, backups, service binaries, credentials, and
14
+ machine-specific OpenClaw memory.
15
+
16
+ ## Why This Exists
17
+
18
+ Most agent runtimes can call tools, but larger work quickly needs more than
19
+ one-off tool calls:
20
+
21
+ - A main agent needs to send bounded work to sub-agents.
22
+ - Sub-agents need fewer permissions than the main agent.
23
+ - Results need to come back as inspectable completion events, not noisy chat.
24
+ - Repetitive local work should run in cheap deterministic workers.
25
+ - Code edits need a validation path.
26
+ - Memory and web evidence need short, bounded returns.
27
+ - Large fan-out needs run IDs, collector discipline, and timeout behavior.
28
+
29
+ sc is built around those operational problems.
30
+
31
+ ## What Makes sc Different
32
+
33
+ | Strength | What it means |
34
+ | --- | --- |
35
+ | Agent control plane | `spawnAgent` and `taskPipeline` create bounded AI sub-tasks instead of asking the main agent to do every step. |
36
+ | Completion inbox | Sub-agent completion events can be stored, reported, acknowledged, and kept out of the human chat when desired. |
37
+ | Tool boundary model | Main and sub-agent tool sets are different. Sub-agents cannot recursively spawn agents or trigger high-risk controls. |
38
+ | Deterministic worker lane | `spawnWorker` handles search, analyze, semantic, diff, and stats work without spending model tokens. |
39
+ | Evidence-friendly tools | `grep`, `glob`, `memorySearch`, and `webSearch` return bounded evidence for review instead of uncontrolled dumps. |
40
+ | Validation guardrails | Sub-agent code edits can be followed by `validate` checks such as syntax, module load, and diff review. |
41
+ | Batch orchestration | `taskPipeline` supports multi-group dispatch, staggered fan-out, fire-and-return behavior, and collector fields. |
42
+ | Memory retrieval hooks | Dialog search, semantic search, full memory query, and compressed recall can be exposed through one memory tool. |
43
+ | Local-first package | The public package ships source and contracts, not private logs, inbox state, credentials, service binaries, or backups. |
44
+
45
+ ## Core Capabilities
46
+
47
+ ### 1. Sub-agent dispatch
48
+
49
+ `spawnAgent` sends a single bounded AI task with a self-contained prompt and
50
+ optional task-card fields such as:
51
+
52
+ - `runId`
53
+ - `runDir`
54
+ - `taskName`
55
+ - `batchName`
56
+ - `groupName`
57
+ - `collector`
58
+ - `budgets`
59
+ - `acceptance`
60
+ - `evidence`
61
+ - `toolPolicy`
62
+
63
+ The point is not only to start another model. The point is to make the task
64
+ auditable: what was requested, which tools were allowed, what evidence was
65
+ expected, and how the result should be collected.
66
+
67
+ ### 2. Multi-agent pipelines
68
+
69
+ `taskPipeline` dispatches multiple named groups. It is designed for fan-out work
70
+ such as:
71
+
72
+ - multi-perspective audits
73
+ - competing implementation ideas
74
+ - independent research slices
75
+ - batch code review
76
+ - large workspace inventory
77
+ - task trees where each group has a different prompt
78
+
79
+ It can wait for completion, stop waiting after `maxWait`, or fire-and-return
80
+ when the caller wants to collect results later through the inbox and task-state
81
+ artifacts.
82
+
83
+ ### 3. Completion inbox
9
84
 
10
- ## What sc Provides
85
+ The `scInbox` tool and sidecar endpoints turn sub-agent results into completion
86
+ events:
11
87
 
12
- | Area | Capability |
88
+ - `pending` returns unacknowledged completions.
89
+ - `recent` returns recent completions, including acknowledged ones.
90
+ - `report` builds a concise completion report.
91
+ - `ack` marks events handled.
92
+ - `stats` gives inbox health.
93
+
94
+ This solves a practical coordination issue: the main agent can know that a
95
+ sub-agent finished, while the human chat can stay clean. A deployment can run in
96
+ `notify-only` mode so completion state is delivered to the host without
97
+ injecting every sub-agent result into the user-facing conversation.
98
+
99
+ ### 4. Tool bridge
100
+
101
+ sc exposes a compact MCP-style tool surface:
102
+
103
+ | Tool | Purpose |
13
104
  | --- | --- |
14
- | Sub-agent orchestration | Dispatches bounded sub-agent tasks and records completion artifacts. |
15
- | MCP tool bridge | Exposes search, memory, file, code, worker, and pipeline tools through a bridge layer. |
16
- | Local worker path | Runs deterministic local worker jobs without spending model tokens. |
17
- | Memory helpers | Provides SQLite, FTS, and optional vector-search helper modules. |
18
- | Sidecar integration | Receives sub-agent completion events through a sidecar server and inbox flow. |
19
- | Safety controls | Includes prompt-injection checks, blocked-tool rules, and emergency stop boundaries. |
105
+ | `stats` | Worker pool and queue snapshot. |
106
+ | `memorySearch` | Smart memory lookup, dialog search, semantic search, full query, or compressed recall. |
107
+ | `webSearch` | Web search and web fetch through configured backends. |
108
+ | `glob` | Workspace file discovery. |
109
+ | `grep` | Fast ripgrep-backed search with bounded output modes. |
110
+ | `codeEditor` | Review or precise text replacement edits. |
111
+ | `batchVision` | Serial image analysis for GPU-friendly visual inspection. |
112
+ | `fileManager` | Read, write, list, copy, and move within allowed boundaries. |
113
+ | `spawnWorker` | Local deterministic worker tasks. |
114
+ | `spawnAgent` | Single AI sub-agent task. |
115
+ | `taskPipeline` | Multi-group AI task orchestration. |
116
+ | `scInbox` | Completion event collection and acknowledgement. |
117
+ | `validate` | Syntax, module-load, and diff validation for sub-agent edits. |
118
+ | `emergencyStop` | Explicit high-risk stop path. Not for routine status checks. |
119
+
120
+ ### 5. Local worker path
121
+
122
+ Not every task needs another model call. The worker lane is for deterministic,
123
+ cheap, local work:
124
+
125
+ - keyword search
126
+ - file analysis
127
+ - semantic helper jobs
128
+ - diff checks
129
+ - pool stats
130
+
131
+ The plugin entry maintains worker-pool behavior such as queue handling, worker
132
+ replacement, and backpressure-oriented status reporting. This gives the agent a
133
+ faster path for mechanical work and keeps model budget for judgment-heavy work.
134
+
135
+ ### 6. Safety model
136
+
137
+ sc intentionally gives sub-agents a narrower tool surface than the main agent.
138
+ For example:
139
+
140
+ - sub-agents cannot call `spawnAgent`
141
+ - sub-agents cannot call `taskPipeline`
142
+ - sub-agents cannot call `scInbox`
143
+ - sub-agents cannot call `batchVision`
144
+ - sub-agents cannot use `emergencyStop`
145
+ - file operations do not expose delete
146
+ - write operations are restricted by workspace policy
147
+ - validation is available to sub-agents after code edits
148
+
149
+ This does not make arbitrary tasks safe by itself. It gives the host a clearer
150
+ place to enforce task cards, budgets, tool policy, and review gates.
151
+
152
+ ## Typical Use Cases
153
+
154
+ - Let one main OpenClaw agent dispatch 3 to 10 bounded review tasks and collect
155
+ structured completion events.
156
+ - Run a background search or workspace inventory without flooding the chat.
157
+ - Give sub-agents enough tools to inspect and edit code while blocking recursive
158
+ spawning and emergency controls.
159
+ - Combine AI sub-agents with zero-token local workers for faster triage.
160
+ - Keep memory and web retrieval short enough for a main agent to verify.
161
+ - Build a task pipeline where each slice has its own model, timeout, and
162
+ success criteria.
163
+ - Keep human-facing chat focused on decisions while machine-facing inboxes
164
+ carry raw completion state.
165
+
166
+ ## Architecture
167
+
168
+ ```text
169
+ OpenClaw main agent
170
+ -> tools/bridge.js
171
+ -> grep / glob / memorySearch / webSearch / fileManager / codeEditor
172
+ -> spawnWorker -> workers/worker.js
173
+ -> spawnAgent -> tools/sidecar/subagent-runner.cjs
174
+ -> taskPipeline -> multiple sub-agent runner tasks
175
+ -> tools/sidecar/sidecar-server.cjs
176
+ -> completion inbox
177
+ -> task state artifacts
178
+ -> pending / recent / report / ack / stats
179
+ ```
180
+
181
+ The bridge is the tool boundary. The sidecar is the completion and task-state
182
+ boundary. The worker pool is the deterministic local execution boundary.
20
183
 
21
184
  ## Requirements
22
185
 
@@ -70,14 +233,17 @@ Keep real secrets out of git. Common settings:
70
233
  | `SC_RG_PATH` | Optional explicit path to `rg`; otherwise sc tries bundled rg, then system `rg`. |
71
234
  | `SC_SIDECAR_PORT` | Sidecar port when the sidecar server is used. |
72
235
  | `SC_INBOX_DELIVERY_MODE` | Inbox completion delivery mode, for example `notify-only`. |
236
+ | `SC_INBOX_NOTIFY_ACK` | Whether background notification should acknowledge delivered inbox events. |
73
237
  | `SC_INBOX_CHAT_INJECT` | Whether inbox completion messages are injected into chat. |
238
+ | `SC_INBOX_AUTO_NOTIFY` | Whether the bridge should notify the host automatically when completions arrive. |
74
239
 
75
240
  ## Main Files
76
241
 
77
242
  | Path | Purpose |
78
243
  | --- | --- |
79
- | `index.js` | OpenClaw plugin entry. |
244
+ | `index.js` | OpenClaw plugin entry and worker-pool integration. |
80
245
  | `openclaw.plugin.json` | Plugin metadata and tool contracts. |
246
+ | `tools/mcp-tools.config.json` | Public tool schema and main/sub-agent tool boundaries. |
81
247
  | `lib/` | Core routing, task, memory, security, and orchestration modules. |
82
248
  | `tools/bridge.js` | Tool bridge and MCP-style tool handlers. |
83
249
  | `tools/sidecar/sidecar-server.cjs` | Sidecar server for completion delivery. |
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "id": "sc",
3
3
  "name": "sc",
4
- "version": "5.38.0",
5
- "description": "sc v5.38.0",
4
+ "version": "5.38.1",
5
+ "description": "sc v5.38.1 - OpenClaw agent control plane with sub-agent orchestration, tool routing, worker jobs, completion inboxes, and validation guardrails.",
6
6
  "activation": {
7
7
  "onStartup": true
8
8
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openclaw-sc",
3
- "version": "5.38.0",
4
- "description": "OpenClaw sc plugin for sub-agent orchestration, MCP tool routing, local worker tasks, and memory retrieval.",
3
+ "version": "5.38.1",
4
+ "description": "OpenClaw agent control plane for sub-agent orchestration, MCP tool routing, completion inboxes, worker jobs, memory/search, and validation guardrails.",
5
5
  "changelog": "v5.5.0 → v5.7.1: 司令铁律补丁(patch-before-tool-call.ps1) / 内置工具走before_tool_call / 路由守卫全覆盖 / 备份加时间戳防回滚旧版 / 紧急模式恢复防抖60秒",
6
6
  "changelogDetail": "v5.7.1: 路由修复: routeQuick集成L0-L7分类 / 代码去重 / 文档同步",
7
7
  "type": "module",
@@ -41,7 +41,11 @@
41
41
  "openclaw",
42
42
  "agent",
43
43
  "subagent",
44
+ "agent-control-plane",
45
+ "orchestration",
46
+ "completion-inbox",
44
47
  "mcp",
48
+ "tool-bridge",
45
49
  "memory",
46
50
  "worker"
47
51
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1",
3
- "description": "sc MCP tools 统一配置 v5.38.0,14个工具",
3
+ "description": "sc MCP tools unified config - v5.38.1, 14 tools",
4
4
  "apiKeys": {
5
5
  "deepseek": "",
6
6
  "tavily": ""