dsh-lead-mode 0.2.1 → 0.2.3
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 +14 -14
- package/README.zh-CN.md +14 -14
- package/cordis.patch.yml +13 -8
- package/lib/index.js +10 -3
- package/package.json +12 -7
- package/skills/lead-mode/SKILL.md +3 -3
package/README.md
CHANGED
|
@@ -101,10 +101,10 @@ The model will not pretend it can delegate, and it will not pass `subagent` off
|
|
|
101
101
|
Lead mode delegates through `spawn_teammate`, `send_message`, and `team_task_*`. Those come from the official dsh Team runtime, which this plugin does not ship.
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
dsh plugin --profile <your profile name> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.
|
|
104
|
+
dsh plugin --profile <your profile name> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.2-rc.1
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
**The version pin is required.** Without it npm resolves `latest`, which is 0.1.5-alpha.2 — built for 0.1.x hosts and it will not mount on a 0.2.
|
|
107
|
+
**The version pin is required.** Without it npm resolves `latest`, which is 0.1.5-alpha.2 — built for 0.1.x hosts and it will not mount on a 0.2.2 host. `next` points at 0.2.2-rc.1, which is the correct one. The pin also has to equal your host version (`dsh --version`): the team packages pin exact `dsh-*` peers, so an older rc installs a peer set the newer host does not satisfy. Restart dsh afterwards.
|
|
108
108
|
|
|
109
109
|
Not sure whether it is installed? Run `/lead-mode` in dsh; it reports dependency state.
|
|
110
110
|
|
|
@@ -181,15 +181,15 @@ This plugin ships none of the packages below. The host or an official bundle pro
|
|
|
181
181
|
|
|
182
182
|
| Package | Requirement | Provided by | When missing |
|
|
183
183
|
|---|---|---|---|
|
|
184
|
-
| `@deepseek-ai/dsh-experimental-agent-team-profile` | `0.2.
|
|
185
|
-
| `@deepseek-ai/dsh` | `>=0.2.
|
|
184
|
+
| `@deepseek-ai/dsh-experimental-agent-team-profile` | `0.2.2-rc.1` | You install it explicitly | Cannot delegate; `/lead-mode` returns error; startup warn |
|
|
185
|
+
| `@deepseek-ai/dsh` | `>=0.2.2-rc.1` | Host | Will not install |
|
|
186
186
|
| `@deepseek-ai/cordis` | `^4.0.5` | Host | Will not install |
|
|
187
187
|
| `@deepseek-ai/schemastery` | `^3.18.5` | Host | Will not install |
|
|
188
|
-
| `@deepseek-ai/dsh-agent-preset-registry` | `>=0.2.
|
|
189
|
-
| `@deepseek-ai/dsh-skill` | `>=0.2.
|
|
190
|
-
| `@deepseek-ai/dsh-commands` | `>=0.2.
|
|
188
|
+
| `@deepseek-ai/dsh-agent-preset-registry` | `>=0.2.2-rc.1` | Host | Preset row does not take effect; `/lead-mode` reports unknown |
|
|
189
|
+
| `@deepseek-ai/dsh-skill` | `>=0.2.2-rc.1` | Host | Skill not registered; startup warn |
|
|
190
|
+
| `@deepseek-ai/dsh-commands` | `>=0.2.2-rc.1` | Host | `/lead-mode` not registered; startup warn |
|
|
191
191
|
|
|
192
|
-
The target host version is `dshTarget` in `package.json`: `0.2.
|
|
192
|
+
The target host version is `dshTarget` in `package.json`: `0.2.2-rc.1`.
|
|
193
193
|
|
|
194
194
|
## Why the install command pins a version
|
|
195
195
|
|
|
@@ -198,10 +198,10 @@ The target host version is `dshTarget` in `package.json`: `0.2.1-rc.3`.
|
|
|
198
198
|
| dist-tag | Version | Host it fits |
|
|
199
199
|
|---|---|---|
|
|
200
200
|
| `latest` | 0.1.5-alpha.2 | 0.1.x |
|
|
201
|
-
| `alpha` | 0.2.
|
|
202
|
-
| `next` | 0.2.
|
|
201
|
+
| `alpha` | 0.2.2-alpha.3 | an earlier preview of the 0.2.2 line |
|
|
202
|
+
| `next` | 0.2.2-rc.1 | 0.2.2 |
|
|
203
203
|
|
|
204
|
-
Bare package name resolves `latest`, which installs 0.1.5-alpha.2. That build targets 0.1.x hosts and does not mount on a 0.2.
|
|
204
|
+
Bare package name resolves `latest`, which installs 0.1.5-alpha.2. That build targets 0.1.x hosts and does not mount on a 0.2.2 host. After installing it, no Team tools appear in dsh and `/lead-mode` still reports "not mounted".
|
|
205
205
|
|
|
206
206
|
Measured on 2026-10-26 with npm 11.20.0:
|
|
207
207
|
|
|
@@ -210,9 +210,9 @@ $ npm view @deepseek-ai/dsh-experimental-agent-team-profile version
|
|
|
210
210
|
0.1.5-alpha.2
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
-
So every install command in this plugin carries `@0.2.
|
|
213
|
+
So every install command in this plugin carries `@0.2.2-rc.1`: the persona prefix, the `/lead-mode` output, the startup warn, and SKILL.md. `test/preset.test.mjs` and `test/smoke.test.mjs` both assert that string, so a future edit cannot quietly drop back to the bare name.
|
|
214
214
|
|
|
215
|
-
|
|
215
|
+
`next` now points at `0.2.2-rc.1`, the build this plugin pins; `alpha` (`0.2.2-alpha.3`) is an earlier preview of the same line.
|
|
216
216
|
|
|
217
217
|
## Difference from the official standard preset
|
|
218
218
|
|
|
@@ -223,7 +223,7 @@ One place only: the persona. The other 21 rows are copied field for field from `
|
|
|
223
223
|
| persona prefix | `You are a coding agent powered by the {{model}} model.` | Chinese Lead persona plus an Agent Teams precondition check |
|
|
224
224
|
| other 21 rows | — | identical to standard, field for field |
|
|
225
225
|
|
|
226
|
-
The
|
|
226
|
+
The three classic subagent rows (`tool-subagent-control`, `tool-subagent`, `tool-subagent-fork`) stay enabled. `list_agents` now comes from `tool-subagent-control` itself, so there is no separate row for it. Nothing is disabled. The Team tools are a host decision, not a preset decision.
|
|
227
227
|
|
|
228
228
|
## Why the preset does not carry the Team runtime
|
|
229
229
|
|
package/README.zh-CN.md
CHANGED
|
@@ -101,10 +101,10 @@
|
|
|
101
101
|
Lead 模式靠 `spawn_teammate`、`send_message`、`team_task_*` 这些工具派活。它们由 dsh 官方的 Team 运行时提供,本插件不带。
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
dsh plugin --profile <你的 profile 名> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.
|
|
104
|
+
dsh plugin --profile <你的 profile 名> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.2-rc.1
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
**必须带版本号。** 不带会装到 `latest` 上的 0.1.5-alpha.2,那是给 0.1.x 宿主用的,在 0.2.
|
|
107
|
+
**必须带版本号。** 不带会装到 `latest` 上的 0.1.5-alpha.2,那是给 0.1.x 宿主用的,在 0.2.2 宿主上挂不上。`next` 指向的 0.2.2-rc.1 才对。版本号还要等于你的宿主版本(`dsh --version`):团队包把 `dsh-*` 的 peer 钉死到具体版本,老 rc 装到新宿主上,peer 对不上。装完重启 dsh。
|
|
108
108
|
|
|
109
109
|
不确定装没装?进 dsh 敲 `/lead-mode`,它会报依赖状态。
|
|
110
110
|
|
|
@@ -181,15 +181,15 @@ Lead 模式 skill 里也写了这个入口,所以派活时模型会直接让
|
|
|
181
181
|
|
|
182
182
|
| 包 | 版本要求 | 谁提供 | 缺了会怎样 |
|
|
183
183
|
|---|---|---|---|
|
|
184
|
-
| `@deepseek-ai/dsh-experimental-agent-team-profile` | `0.2.
|
|
185
|
-
| `@deepseek-ai/dsh` | `>=0.2.
|
|
184
|
+
| `@deepseek-ai/dsh-experimental-agent-team-profile` | `0.2.2-rc.1` | 用户显式安装 | 派不了活,`/lead-mode` 报 error,启动 warn |
|
|
185
|
+
| `@deepseek-ai/dsh` | `>=0.2.2-rc.1` | 宿主 | 装不上 |
|
|
186
186
|
| `@deepseek-ai/cordis` | `^4.0.5` | 宿主 | 装不上 |
|
|
187
187
|
| `@deepseek-ai/schemastery` | `^3.18.5` | 宿主 | 装不上 |
|
|
188
|
-
| `@deepseek-ai/dsh-agent-preset-registry` | `>=0.2.
|
|
189
|
-
| `@deepseek-ai/dsh-skill` | `>=0.2.
|
|
190
|
-
| `@deepseek-ai/dsh-commands` | `>=0.2.
|
|
188
|
+
| `@deepseek-ai/dsh-agent-preset-registry` | `>=0.2.2-rc.1` | 宿主 | 预设行不生效,`/lead-mode` 报「查不到」 |
|
|
189
|
+
| `@deepseek-ai/dsh-skill` | `>=0.2.2-rc.1` | 宿主 | skill 不注册,启动 warn |
|
|
190
|
+
| `@deepseek-ai/dsh-commands` | `>=0.2.2-rc.1` | 宿主 | `/lead-mode` 不注册,启动 warn |
|
|
191
191
|
|
|
192
|
-
目标宿主版本写在 `package.json` 的 `dshTarget` 字段:`0.2.
|
|
192
|
+
目标宿主版本写在 `package.json` 的 `dshTarget` 字段:`0.2.2-rc.1`。
|
|
193
193
|
|
|
194
194
|
## 为什么安装命令要带版本号
|
|
195
195
|
|
|
@@ -198,10 +198,10 @@ Lead 模式 skill 里也写了这个入口,所以派活时模型会直接让
|
|
|
198
198
|
| dist-tag | 版本 | 配哪个宿主 |
|
|
199
199
|
|---|---|---|
|
|
200
200
|
| `latest` | 0.1.5-alpha.2 | 0.1.x |
|
|
201
|
-
| `alpha` | 0.2.
|
|
202
|
-
| `next` | 0.2.
|
|
201
|
+
| `alpha` | 0.2.2-alpha.3 | 0.2.2 线早期预览 |
|
|
202
|
+
| `next` | 0.2.2-rc.1 | 0.2.2 |
|
|
203
203
|
|
|
204
|
-
裸写包名,npm 解析 `latest`,装到 0.1.5-alpha.2。这个版本是给 0.1.x 宿主用的,在 0.2.
|
|
204
|
+
裸写包名,npm 解析 `latest`,装到 0.1.5-alpha.2。这个版本是给 0.1.x 宿主用的,在 0.2.2 宿主上挂不上。装完 dsh 里看不到 Team 工具,`/lead-mode` 还是报「未挂载」。
|
|
205
205
|
|
|
206
206
|
实测(2026-10-26,npm 11.20.0):
|
|
207
207
|
|
|
@@ -210,9 +210,9 @@ $ npm view @deepseek-ai/dsh-experimental-agent-team-profile version
|
|
|
210
210
|
0.1.5-alpha.2
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
-
所以本插件里所有出现安装命令的地方都带 `@0.2.
|
|
213
|
+
所以本插件里所有出现安装命令的地方都带 `@0.2.2-rc.1`:persona prefix、`/lead-mode` 输出、启动 warn、SKILL.md。`test/preset.test.mjs` 与 `test/smoke.test.mjs` 都断言这个字符串在,防止以后被改回裸包名。
|
|
214
214
|
|
|
215
|
-
|
|
215
|
+
`next` 现在指向 `0.2.2-rc.1`,就是本插件钉的版本;`alpha`(`0.2.2-alpha.3`)是同一条线的早期预览。
|
|
216
216
|
|
|
217
217
|
## 与官方 standard 预设的差异
|
|
218
218
|
|
|
@@ -223,7 +223,7 @@ $ npm view @deepseek-ai/dsh-experimental-agent-team-profile version
|
|
|
223
223
|
| persona prefix | `You are a coding agent powered by the {{model}} model.` | 中文 Lead 人设 + Agent Teams 前置检查 |
|
|
224
224
|
| 其余 21 行 | — | 与 standard 逐字段相同 |
|
|
225
225
|
|
|
226
|
-
classic subagent
|
|
226
|
+
classic subagent 三行(`tool-subagent-control`、`tool-subagent`、`tool-subagent-fork`)保持启用,没有禁用。`list_agents` 现在由 `tool-subagent-control` 自己注册,不再单列一行。Team 工具由 host 决定,不由预设决定。
|
|
227
227
|
|
|
228
228
|
## 为什么预设里不塞 Team 运行时
|
|
229
229
|
|
package/cordis.patch.yml
CHANGED
|
@@ -16,10 +16,13 @@
|
|
|
16
16
|
# agent, so it belongs to the host plane, not to a preset row. Users turn it on
|
|
17
17
|
# with the official profile package:
|
|
18
18
|
#
|
|
19
|
-
# dsh plugin --profile <name> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.
|
|
19
|
+
# dsh plugin --profile <name> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.2-rc.1
|
|
20
20
|
#
|
|
21
21
|
# The version pin matters: bare `npm i` resolves `latest`, which is 0.1.5-alpha.2
|
|
22
|
-
# and does not mount on a 0.2.
|
|
22
|
+
# and does not mount on a 0.2.2 host. `next` points at 0.2.2-rc.1. The pin must
|
|
23
|
+
# equal the host version (`dsh --version`): the team packages pin exact `dsh-*`
|
|
24
|
+
# peers, so a profile built for an older rc installs peers this host does not
|
|
25
|
+
# satisfy.
|
|
23
26
|
- insert:
|
|
24
27
|
- id: dsh-lead-mode
|
|
25
28
|
name: 'dsh-lead-mode'
|
|
@@ -41,9 +44,9 @@
|
|
|
41
44
|
|
|
42
45
|
没有的话,停下。只做一件事:告诉用户去开 dsh 官方的 Agent Teams,命令是
|
|
43
46
|
|
|
44
|
-
dsh plugin --profile <你的 profile 名> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.
|
|
47
|
+
dsh plugin --profile <你的 profile 名> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.2-rc.1
|
|
45
48
|
|
|
46
|
-
不带版本号会装到 0.1.5-alpha.2,和 0.2.
|
|
49
|
+
不带版本号会装到 0.1.5-alpha.2,和 0.2.2 宿主对不上。版本号要跟 `dsh --version` 的输出一致。装完重启 dsh。
|
|
47
50
|
|
|
48
51
|
这是本插件存在的主要理由。没有这些工具,你派不了活。不要自己硬干,不要假装能派活,也不要拿 subagent 凑数顶替 teammate。
|
|
49
52
|
|
|
@@ -73,6 +76,9 @@
|
|
|
73
76
|
disabled: !!js process.platform !== 'win32'
|
|
74
77
|
- id: tool-fs
|
|
75
78
|
name: '@deepseek-ai/dsh-tool-fs'
|
|
79
|
+
config:
|
|
80
|
+
# 0.2.2 起 apply_patch 默认开启。standard 显式关掉,这里跟着关。
|
|
81
|
+
applyPatch: false
|
|
76
82
|
- id: tool-fs-search
|
|
77
83
|
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
78
84
|
config:
|
|
@@ -135,14 +141,13 @@
|
|
|
135
141
|
config:
|
|
136
142
|
- id: tool-subagent-control
|
|
137
143
|
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
138
|
-
- id: tool-subagent-list-agents
|
|
139
|
-
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
140
144
|
- id: tool-subagent
|
|
141
145
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
142
146
|
config:
|
|
143
147
|
provider: spawn
|
|
144
148
|
toolName: subagent
|
|
145
|
-
|
|
149
|
+
modelSelection: true
|
|
150
|
+
modelDiscovery: true
|
|
146
151
|
- id: tool-subagent-fork
|
|
147
152
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
148
153
|
config:
|
|
@@ -169,7 +174,7 @@
|
|
|
169
174
|
name: '@deepseek-ai/dsh-tool-present'
|
|
170
175
|
- id: tool-plugin-manager
|
|
171
176
|
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
172
|
-
disabled:
|
|
177
|
+
disabled: !!js "!ctx.get('profileContext')"
|
|
173
178
|
- id: tool-plugin-market
|
|
174
179
|
name: '@deepseek-ai/dsh-plugin-market/tools'
|
|
175
180
|
disabled: true
|
package/lib/index.js
CHANGED
|
@@ -20,14 +20,21 @@ import { fileURLToPath } from 'node:url'
|
|
|
20
20
|
/** Cordis plugin name. */
|
|
21
21
|
export const name = 'lead-mode'
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Profile package that provides the Team runtime.
|
|
25
|
+
*
|
|
26
|
+
* The pin has to match the host version line: the team packages declare exact
|
|
27
|
+
* `@deepseek-ai/dsh-*` peers, so an older profile on a newer host installs an
|
|
28
|
+
* unsatisfied peer set. Bump this constant together with `engines.dsh` and
|
|
29
|
+
* `dshTarget` whenever the target host line moves.
|
|
30
|
+
*/
|
|
31
|
+
const TEAM_PROFILE_PACKAGE = '@deepseek-ai/dsh-experimental-agent-team-profile@0.2.2-rc.1'
|
|
25
32
|
|
|
26
33
|
/** Install command shown in every reminder. */
|
|
27
34
|
const ENABLE_COMMAND = `dsh plugin --profile <你的 profile 名> add ${TEAM_PROFILE_PACKAGE}`
|
|
28
35
|
|
|
29
36
|
/** Why the version pin matters, repeated wherever the command appears. */
|
|
30
|
-
const VERSION_NOTE = '不带版本号会装到 0.1.5-alpha.2,和 0.2.1
|
|
37
|
+
const VERSION_NOTE = '不带版本号会装到 0.1.5-alpha.2,和 0.2.1 宿主对不上。版本号要跟 `dsh --version` 的输出一致。'
|
|
31
38
|
|
|
32
39
|
/** Directory holding one subdirectory per bundled skill; the directory name is the skill name. */
|
|
33
40
|
const SKILLS_DIR = new URL('../skills/', import.meta.url)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-lead-mode",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Lead mode for DSH: an agent preset, a working-method skill, a dependency self-check, and two reminders that tell you to enable the official Agent Teams. | 给 DSH 加 Lead 模式:预设、skill、依赖自检、两条前置提醒。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -16,11 +16,16 @@
|
|
|
16
16
|
"README.zh-CN.md",
|
|
17
17
|
"LICENSE"
|
|
18
18
|
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"test": "node --test test/*.test.mjs",
|
|
21
|
+
"check": "node --check lib/index.js && node scripts/validate-names.mjs --manifest ./dsh-plugin.naming.json && node scripts/check-patch.mjs",
|
|
22
|
+
"pack:dry": "npm pack --dry-run"
|
|
23
|
+
},
|
|
19
24
|
"engines": {
|
|
20
25
|
"node": ">=20",
|
|
21
|
-
"dsh": ">=0.2.
|
|
26
|
+
"dsh": ">=0.2.2-rc.1"
|
|
22
27
|
},
|
|
23
|
-
"dshTarget": "0.2.
|
|
28
|
+
"dshTarget": "0.2.2-rc.1",
|
|
24
29
|
"dsh": {
|
|
25
30
|
"bundle": {
|
|
26
31
|
"patch": "./cordis.patch.yml"
|
|
@@ -42,10 +47,10 @@
|
|
|
42
47
|
"license": "MIT",
|
|
43
48
|
"peerDependencies": {
|
|
44
49
|
"@deepseek-ai/cordis": "^4.0.5",
|
|
45
|
-
"@deepseek-ai/dsh": ">=0.2.
|
|
50
|
+
"@deepseek-ai/dsh": ">=0.2.2-rc.1",
|
|
46
51
|
"@deepseek-ai/schemastery": "^3.18.5",
|
|
47
|
-
"@deepseek-ai/dsh-agent-preset-registry": ">=0.2.
|
|
48
|
-
"@deepseek-ai/dsh-skill": ">=0.2.
|
|
49
|
-
"@deepseek-ai/dsh-commands": ">=0.2.
|
|
52
|
+
"@deepseek-ai/dsh-agent-preset-registry": ">=0.2.2-rc.1",
|
|
53
|
+
"@deepseek-ai/dsh-skill": ">=0.2.2-rc.1",
|
|
54
|
+
"@deepseek-ai/dsh-commands": ">=0.2.2-rc.1"
|
|
50
55
|
}
|
|
51
56
|
}
|
|
@@ -14,10 +14,10 @@ description: Lead 工作法。当你要拆活、派活给 teammate、用共享
|
|
|
14
14
|
没有就停下。只做一件事:让用户去开 dsh 官方 Agent Teams,命令是
|
|
15
15
|
|
|
16
16
|
```
|
|
17
|
-
dsh plugin --profile <你的 profile 名> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.
|
|
17
|
+
dsh plugin --profile <你的 profile 名> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.2-rc.1
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
不带版本号会装到 0.1.5-alpha.2,和 0.2.
|
|
20
|
+
不带版本号会装到 0.1.5-alpha.2,和 0.2.2 宿主对不上。版本号要跟 `dsh --version` 的输出一致。
|
|
21
21
|
|
|
22
22
|
不要自己硬干,也不要假装能派活。
|
|
23
23
|
|
|
@@ -204,7 +204,7 @@ teammate 继承你(Lead)在 spawn 那一刻的 provider 和 model。想换
|
|
|
204
204
|
| 整队换模型 | 切 Lead 自己的模型。之后新 spawn 的 teammate 跟着变 |
|
|
205
205
|
| 按任务挑模型 | 用不了 team,改用经典 `subagent` 工具 |
|
|
206
206
|
|
|
207
|
-
经典 `subagent` 支持 `provider`、`model`、`reasoning_effort`、`agent_preset` 四个参数(本插件预设已开 `
|
|
207
|
+
经典 `subagent` 支持 `provider`、`model`、`reasoning_effort`、`agent_preset` 四个参数(本插件预设已开 `modelSelection` 与 `modelDiscovery`)。
|
|
208
208
|
|
|
209
209
|
代价说清楚:经典 `subagent` 是一次性子代理,没有共享任务板,没有持久身份。要用团队就得接受统一模型。
|
|
210
210
|
|