@deepseek-ai/dsh-subagent-acp 0.0.1-rc.2 → 0.1.0-rc.2
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/LICENSE +17 -24
- package/README.i18n.yaml +1 -1
- package/README.zh.md +3 -3
- package/package.json +22 -22
package/LICENSE
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026
|
|
3
|
+
Copyright (c) 2026 DeepSeek
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
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/subagent-acp/README.md
|
|
5
5
|
README.md: 3bccddbca021bed1f8bf5766b9575f3bd7441669
|
|
6
|
-
README.zh.md:
|
|
6
|
+
README.zh.md: 38c882f240dcdd02213acecf266f5a2424b37cce
|
package/README.zh.md
CHANGED
|
@@ -6,7 +6,7 @@ ACP(Agent Client Protocol)提供方会在全新的子进程中运行每个 s
|
|
|
6
6
|
|
|
7
7
|
## 启动与所有权
|
|
8
8
|
|
|
9
|
-
`start(request)` 先解析子 agent 的工作目录,再依次执行 `spawn` → ACP `initialize` → `newSession`,然后才兑现。因此,兑现表示远程会话已就绪,所有权也已转移给调用方。spawn
|
|
9
|
+
`start(request)` 先解析子 agent 的工作目录,再依次执行 `spawn` → ACP `initialize` → `newSession`,然后才兑现。因此,兑现表示远程会话已就绪,所有权也已转移给调用方。spawn 失败、初始化失败、新建会话失败或因发布前取消而失败时,只有在子进程已回收后才会拒绝;工作目录解析失败则会在尚未 spawn 任何进程时拒绝。
|
|
10
10
|
|
|
11
11
|
工作目录优先使用已配置的 `cwd` 覆盖值,否则使用执行委派的父会话 cwd,绝不使用服务器进程自身的 cwd,因为同一个服务器进程会服务来自多个工作区的会话。从父级取得的值必须是绝对路径,指向 harness 可以进入的目录(具备搜索权限,这是子进程 cwd 的要求);解析后的同一路径同时作为子进程 cwd 和 ACP `session/new` 工作区。
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ ACP(Agent Client Protocol)提供方会在全新的子进程中运行每个 s
|
|
|
14
14
|
|
|
15
15
|
发布后,提供方发送提示词,并把流式 `agent_message_chunk` 文本收集到 `SubagentResult.output`。提示词/传输失败会以 `stopReason: 'error'` 兑现;如果必需的请求信号或 dispose(资源释放)请求了取消,则以 `aborted` 兑现。
|
|
16
16
|
|
|
17
|
-
`dispose()` 是幂等的。它会移除信号监听器,在可行时请求 ACP
|
|
17
|
+
`dispose()` 是幂等的。它会移除信号监听器,在可行时请求 ACP 取消,然后使用该 seam 定义的操作运行本后端自有的拆卸阶梯(`disposeAcpChild`):先关闭 stdin 并等待 `disposeEofGraceMs` 让子进程协作式完全停稳,再触发句柄的 `terminate()` 升级(SIGTERM、spawn 宽限期、SIGKILL——Windows 直接强制终止),并等待子进程责任方给出整棵进程树的退出证明。每次运行都使用全新进程;尚未实现进程池。
|
|
18
18
|
|
|
19
19
|
## 能力与上下文
|
|
20
20
|
|
|
@@ -94,7 +94,7 @@ ACP 不声明任何启动时能力,因为当前进程无法强制执行远程
|
|
|
94
94
|
## 已知限制与暂缓事项
|
|
95
95
|
|
|
96
96
|
- **每次运行使用全新进程**:持久进程池属于后续优化(见 [seam Agent Note](../../../.agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.md))。
|
|
97
|
-
- **仅支持本地工作区**:解析后的 cwd 是交给同一台机器上子进程的本地路径;远程 ACP agent
|
|
97
|
+
- **仅支持本地工作区**:解析后的 cwd 是交给同一台机器上子进程的本地路径;远程 ACP agent 的工作区映射需要独立的后端能力,此处尚未设计这种能力。
|
|
98
98
|
- **不支持可选启动时能力**:该提供方无法在远程进程内应用本地 harness 的 `outputSchema`、深度上限、工具过滤器或 persona,因此不会声明这些能力;服务会拒绝需要它们的请求。
|
|
99
99
|
- **只收集已提交的 `agent_message_chunk` 文本**:自动化服务器把推理(reasoning)、工具活动、计划和其他 trace 数据保留在子 agent 会话日志中,不通过 ACP 发出。
|
|
100
100
|
- **权限提示自动回答**(`permission: allow | reject`):不会把子 agent 的 `session/request_permission` 呈现给人。
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-subagent-acp",
|
|
3
3
|
"description": "Out-of-process ACP subagent backend: drives a child agent in a spawned subprocess over the Agent Client Protocol",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0-rc.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
7
7
|
},
|
|
@@ -30,32 +30,32 @@
|
|
|
30
30
|
"lib/invariant.js",
|
|
31
31
|
"lib/types/**/*.d.ts"
|
|
32
32
|
],
|
|
33
|
-
"license": "
|
|
33
|
+
"license": "MIT",
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@deepseek-ai/dsh-agent": "^0.0
|
|
36
|
-
"@deepseek-ai/dsh-
|
|
37
|
-
"@deepseek-ai/dsh-
|
|
38
|
-
"@deepseek-ai/dsh-session": "^0.0
|
|
39
|
-
"@deepseek-ai/dsh-subagent": "^0.0
|
|
40
|
-
"@deepseek-ai/dsh-subprocess": "^0.0
|
|
41
|
-
"@deepseek-ai/dsh-timeout": "^0.0
|
|
42
|
-
"@deepseek-ai/cordis": "^4.0.1
|
|
35
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.2",
|
|
36
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.2",
|
|
37
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.2",
|
|
38
|
+
"@deepseek-ai/dsh-session": "^0.1.0-rc.2",
|
|
39
|
+
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.2",
|
|
40
|
+
"@deepseek-ai/dsh-subprocess": "^0.1.0-rc.2",
|
|
41
|
+
"@deepseek-ai/dsh-timeout": "^0.1.0-rc.2",
|
|
42
|
+
"@deepseek-ai/cordis": "^4.0.1"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@agentclientprotocol/sdk": "0.25.1",
|
|
46
|
-
"@deepseek-ai/schemastery": "^3.18.1
|
|
46
|
+
"@deepseek-ai/schemastery": "^3.18.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@deepseek-ai/
|
|
50
|
-
"@deepseek-ai/dsh-
|
|
51
|
-
"@deepseek-ai/dsh-
|
|
52
|
-
"@deepseek-ai/
|
|
53
|
-
"@deepseek-ai/dsh-loader-smoke": "^0.0
|
|
54
|
-
"@deepseek-ai/dsh-session": "^0.0
|
|
55
|
-
"@deepseek-ai/dsh-subagent": "^0.0
|
|
56
|
-
"@deepseek-ai/dsh-subprocess": "^0.0
|
|
57
|
-
"@deepseek-ai/dsh-
|
|
58
|
-
"@deepseek-ai/dsh-
|
|
59
|
-
"@deepseek-ai/cordis": "^4.0.1
|
|
49
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.2",
|
|
50
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.2",
|
|
51
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.2",
|
|
52
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.2",
|
|
53
|
+
"@deepseek-ai/dsh-loader-smoke": "^0.1.0-rc.2",
|
|
54
|
+
"@deepseek-ai/dsh-session": "^0.1.0-rc.2",
|
|
55
|
+
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.2",
|
|
56
|
+
"@deepseek-ai/dsh-subprocess": "^0.1.0-rc.2",
|
|
57
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.0-rc.2",
|
|
58
|
+
"@deepseek-ai/dsh-timeout": "^0.1.0-rc.2",
|
|
59
|
+
"@deepseek-ai/cordis": "^4.0.1"
|
|
60
60
|
}
|
|
61
61
|
}
|