@deepseek-ai/dsh-tool-subagent-control 0.1.5-rc.2 → 0.1.6-alpha.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.i18n.yaml +1 -1
- package/README.zh.md +12 -12
- package/package.json +20 -20
package/README.i18n.yaml
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/subagent/tool-subagent-control/README.md
|
|
5
5
|
README.md: 99ca52dd4a7ea2629441c4d661632b8598c8171d
|
|
6
|
-
README.zh.md:
|
|
6
|
+
README.zh.md: 1ff49a3179dbe61db1a9353e2fab131082cb29ae
|
package/README.zh.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "
|
|
2
|
+
description: "供用户与维护者在组合或调试可继续子级控制功能时使用的全局 send_message、interrupt_agent 与 list_agents 工具。"
|
|
3
3
|
kind: "package-reference"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ kind: "package-reference"
|
|
|
9
9
|
|
|
10
10
|
## 概述
|
|
11
11
|
|
|
12
|
-
`dsh-tool-subagent-control` 为可继续子级添加全局控制工具:`send_message`
|
|
12
|
+
`dsh-tool-subagent-control` 为可继续子级添加全局控制工具:`send_message` 在直接父级与子级之间进行 steering(中途引导),`interrupt_agent` 停止子级当前轮次但保留其收件箱与后代,`list_agents`(来自可单独加载的 `list-agents` 插件)按持久化 ID 与标签列出可继续子级。父级与可继续子级继承相同的 `send_message` 定义和顺序,因此模型通信不会增加子级专属工具 schema。是否加载这些工具不会决定委派工具是否启动可继续工作。
|
|
13
13
|
|
|
14
14
|
## 目录
|
|
15
15
|
|
|
@@ -46,15 +46,15 @@ kind: "package-reference"
|
|
|
46
46
|
|
|
47
47
|
### send_message
|
|
48
48
|
|
|
49
|
-
向 `agent_id` 指定的 Agent 发送消息:任何确切在线 Agent
|
|
49
|
+
向 `agent_id` 指定的 Agent 发送消息:任何确切在线 Agent 都可以向自己的直接可继续子级发送消息,驻留的可继续子级还可以向自己的直接父级发送消息。正在工作的目标通过 Steer 在最近的步骤边界接收消息;空闲目标会启动一个轮次,冷状态的直接子级会通过继续执行生命周期恢复。调用只返回接受结果(被接受消息的稳定 `messageId`),绝不返回回复。失败——不受支持的目标、不可用的父级、未知子级、缺少描述符而无法恢复的子级,或准入被拒——会明确说明消息未送达。
|
|
50
50
|
|
|
51
51
|
### interrupt_agent
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
只停止目标当前轮次:已排队消息保持暂停,直到之后调用 `send_message`;后代继续运行,子级仍可接受后续消息。调用在停止请求被接受后立即返回,不等待目标完全停稳;中断已结束的 agent 会被接受并按空操作处理,而自身、同级、陈旧及非祖先调用方会收到出错结果。
|
|
54
54
|
|
|
55
55
|
### list_agents
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
列出调用方 agent 下方的可继续子级:`children`(默认)只显示直接子级,`descendants` 按稳定前序遍历整棵树,并为每个条目标注其持久化直接父级会话 ID 与深度。状态来自在线 Agent 注册表——`running`、`idle` 或 `ready`。一次性子级因无法接受 `send_message` 而被有意排除,无法读取的候选项以诊断信息呈现。
|
|
58
58
|
|
|
59
59
|
-----
|
|
60
60
|
|
|
@@ -84,7 +84,7 @@ kind: "package-reference"
|
|
|
84
84
|
|---|---|
|
|
85
85
|
| [`src/index.ts`](src/index.ts) | `send_message` 与 `interrupt_agent` 注册 |
|
|
86
86
|
| [`src/list-agents.ts`](src/list-agents.ts) | `list_agents` 注册:作用域、状态细化、投影 |
|
|
87
|
-
| — |
|
|
87
|
+
| — | 不发布运行时不变式伴生入口;这个面向模型的适配器没有独立的生命周期流;投递与激活关系由其调用的 subagent 服务负责。 |
|
|
88
88
|
|
|
89
89
|
</details>
|
|
90
90
|
|
|
@@ -126,7 +126,7 @@ kind: "package-reference"
|
|
|
126
126
|
|
|
127
127
|
#### Token 影响
|
|
128
128
|
|
|
129
|
-
每次调用产生一条简短确认消息;被中断轮次的中止只在子级自己的 transcript
|
|
129
|
+
每次调用产生一条简短确认消息;被中断轮次的中止只在子级自己的 transcript(文本记录)中可见。
|
|
130
130
|
|
|
131
131
|
#### KV Cache 影响
|
|
132
132
|
|
|
@@ -136,11 +136,11 @@ kind: "package-reference"
|
|
|
136
136
|
|
|
137
137
|
#### 模型看到什么
|
|
138
138
|
|
|
139
|
-
接受时返回 `message delivered to agent <agent_id>`;规范输出携带被接受的 `messageId
|
|
139
|
+
接受时返回 `message delivered to agent <agent_id>`;规范输出携带被接受的 `messageId`。失败——非相邻目标、不可用的父级、未知子级、缺少描述符而无法恢复的子级,或准入被拒——会成为出错的结果,其消息说明该消息未送达。
|
|
140
140
|
|
|
141
141
|
#### Token 影响
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
每次调用产生一条简短确认消息;目标的响应绝不会通过本次调用返回。子级使用同一个工具,并传入其初始任务中的父级 ID,将选定内容追加到父级历史中。
|
|
144
144
|
|
|
145
145
|
#### KV Cache 影响
|
|
146
146
|
|
|
@@ -150,11 +150,11 @@ kind: "package-reference"
|
|
|
150
150
|
|
|
151
151
|
#### 模型看到什么
|
|
152
152
|
|
|
153
|
-
按稳定目录顺序,每个可继续子级占一行:`<id> [<status>] — <label>`(`running`
|
|
153
|
+
按稳定目录顺序,每个可继续子级占一行:`<id> [<status>] — <label>`(`running` 表示驱动器活跃,`idle` 表示驻留但处于轮次之间,`ready` 表示仅存于存储,可恢复而非终态),另为无法读取的候选项渲染 `<id> [diagnostic: <reason>]`。`descendants` 作用域会在每行标签的破折号之前按前序插入 ` parent=<id> depth=<n>`。一次性子级会被有意排除;`(no subagents)` 表示投影后没有留下可继续子级或诊断信息。
|
|
154
154
|
|
|
155
155
|
#### Token 影响
|
|
156
156
|
|
|
157
|
-
随所列可继续子级数量线性增长——`descendants`
|
|
157
|
+
随所列可继续子级数量线性增长——`descendants` 作用域下为整棵树;没有游标或上限,因此长期存活且有许多持久化子级的父级每次调用都会承担完整列表成本。
|
|
158
158
|
|
|
159
159
|
#### KV Cache 影响
|
|
160
160
|
|
|
@@ -168,7 +168,7 @@ kind: "package-reference"
|
|
|
168
168
|
这些限制说明控制工具无法观察或引导什么;它们是当前包约束。
|
|
169
169
|
|
|
170
170
|
- **已投递消息没有独立结果**——接受时只返回其 inbox `messageId`;目标后续工作会落入该目标的持久化会话,绝不会通过本工具收集。回复是另一条显式指定地址的 `send_message`,而非本次调用的结果。
|
|
171
|
-
- **只有受支持的相邻 Agent
|
|
171
|
+
- **只有受支持的相邻 Agent 可以通信**——每个发送方都可以向直接可继续子级发送消息;只有具备驻留可继续 Activation 的发送方可以向自己的直接父级发送消息,且该父级必须仍在线;同级与更深的后代不能作为消息目标,只有向直接子级投递才支持冷激活。
|
|
172
172
|
- **列表是快照,而非投递承诺**——它可能与发布、dispose(资源释放)或后续消息发生竞态,另一个进程也可能激活当前进程报告为 `ready` 的子级;跨进程准确性需要共享租约。`interrupt_agent` 自己执行权威的在线 lineage 检查,因此过期的发现结果不会授予权限。
|
|
173
173
|
- **没有分页或删除**——系统返回完整且稳定排序的集合;只要子级会话仍在持久化存储中,它就会继续出现在列表中,服务级上限或删除操作留待后续产品决策。
|
|
174
174
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-tool-subagent-control",
|
|
3
3
|
"description": "Globally named send_message, interrupt_agent, and list_agents tools over ctx.subagents continuations",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.6-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -33,29 +33,29 @@
|
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
36
|
-
"@deepseek-ai/dsh-llm": "^0.1.
|
|
37
|
-
"@deepseek-ai/dsh-
|
|
38
|
-
"@deepseek-ai/dsh-subagent": "^0.1.
|
|
39
|
-
"@deepseek-ai/dsh-
|
|
36
|
+
"@deepseek-ai/dsh-llm": "^0.1.6-alpha.1",
|
|
37
|
+
"@deepseek-ai/dsh-session": "^0.1.6-alpha.1",
|
|
38
|
+
"@deepseek-ai/dsh-subagent": "^0.1.6-alpha.1",
|
|
39
|
+
"@deepseek-ai/dsh-tools": "^0.1.6-alpha.1"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
43
|
-
"@deepseek-ai/dsh-agent
|
|
44
|
-
"@deepseek-ai/dsh-agent-loop
|
|
45
|
-
"@deepseek-ai/dsh-agent": "^0.1.
|
|
46
|
-
"@deepseek-ai/dsh-llm": "^0.1.
|
|
47
|
-
"@deepseek-ai/dsh-session": "^0.1.
|
|
48
|
-
"@deepseek-ai/dsh-session-persistence": "^0.1.
|
|
49
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.
|
|
50
|
-
"@deepseek-ai/dsh-session-projection": "^0.1.
|
|
51
|
-
"@deepseek-ai/dsh-session-query": "^0.1.
|
|
52
|
-
"@deepseek-ai/dsh-subagent": "^0.1.
|
|
53
|
-
"@deepseek-ai/dsh-subagent-
|
|
54
|
-
"@deepseek-ai/dsh-
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
43
|
+
"@deepseek-ai/dsh-agent": "^0.1.6-alpha.1",
|
|
44
|
+
"@deepseek-ai/dsh-agent-loop": "^0.1.6-alpha.1",
|
|
45
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.6-alpha.1",
|
|
46
|
+
"@deepseek-ai/dsh-llm": "^0.1.6-alpha.1",
|
|
47
|
+
"@deepseek-ai/dsh-session": "^0.1.6-alpha.1",
|
|
48
|
+
"@deepseek-ai/dsh-session-persistence": "^0.1.6-alpha.1",
|
|
49
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.6-alpha.1",
|
|
50
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.6-alpha.1",
|
|
51
|
+
"@deepseek-ai/dsh-session-query": "^0.1.6-alpha.1",
|
|
52
|
+
"@deepseek-ai/dsh-subagent": "^0.1.6-alpha.1",
|
|
53
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": "^0.1.6-alpha.1",
|
|
54
|
+
"@deepseek-ai/dsh-tools": "^0.1.6-alpha.1",
|
|
55
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": "^0.1.6-alpha.1"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@deepseek-ai/dsh-brand": "^0.1.
|
|
59
|
-
"@deepseek-ai/dsh-util-values": "^0.1.
|
|
58
|
+
"@deepseek-ai/dsh-brand": "^0.1.6-alpha.1",
|
|
59
|
+
"@deepseek-ai/dsh-util-values": "^0.1.6-alpha.1"
|
|
60
60
|
}
|
|
61
61
|
}
|