dsh-plugin-subagent-director 0.5.0 → 0.5.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/CHANGELOG.md +18 -0
- package/README.md +3 -3
- package/package.json +61 -46
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
本项目的所有显著变更都会记录在此文件中。格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循 [SemVer](https://semver.org/lang/zh-CN/)。
|
|
4
4
|
|
|
5
|
+
## [0.5.1] - 2026-09-22
|
|
6
|
+
|
|
7
|
+
### 变更
|
|
8
|
+
|
|
9
|
+
- **新增 `dsh.compatibility` 声明**(DSH STORE 上架契约):`dsh` 字段下新增
|
|
10
|
+
`compatibility`(保留原 `bundle` / `client`),逐版本声明兼容矩阵——`dshReleases`
|
|
11
|
+
中 `0.1.5-rc.1` / `0.1.5-rc.2` / `0.1.6-alpha.2` 均为 `compatible`(三版本均已在本机
|
|
12
|
+
真实装载运行,插件正常加载、零错误);未实测的版本不声明(扫描时按 `unknown` 处理)。
|
|
13
|
+
- **`node` 范围判定为 `>=20`**:本仓库 `package.json` 未声明 `engines`、README 亦无 Node
|
|
14
|
+
要求。判定依据——`tsconfig.json` 的 `target`/`lib` 均为 `ES2023`(完整 ES2023 内建能力
|
|
15
|
+
对应 Node 20 的 V8),CI 在 Node 22 上执行 typecheck/test/build,且同作者的
|
|
16
|
+
`dsh-yolo-mode` / `dsh-notify-windows` 均声明 `>=20`。代码中未使用 `Symbol.dispose`
|
|
17
|
+
等 Node 20 独占 API,故此处为声明性的支持下限,而非编译期硬约束。
|
|
18
|
+
|
|
19
|
+
### 测试
|
|
20
|
+
|
|
21
|
+
- `npm run typecheck`、`npm test`、`npm run build` 全部通过(与 CI 步骤一致)。
|
|
22
|
+
|
|
5
23
|
## [0.5.0] - 2026-09-04
|
|
6
24
|
|
|
7
25
|
### 变更
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<img alt="npm version" src="https://img.shields.io/npm/v/dsh-plugin-subagent-director?label=npm">
|
|
7
7
|
<img alt="license" src="https://img.shields.io/npm/l/dsh-plugin-subagent-director">
|
|
8
|
-
<img alt="DeepSeek Harness" src="https://img.shields.io/badge/DeepSeek%20Harness-0.1.2--
|
|
8
|
+
<img alt="DeepSeek Harness" src="https://img.shields.io/badge/DeepSeek%20Harness-0.1.2--rc.1-blue">
|
|
9
9
|
<img alt="Awesome DSH Plugin" src="https://awesome-dsh-plugin.com/badge.svg">
|
|
10
10
|
</p>
|
|
11
11
|
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
## 与官方子代理选择器的适配
|
|
37
37
|
|
|
38
|
-
> **兼容性**:v0.5.0 支持 DSH **0.1.2-alpha.4
|
|
38
|
+
> **兼容性**:v0.5.0 支持 DSH **0.1.2-alpha.4+**,已在当前运行时 **0.1.2-rc.1** 实测(`alpha4-probe` + real-cordis 探针 278/278 通过,实测 alpha.4/alpha.5/0.1.2-rc.1 依赖集)。旧版 DSH(0.1.0-rc.6 及更早)请使用最后兼容的 npm 版本 **0.4.0**。
|
|
39
39
|
|
|
40
40
|
DSH alpha.4 起,官方内置 subagent 的模型选择收敛到 `subagent-model-selection` 设置段(`allowedModels` 授权列表)。本插件 v0.5.0 完全适配该机制:
|
|
41
41
|
|
|
@@ -225,6 +225,6 @@ DSH 的 Web API 只向白名单内的 settings 命名空间开放读写。本插
|
|
|
225
225
|
- **Release continuable children** — a model-facing `close_subagent(subagent_id)` tool plus a "Release subagent" button in the subagent session header, freeing resident children through the core `drainContinuableChildren` API;
|
|
226
226
|
- **Observability** — the addressed subagent’s actual provider/model shown under the composer, read from the session’s `request/header` records (graceful degradation when no run is recorded yet).
|
|
227
227
|
|
|
228
|
-
**Official subagent selector adaptation (v0.5.0+)** — since DSH alpha.4 the built-in subagent constrains model selection to the official `subagent-model-selection` allowlist (`allowedModels`). v0.5.0 aligns with it: routes are selected only from the allowlist (unauthorized explicit routes hard-fail; unauthorized default/role routes are dropped and fall back to inheritance), the rc-era `applyDefaultRoute` patch seam is removed (no double-writing of model routes with the official selector), and the client half no longer references the rc-era `dsh-client-runtime` package. **Compatibility**: v0.5.0 targets DSH **0.1.2-alpha.4
|
|
228
|
+
**Official subagent selector adaptation (v0.5.0+)** — since DSH alpha.4 the built-in subagent constrains model selection to the official `subagent-model-selection` allowlist (`allowedModels`). v0.5.0 aligns with it: routes are selected only from the allowlist (unauthorized explicit routes hard-fail; unauthorized default/role routes are dropped and fall back to inheritance), the rc-era `applyDefaultRoute` patch seam is removed (no double-writing of model routes with the official selector), and the client half no longer references the rc-era `dsh-client-runtime` package. **Compatibility**: v0.5.0 targets DSH **0.1.2-alpha.4+**, verified on the current runtime **0.1.2-rc.1**; for older DSH releases use npm version **0.4.0**.
|
|
229
229
|
|
|
230
230
|
**Install** — `dsh plugin --profile <name> add dsh-plugin-subagent-director` mounts the main and bridge entries automatically from the package's bundle patch (`cordis.patch.yml`); optionally override the main entry's config in your profile's cordis.patch.yml (see the Chinese section above). License: MIT.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-subagent-director",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Subagent Director: choose an LLM provider/model for each subagent (call args > role binding > plugin default > inherit parent) and plan main-agent/subagent responsibilities with role templates, plus a settings UI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -51,6 +51,14 @@
|
|
|
51
51
|
"remote"
|
|
52
52
|
],
|
|
53
53
|
"platform": "web"
|
|
54
|
+
},
|
|
55
|
+
"compatibility": {
|
|
56
|
+
"dshReleases": {
|
|
57
|
+
"0.1.5-rc.1": "compatible",
|
|
58
|
+
"0.1.5-rc.2": "compatible",
|
|
59
|
+
"0.1.6-alpha.2": "compatible"
|
|
60
|
+
},
|
|
61
|
+
"node": ">=20"
|
|
54
62
|
}
|
|
55
63
|
},
|
|
56
64
|
"keywords": [
|
|
@@ -71,53 +79,53 @@
|
|
|
71
79
|
"license": "MIT",
|
|
72
80
|
"peerDependencies": {
|
|
73
81
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
74
|
-
"@deepseek-ai/dsh-agent": "^0.1.
|
|
75
|
-
"@deepseek-ai/dsh-client-connection": "^0.1.
|
|
76
|
-
"@deepseek-ai/dsh-api-remotes": "^0.1.
|
|
77
|
-
"@deepseek-ai/dsh-api-session-controller": "^0.1.
|
|
78
|
-
"@deepseek-ai/dsh-client-locale": "^0.1.
|
|
79
|
-
"@deepseek-ai/dsh-client-store": "^0.1.
|
|
80
|
-
"@deepseek-ai/dsh-client-ui-chat": "^0.1.
|
|
81
|
-
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-session": "^0.1.
|
|
84
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.
|
|
85
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.1.
|
|
82
|
+
"@deepseek-ai/dsh-agent": "^0.1.5-rc.1",
|
|
83
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.5-rc.1",
|
|
84
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.5-rc.1",
|
|
85
|
+
"@deepseek-ai/dsh-api-session-controller": "^0.1.5-rc.1",
|
|
86
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.5-rc.1",
|
|
87
|
+
"@deepseek-ai/dsh-client-store": "^0.1.5-rc.1",
|
|
88
|
+
"@deepseek-ai/dsh-client-ui-chat": "^0.1.5-rc.1",
|
|
89
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.5-rc.1",
|
|
90
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.5-rc.1",
|
|
91
|
+
"@deepseek-ai/dsh-client-ui-session": "^0.1.5-rc.1",
|
|
92
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.5-rc.1",
|
|
93
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.1",
|
|
86
94
|
"@deepseek-ai/dsh-host-apiproxy": "^0.1.1-rc.2",
|
|
87
|
-
"@deepseek-ai/dsh-llm": "^0.1.
|
|
88
|
-
"@deepseek-ai/dsh-session": "^0.1.
|
|
89
|
-
"@deepseek-ai/dsh-session-projection": "^0.1.
|
|
90
|
-
"@deepseek-ai/dsh-settings": "^0.1.
|
|
91
|
-
"@deepseek-ai/dsh-subagent": "^0.1.
|
|
92
|
-
"@deepseek-ai/dsh-system-prompt": "^0.1.
|
|
93
|
-
"@deepseek-ai/dsh-tools": "^0.1.
|
|
95
|
+
"@deepseek-ai/dsh-llm": "^0.1.5-rc.1",
|
|
96
|
+
"@deepseek-ai/dsh-session": "^0.1.5-rc.1",
|
|
97
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.5-rc.1",
|
|
98
|
+
"@deepseek-ai/dsh-settings": "^0.1.5-rc.1",
|
|
99
|
+
"@deepseek-ai/dsh-subagent": "^0.1.5-rc.1",
|
|
100
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.5-rc.1",
|
|
101
|
+
"@deepseek-ai/dsh-tools": "^0.1.5-rc.1",
|
|
94
102
|
"react": "^18.2.0"
|
|
95
103
|
},
|
|
96
104
|
"devDependencies": {
|
|
97
105
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
98
|
-
"@deepseek-ai/dsh-agent": "^0.1.
|
|
99
|
-
"@deepseek-ai/dsh-client-connection": "^0.1.
|
|
100
|
-
"@deepseek-ai/dsh-api-remotes": "^0.1.
|
|
101
|
-
"@deepseek-ai/dsh-api-session-controller": "^0.1.
|
|
102
|
-
"@deepseek-ai/dsh-client-locale": "^0.1.
|
|
103
|
-
"@deepseek-ai/dsh-client-store": "^0.1.
|
|
104
|
-
"@deepseek-ai/dsh-client-ui-chat": "^0.1.
|
|
105
|
-
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.
|
|
106
|
-
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.
|
|
107
|
-
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.
|
|
108
|
-
"@deepseek-ai/dsh-client-ui-session": "^0.1.
|
|
109
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.
|
|
110
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.1.
|
|
106
|
+
"@deepseek-ai/dsh-agent": "^0.1.5-rc.1",
|
|
107
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.5-rc.1",
|
|
108
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.5-rc.1",
|
|
109
|
+
"@deepseek-ai/dsh-api-session-controller": "^0.1.5-rc.1",
|
|
110
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.5-rc.1",
|
|
111
|
+
"@deepseek-ai/dsh-client-store": "^0.1.5-rc.1",
|
|
112
|
+
"@deepseek-ai/dsh-client-ui-chat": "^0.1.5-rc.1",
|
|
113
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.5-rc.1",
|
|
114
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.5-rc.1",
|
|
115
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.5-rc.1",
|
|
116
|
+
"@deepseek-ai/dsh-client-ui-session": "^0.1.5-rc.1",
|
|
117
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.5-rc.1",
|
|
118
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.1",
|
|
111
119
|
"@deepseek-ai/dsh-host-apiproxy": "^0.1.1-rc.2",
|
|
112
|
-
"@deepseek-ai/dsh-llm": "^0.1.
|
|
113
|
-
"@deepseek-ai/dsh-scope": "^0.1.
|
|
114
|
-
"@deepseek-ai/dsh-session": "^0.1.
|
|
115
|
-
"@deepseek-ai/dsh-session-projection": "^0.1.
|
|
116
|
-
"@deepseek-ai/dsh-settings": "^0.1.
|
|
117
|
-
"@deepseek-ai/dsh-subagent": "^0.1.
|
|
118
|
-
"@deepseek-ai/dsh-system-prompt": "^0.1.
|
|
119
|
-
"@deepseek-ai/dsh-tools": "^0.1.
|
|
120
|
-
"@deepseek-ai/dsh-util-values": "^0.1.
|
|
120
|
+
"@deepseek-ai/dsh-llm": "^0.1.5-rc.1",
|
|
121
|
+
"@deepseek-ai/dsh-scope": "^0.1.5-rc.1",
|
|
122
|
+
"@deepseek-ai/dsh-session": "^0.1.5-rc.1",
|
|
123
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.5-rc.1",
|
|
124
|
+
"@deepseek-ai/dsh-settings": "^0.1.5-rc.1",
|
|
125
|
+
"@deepseek-ai/dsh-subagent": "^0.1.5-rc.1",
|
|
126
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.5-rc.1",
|
|
127
|
+
"@deepseek-ai/dsh-tools": "^0.1.5-rc.1",
|
|
128
|
+
"@deepseek-ai/dsh-util-values": "^0.1.5-rc.1",
|
|
121
129
|
"@deepseek-ai/schemastery": "^3.18.1",
|
|
122
130
|
"@types/node": "^26.2.0",
|
|
123
131
|
"@types/react": "^18.3.1",
|
|
@@ -128,9 +136,16 @@
|
|
|
128
136
|
"typescript": "^7.0.2",
|
|
129
137
|
"use-sync-external-store": "^1.2.0",
|
|
130
138
|
"vitest": "^4.1.10",
|
|
131
|
-
"@deepseek-ai/dsh-util-time": "^0.1.
|
|
132
|
-
"@deepseek-ai/dsh-typert-protocol": "^0.1.
|
|
133
|
-
"@deepseek-ai/dsh-attachment": "^0.1.
|
|
134
|
-
"@deepseek-ai/dsh-brand": "^0.1.
|
|
139
|
+
"@deepseek-ai/dsh-util-time": "^0.1.5-rc.1",
|
|
140
|
+
"@deepseek-ai/dsh-typert-protocol": "^0.1.5-rc.1",
|
|
141
|
+
"@deepseek-ai/dsh-attachment": "^0.1.5-rc.1",
|
|
142
|
+
"@deepseek-ai/dsh-brand": "^0.1.5-rc.1",
|
|
143
|
+
"zustand": "~4.4.7",
|
|
144
|
+
"immer": "^10.1.1"
|
|
145
|
+
},
|
|
146
|
+
"overrides": {
|
|
147
|
+
"@deepseek-ai/dsh-agent-presets": "^0.1.5-rc.1",
|
|
148
|
+
"@deepseek-ai/dsh-invariants": "^0.1.5-rc.1",
|
|
149
|
+
"@deepseek-ai/dsh-cordis-host-runner": "^0.1.5-rc.1"
|
|
135
150
|
}
|
|
136
151
|
}
|