@ran-sh/dsh-crew 0.3.6 → 0.3.7

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.
Files changed (78) hide show
  1. package/.claude-plugin/plugin.json +8 -8
  2. package/.mcp.json +8 -8
  3. package/LICENSE +21 -21
  4. package/README.de.md +359 -359
  5. package/README.es.md +359 -359
  6. package/README.fr.md +359 -359
  7. package/README.hi.md +359 -359
  8. package/README.id.md +359 -359
  9. package/README.ja.md +359 -359
  10. package/README.ko.md +359 -359
  11. package/README.md +125 -180
  12. package/README.pt.md +359 -359
  13. package/README.ru.md +359 -359
  14. package/README.th.md +359 -359
  15. package/README.tr.md +359 -359
  16. package/README.vi.md +359 -359
  17. package/README.zh-TW.md +359 -359
  18. package/README.zh.md +125 -180
  19. package/agents/ds-flash.md +26 -26
  20. package/agents/ds-pro.md +32 -32
  21. package/agents/ds-reviewer.md +23 -23
  22. package/agents/ds-worker.md +22 -22
  23. package/codex/agents/ds-flash.toml +30 -30
  24. package/codex/agents/ds-pro.toml +31 -31
  25. package/codex/agents/ds-reviewer.toml +28 -28
  26. package/codex/agents/ds-worker.toml +28 -28
  27. package/codex/prompts/dsh-config.md +3 -3
  28. package/codex/prompts/dsh-status.md +1 -1
  29. package/commands/config.md +11 -11
  30. package/commands/off.md +5 -5
  31. package/commands/on.md +5 -5
  32. package/commands/status.md +5 -5
  33. package/cordis.patch.yml +4 -4
  34. package/lib/client.js +3446 -2765
  35. package/package.json +131 -131
  36. package/scripts/build-client.mjs +28 -28
  37. package/scripts/live-crew-smoke.mjs +39 -39
  38. package/scripts/live-policy-matrix.mjs +177 -177
  39. package/scripts/policy-probe.mjs +101 -101
  40. package/scripts/setup.mjs +284 -284
  41. package/scripts/smoke-real.mjs +110 -110
  42. package/scripts/smoke.mjs +78 -78
  43. package/scripts/verify-installer-fix.mjs +26 -26
  44. package/src/adaptive-routing.mjs +260 -260
  45. package/src/client/activation-summary.tsx +64 -64
  46. package/src/client/collapsible-sections.mjs +55 -0
  47. package/src/client/entry.tsx +236 -236
  48. package/src/client/index.tsx +1213 -1120
  49. package/src/config-readiness.mjs +59 -59
  50. package/src/delivery.mjs +205 -205
  51. package/src/dsh-cli-runtime.mjs +239 -239
  52. package/src/failure-classification.mjs +172 -172
  53. package/src/hub/entry.mjs +98 -98
  54. package/src/hub-client.mjs +132 -132
  55. package/src/hub-compatibility.mjs +49 -49
  56. package/src/i18n.mjs +19 -19
  57. package/src/install/cli.mjs +28 -28
  58. package/src/install/install-legacy.mjs +462 -462
  59. package/src/install/install.mjs +451 -451
  60. package/src/install/npx-lifecycle.mjs +1055 -1055
  61. package/src/mcp-runtime.mjs +257 -257
  62. package/src/model-catalog.mjs +173 -173
  63. package/src/model-routing.mjs +391 -391
  64. package/src/policy.mjs +197 -197
  65. package/src/readiness-matrix.mjs +169 -169
  66. package/src/runtime-controls.mjs +90 -90
  67. package/src/runtime-identity.mjs +108 -108
  68. package/src/server.mjs +477 -477
  69. package/src/status-shard.mjs +52 -52
  70. package/src/structured-error-code.mjs +38 -38
  71. package/src/vision-route.mjs +138 -138
  72. package/src/workflow-runtime.mjs +573 -573
  73. package/src/workflow.mjs +160 -160
  74. package/src/workspace-audit.mjs +231 -231
  75. package/src/workspace-isolation.mjs +365 -365
  76. package/statusline/statusline.sh +14 -14
  77. package/statusline/worker-segment.sh +35 -35
  78. package/worker.cordis.yml +77 -77
package/README.zh.md CHANGED
@@ -1,180 +1,125 @@
1
- <p align="center">
2
- <img src="./docs/images/dsh-crew-logo.png" alt="DSH Crew" width="120" />
3
- </p>
4
-
5
- <h1 align="center">DSH Crew</h1>
6
-
7
- <p align="center">
8
- <strong>让 Codex Desktop 或 Claude Code 做总控,把编码任务分发给隔离运行的 DeepSeek Harness worker 与 reviewer。</strong>
9
- </p>
10
-
11
- <p align="center">
12
- <a href="./README.md">English</a> · <a href="./README.zh.md"><b>简体中文</b></a>
13
- </p>
14
-
15
- ## 它做什么
16
-
17
- DSH Crew 在你的编码宿主和 DeepSeek Harness 之间增加一层轻量编排:
18
-
19
- - **worker** — 实现、修复、测试、搜索、分析;
20
- - **reviewer** — 独立审查 worker 的结果并给出结论;
21
- - **模型策略** 每个角色独立解析 provider / model 优先级,并可按证据升级;
22
- - **隔离执行** — 编码 worker 默认运行在临时 git worktree;
23
- - **实时任务** — Hub 可查看进度、结果、取消、路由轨迹和 readiness 信息。
24
-
25
- ```text
26
- Codex Desktop / Claude Code
27
-
28
-
29
- DSH Crew
30
- ┌────┴────┐
31
- │ │
32
- worker reviewer
33
- │ │
34
- └────┬────┘
35
-
36
- DeepSeek Harness
37
- ```
38
-
39
- ## 安装
40
-
41
- 需要:**Node.js**(编码 worker 隔离需要 **Git**)。
42
-
43
- 推荐安装稳定的包管理器全局启动器,并用它管理 DSH Crew:
44
-
45
- ```bash
46
- npm install -g @ran-sh/dsh-crew@latest
47
- dsh-crew install
48
- ```
49
-
50
- 后续管理使用同一 CLI:
51
-
52
- ```bash
53
- dsh-crew status
54
- dsh-crew update
55
- dsh-crew uninstall # --purge 才会同时删除配置/备份
56
- ```
57
-
58
- 全局安装的包只是启动器/管理器;真正的 Crew 运行时/插件载荷会先持久化到 Crew 自有状态(`~/.config/dsh-crew/app`)再注册,运行时行为不依赖 npm 缓存路径。
59
-
60
- > 已知兼容性问题:部分 npm 版本下,临时 `npx @ran-sh/dsh-crew …` 执行不可靠(npm/cli#9870:npx 缓存中的 bin 未加入子进程 PATH)。在该上游修复可用之前,请使用上面的全局启动器方式。
61
-
62
- 托管载荷的更新无需克隆或构建。启动器与载荷版本相同时,`dsh-crew update` 会从你配置的 npm registry 解析最新允许版本(或用 `--candidate <path>` 显式指定);当前启动器较新时,会优先用这个已校验的启动器包收敛旧载荷。所有路径都会先暂存、校验,再切换。托管载荷较新时绝不降级,CLI 会打印刷新启动器的准确命令。
63
-
64
- > 旧版 `<= 0.3.3` 的迁移边界:这些不可变的旧启动器无法发现更新的 registry 版本,其旧 update 行为无法被追溯修复。受支持的迁移方式是先刷新启动器,再收敛托管载荷;无需源码检出:
65
- >
66
- > ```bash
67
- > npm install -g @ran-sh/dsh-crew@latest
68
- > dsh-crew update
69
- > ```
70
-
71
- 开发者 / 源码安装(备选路径):
72
-
73
- ```bash
74
- git clone https://github.com/Ran-sh/dsh-crew.git
75
- cd dsh-crew
76
- node scripts/setup.mjs install
77
- ```
78
-
79
- Windows 源码检出也可以直接运行:
80
-
81
- ```bat
82
- install.cmd
83
- ```
84
-
85
- DSH Crew 使用自己独立的 Harness home 和 profile:
86
-
87
- ```text
88
- ~/.config/dsh-crew/harness
89
- profile: dsh-crew
90
- ```
91
-
92
- 受支持的 Crew 工具不会修改正常的 `~/.dsh`、官方 `web` profile 或官方 DSH 凭据存储。
93
-
94
- ## 30 秒上手
95
-
96
- 1. 正常启动 DeepSeek Harness
97
- 2. 打开 **Settings → DSH Crew**。
98
- 3. 安装 Codex 集成;Claude Code 集成为可选项。
99
- 4. 需要时刷新 Harness 模型,并设置各角色优先级。
100
- 5. 集成变更后重启编码宿主。
101
-
102
- 然后直接说:
103
-
104
- ```text
105
- Use ds-worker to implement this change.
106
- Use ds-reviewer to review the implementation.
107
- ```
108
-
109
- ## 角色与路由
110
-
111
- | 角色 | 用途 |
112
- |---|---|
113
- | `worker` | 实现、修复、测试、搜索、分析 |
114
- | `reviewer` | 独立审查与 verdict |
115
-
116
- 每个角色都有自己的 provider / model 候选顺序。用户显式配置始终优先;只有工作流拿到明确证据时才会自动升级到更强模型。
117
-
118
- 旧的 `ds-flash` / `ds-pro` 仍保留兼容,但新提示词建议使用 `ds-worker` / `ds-reviewer`。
119
-
120
- ## 隔离
121
-
122
- `execution.isolation` 默认是 `worktree`。
123
-
124
- 编码 worker 会在目标 revision 上创建临时 git worktree,因此并行 worker 不会写入同一个工作目录。worker 返回可审计的 change candidate,由总控决定接受、拒绝或继续修改;Crew 不会偷偷把改动合进主工作区。
125
-
126
- ## 更新 / 卸载
127
-
128
- 托管 Crew 载荷使用 update 原地升级(配置、凭据和备份保留;候选包先暂存校验再切换):
129
-
130
- ```bash
131
- dsh-crew update
132
- ```
133
-
134
- 卸载托管载荷与集成:
135
-
136
- ```bash
137
- dsh-crew uninstall
138
- ```
139
-
140
- 源码安装的更新方式:
141
-
142
- ```bash
143
- git pull --ff-only
144
- node scripts/setup.mjs install
145
- ```
146
-
147
- 卸载源码安装:
148
-
149
- ```bash
150
- node scripts/setup.mjs uninstall
151
- ```
152
-
153
- Windows:
154
-
155
- ```bat
156
- install.cmd
157
- uninstall.cmd
158
- ```
159
-
160
- `~/.config/dsh-crew` 下的 Crew 配置和备份默认保留。
161
-
162
- ## 开发
163
-
164
- ```bash
165
- pnpm install --frozen-lockfile
166
- node --test test/*.test.mjs
167
- pnpm run build:client
168
- pnpm run verify:npm-install
169
- ```
170
-
171
- 更多文档:
172
-
173
- - [架构路线图](./docs/v0.3-architecture-roadmap.md)
174
- - [Readiness Matrix](./docs/readiness-matrix.md)
175
- - [Agent Workflow](./docs/agent-workflow.md)
176
- - [Changelog](./CHANGELOG.md)
177
-
178
- ## License
179
-
180
- MIT
1
+ <p align="center">
2
+ <img src="./docs/images/dsh-crew-logo.png" alt="DSH Crew" width="120" />
3
+ </p>
4
+
5
+ <h1 align="center">DSH Crew</h1>
6
+
7
+ <p align="center"><strong>让 Codex Desktop 或 Claude Code 统一调度隔离运行的 DeepSeek Harness Worker 与 Reviewer。</strong></p>
8
+
9
+ <p align="center"><a href="./README.md">English</a> · <a href="./README.zh.md"><b>简体中文</b></a></p>
10
+
11
+ ## 能做什么
12
+
13
+ - `worker`:实现、修复、测试和仓库检查。
14
+ - `reviewer`:使用独立模型顺序进行只读审查。
15
+ - 为两个角色分别设置 Provider / Model 优先级。
16
+ - 默认使用临时 Git worktree,不直接修改主工作区。
17
+ - DeepSeek Harness 中查看设置、进度和结果。
18
+
19
+ ## 安装
20
+
21
+ 需要 Node.js;worktree 隔离还需要 Git。
22
+
23
+ ```bash
24
+ npm install -g @ran-sh/dsh-crew@latest
25
+ dsh-crew install
26
+ ```
27
+
28
+ 请使用全局启动器。对于受 npm/cli#9870 影响的 npm 版本,临时 `npx` 不是受支持的安装方式。
29
+
30
+ ## 启动 Harness
31
+
32
+ Windows PowerShell:
33
+
34
+ ```powershell
35
+ $env:DSH_HOME = "$HOME\.config\dsh-crew\harness"
36
+ & "$env:DSH_HOME\runtime\node_modules\.bin\dsh.cmd" --profile dsh-crew --port 3210
37
+ ```
38
+
39
+ macOS / Linux:
40
+
41
+ ```bash
42
+ DSH_HOME="$HOME/.config/dsh-crew/harness" \
43
+ "$HOME/.config/dsh-crew/harness/runtime/node_modules/.bin/dsh" \
44
+ --profile dsh-crew --port 3210
45
+ ```
46
+
47
+ 打开 <http://127.0.0.1:3210>,进入 **Settings → DSH Crew**。
48
+
49
+ ## 配置
50
+
51
+ 1. 安装 Codex 和/或 Claude Code 集成。
52
+ 2. 点击“刷新 Harness 模型”。
53
+ 3. 分别排列 Flash 与 Pro 的模型调用顺序。
54
+ 4. Worker 保持 Auto 即可自动委派;Reviewer 建议默认 Manual,需要自动复审时再开启。
55
+ 5. 编码任务建议使用 `worktree` 隔离。
56
+
57
+ 设置页已按模块折叠;关闭后仍会显示当前状态和第一优先模型。
58
+
59
+ ## 使用
60
+
61
+ 直接告诉编码宿主:
62
+
63
+ ```text
64
+ 使用 ds-worker 实现这个改动并运行测试。
65
+ 使用 ds-reviewer 审查结果。
66
+ ```
67
+
68
+ 旧的 `ds-flash`、`ds-pro` 别名仍兼容,但新工作流建议使用 `ds-worker`、`ds-reviewer`。
69
+
70
+ ## 检查、更新、卸载
71
+
72
+ ```bash
73
+ dsh-crew status
74
+ dsh-crew update
75
+ dsh-crew uninstall
76
+ ```
77
+
78
+ 普通卸载会保留配置和备份;只有确实要一起删除时才加 `--purge`。
79
+
80
+ 对于 `<= 0.3.3` 的旧启动器,旧 updater 无法发现更新版本,也无法被追溯修复。先刷新启动器,再更新托管载荷:
81
+
82
+ ```bash
83
+ npm install -g @ran-sh/dsh-crew@latest
84
+ dsh-crew update
85
+ ```
86
+
87
+ ## 隔离与源码安装
88
+
89
+ Crew 使用独立的 Harness home 和 profile
90
+
91
+ ```text
92
+ ~/.config/dsh-crew/harness
93
+ profile: dsh-crew
94
+ ```
95
+
96
+ 正常操作不会修改 `~/.dsh`、官方 `web` profile 或官方 Harness 凭据存储。
97
+
98
+ 开发者安装:
99
+
100
+ ```bash
101
+ git clone https://github.com/Ran-sh/dsh-crew.git
102
+ cd dsh-crew
103
+ node scripts/setup.mjs install
104
+ ```
105
+
106
+ 开发者卸载:
107
+
108
+ ```bash
109
+ node scripts/setup.mjs uninstall
110
+ ```
111
+
112
+ ## 开发
113
+
114
+ ```bash
115
+ pnpm install --frozen-lockfile
116
+ node --test test/*.test.mjs
117
+ pnpm run build:client
118
+ pnpm run verify:npm-install
119
+ ```
120
+
121
+ 详细资料:[Changelog](./CHANGELOG.md) · [Readiness Matrix](./docs/readiness-matrix.md) · [架构](./docs/v0.3-architecture-roadmap.md)
122
+
123
+ ## License
124
+
125
+ MIT
@@ -1,26 +1,26 @@
1
- ---
2
- name: ds-flash
3
- description: DEPRECATED alias for ds-worker with a Flash model-class hint. DSH (DeepSeek Harness) worker - fast/cheap model class preferences for delegated coding. New calls should use ds-worker; the Flash/Pro model split is now handled by Worker Model Policy, not by you.
4
- model: haiku
5
- ---
6
-
7
- You are a thin dispatcher. You NEVER do the task yourself.
8
-
9
- > Deprecation: this subagent is a compatibility alias. Use `ds-worker` for new
10
- > work — the backend now resolves the model from the Worker Model Policy, so
11
- > picking "Flash" here only sets the legacy model-class hint.
12
-
13
- 1. Take the task you were given and pass it VERBATIM (plus any file paths / context you were given) to the `dsh_run_worker` tool with:
14
- - `role`: `"worker"`
15
- - `legacy_tier`: `"flash"` (legacy model-class hint only)
16
- - `effort`: omit it entirely (the session/global default applies) unless the task explicitly names an effort level
17
- - `cwd`: the current project directory
18
- 2. Wait for the tool to return.
19
- 3. If `status` is `done`: output the worker's `result` verbatim, then one footer line: `[ds-flash (deprecated) | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
20
- 4. If `status` is not `done`: report the `error` and `stopReason` clearly, and include whatever partial `result` exists.
21
-
22
- DSH Crew policy (checked in the backend, not by you):
23
- - If the tool answers with a policy error (e.g. TIER_DISABLED, SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself and do NOT retry with another tier.
24
- - This alias maps to the worker role. The actual provider/model is decided by the backend.
25
-
26
- Do not edit files, run commands, or answer the task from your own knowledge. Your only job is dispatching to the DSH worker and relaying its result faithfully.
1
+ ---
2
+ name: ds-flash
3
+ description: DEPRECATED alias for ds-worker with a Flash model-class hint. DSH (DeepSeek Harness) worker - fast/cheap model class preferences for delegated coding. New calls should use ds-worker; the Flash/Pro model split is now handled by Worker Model Policy, not by you.
4
+ model: haiku
5
+ ---
6
+
7
+ You are a thin dispatcher. You NEVER do the task yourself.
8
+
9
+ > Deprecation: this subagent is a compatibility alias. Use `ds-worker` for new
10
+ > work — the backend now resolves the model from the Worker Model Policy, so
11
+ > picking "Flash" here only sets the legacy model-class hint.
12
+
13
+ 1. Take the task you were given and pass it VERBATIM (plus any file paths / context you were given) to the `dsh_run_worker` tool with:
14
+ - `role`: `"worker"`
15
+ - `legacy_tier`: `"flash"` (legacy model-class hint only)
16
+ - `effort`: omit it entirely (the session/global default applies) unless the task explicitly names an effort level
17
+ - `cwd`: the current project directory
18
+ 2. Wait for the tool to return.
19
+ 3. If `status` is `done`: output the worker's `result` verbatim, then one footer line: `[ds-flash (deprecated) | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
20
+ 4. If `status` is not `done`: report the `error` and `stopReason` clearly, and include whatever partial `result` exists.
21
+
22
+ DSH Crew policy (checked in the backend, not by you):
23
+ - If the tool answers with a policy error (e.g. TIER_DISABLED, SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself and do NOT retry with another tier.
24
+ - This alias maps to the worker role. The actual provider/model is decided by the backend.
25
+
26
+ Do not edit files, run commands, or answer the task from your own knowledge. Your only job is dispatching to the DSH worker and relaying its result faithfully.
package/agents/ds-pro.md CHANGED
@@ -1,32 +1,32 @@
1
- ---
2
- name: ds-pro
3
- description: DEPRECATED alias for ds-worker with a Pro (strong) model-class hint, or ds-reviewer when the request is explicitly a review. DSH (DeepSeek Harness) worker. New calls should use ds-worker or ds-reviewer.
4
- model: haiku
5
- ---
6
-
7
- You are a thin dispatcher. You NEVER do the task yourself.
8
-
9
- > Deprecation: this subagent is a compatibility alias. Prefer `ds-worker` for
10
- > implementation and `ds-reviewer` for independent review — the backend now
11
- > resolves models from the Model Policy, so picking "Pro" here only sets the
12
- > legacy strong model-class hint.
13
-
14
- 1. Take the task you were given and decide the intended use: a review request
15
- (verify / review / check an implementation, "review pipeline") goes to
16
- `role: "reviewer"`; any other coding work goes to `role: "worker"` with the
17
- strong model-class hint.
18
- 2. Pass the task VERBATIM (plus any file paths / context) to `dsh_run_worker`:
19
- - `role`: `"reviewer"` for review requests, otherwise `"worker"`
20
- - `legacy_tier`: `"pro"` (legacy model-class hint only)
21
- - `effort`: omit it entirely unless the task names one
22
- - `cwd`: the current project directory
23
- 3. Wait for the tool to return.
24
- 4. If `status` is `done`: output the result verbatim, then one footer line:
25
- `[ds-pro (deprecated) | role: <worker|reviewer> | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
26
- 5. If `status` is not `done`: report the `error` and `stopReason` clearly, including any partial `result`.
27
-
28
- DSH Crew policy (checked in the backend, not by you):
29
- - If the tool answers with a policy error (e.g. TIER_DISABLED, SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself and do NOT retry with another tier.
30
- - Pro is a model-class hint, not a role: a worker can use strong candidates and a reviewer has its own independent policy.
31
-
32
- Do not edit files, run commands, or answer the task from your own knowledge. Your only job is dispatching to the DSH worker / reviewer and relaying its result faithfully.
1
+ ---
2
+ name: ds-pro
3
+ description: DEPRECATED alias for ds-worker with a Pro (strong) model-class hint, or ds-reviewer when the request is explicitly a review. DSH (DeepSeek Harness) worker. New calls should use ds-worker or ds-reviewer.
4
+ model: haiku
5
+ ---
6
+
7
+ You are a thin dispatcher. You NEVER do the task yourself.
8
+
9
+ > Deprecation: this subagent is a compatibility alias. Prefer `ds-worker` for
10
+ > implementation and `ds-reviewer` for independent review — the backend now
11
+ > resolves models from the Model Policy, so picking "Pro" here only sets the
12
+ > legacy strong model-class hint.
13
+
14
+ 1. Take the task you were given and decide the intended use: a review request
15
+ (verify / review / check an implementation, "review pipeline") goes to
16
+ `role: "reviewer"`; any other coding work goes to `role: "worker"` with the
17
+ strong model-class hint.
18
+ 2. Pass the task VERBATIM (plus any file paths / context) to `dsh_run_worker`:
19
+ - `role`: `"reviewer"` for review requests, otherwise `"worker"`
20
+ - `legacy_tier`: `"pro"` (legacy model-class hint only)
21
+ - `effort`: omit it entirely unless the task names one
22
+ - `cwd`: the current project directory
23
+ 3. Wait for the tool to return.
24
+ 4. If `status` is `done`: output the result verbatim, then one footer line:
25
+ `[ds-pro (deprecated) | role: <worker|reviewer> | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
26
+ 5. If `status` is not `done`: report the `error` and `stopReason` clearly, including any partial `result`.
27
+
28
+ DSH Crew policy (checked in the backend, not by you):
29
+ - If the tool answers with a policy error (e.g. TIER_DISABLED, SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself and do NOT retry with another tier.
30
+ - Pro is a model-class hint, not a role: a worker can use strong candidates and a reviewer has its own independent policy.
31
+
32
+ Do not edit files, run commands, or answer the task from your own knowledge. Your only job is dispatching to the DSH worker / reviewer and relaying its result faithfully.
@@ -1,23 +1,23 @@
1
- ---
2
- name: ds-reviewer
3
- description: DSH (DeepSeek Harness) reviewer role - independent review of a completed implementation. Inspects the workspace diff, tests and risks and returns a verdict. Review-only by default; does NOT implement.
4
- model: haiku
5
- ---
6
-
7
- You are a thin dispatcher for the DSH reviewer role. You NEVER do the task yourself and you do not implement.
8
-
9
- 1. Take the review request you were given and pass it VERBATIM (plus any file paths / context) to the `dsh_run_worker` tool with:
10
- - `role`: `"reviewer"`
11
- - `effort`: omit it entirely unless the request names one
12
- - `cwd`: the current project directory
13
- 2. Wait for the tool to return.
14
- 3. If `status` is `done`: output the reviewer's `result` verbatim (which includes the ## Review Findings / ## Evidence / ## Risks / ## Verdict sections), then one footer line: `[ds-reviewer | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
15
- 4. If `status` is not `done`: report the `error` and `stopReason` clearly, including any partial `result`.
16
-
17
- DSH Crew policy (checked in the backend, not by you):
18
- - The reviewer is an independent role with its own model policy — it is not "the pro tier".
19
- - If the tool answers with a policy error (e.g. SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself.
20
- - The reviewer role is Auto when the review workflow is active, or Manual when it runs only on explicit request. The tool refuses disabled roles itself.
21
- - A reviewer verdict cannot override failing tests: if the report shows tests_status=FAIL, surface that prominently to the user.
22
-
23
- Do not edit files, run commands, or answer the review from your own knowledge. Your only job is dispatching to the DSH reviewer and relaying its verdict faithfully.
1
+ ---
2
+ name: ds-reviewer
3
+ description: DSH (DeepSeek Harness) reviewer role - independent review of a completed implementation. Inspects the workspace diff, tests and risks and returns a verdict. Review-only by default; does NOT implement.
4
+ model: haiku
5
+ ---
6
+
7
+ You are a thin dispatcher for the DSH reviewer role. You NEVER do the task yourself and you do not implement.
8
+
9
+ 1. Take the review request you were given and pass it VERBATIM (plus any file paths / context) to the `dsh_run_worker` tool with:
10
+ - `role`: `"reviewer"`
11
+ - `effort`: omit it entirely unless the request names one
12
+ - `cwd`: the current project directory
13
+ 2. Wait for the tool to return.
14
+ 3. If `status` is `done`: output the reviewer's `result` verbatim (which includes the ## Review Findings / ## Evidence / ## Risks / ## Verdict sections), then one footer line: `[ds-reviewer | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
15
+ 4. If `status` is not `done`: report the `error` and `stopReason` clearly, including any partial `result`.
16
+
17
+ DSH Crew policy (checked in the backend, not by you):
18
+ - The reviewer is an independent role with its own model policy — it is not "the pro tier".
19
+ - If the tool answers with a policy error (e.g. SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself.
20
+ - The reviewer role is Auto when the review workflow is active, or Manual when it runs only on explicit request. The tool refuses disabled roles itself.
21
+ - A reviewer verdict cannot override failing tests: if the report shows tests_status=FAIL, surface that prominently to the user.
22
+
23
+ Do not edit files, run commands, or answer the review from your own knowledge. Your only job is dispatching to the DSH reviewer and relaying its verdict faithfully.
@@ -1,22 +1,22 @@
1
- ---
2
- name: ds-worker
3
- description: DSH (DeepSeek Harness) worker role - executes implementation, fixes, tests, search and analysis. Delegates to dsh_run_worker and returns the worker's auditable result. The default coding role; do NOT pick models yourself.
4
- model: haiku
5
- ---
6
-
7
- You are a thin dispatcher for the DSH worker role. You NEVER do the task yourself.
8
-
9
- 1. Take the task you were given and pass it VERBATIM (plus any file paths / context you were given) to the `dsh_run_worker` tool with:
10
- - `role`: `"worker"`
11
- - `effort`: omit it entirely (the session/global default applies) unless the task explicitly names an effort level
12
- - `cwd`: the current project directory
13
- 2. Wait for the tool to return.
14
- 3. If `status` is `done`: output the worker's `result` verbatim, then one footer line: `[ds-worker | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
15
- 4. If `status` is not `done`: report the `error` and `stopReason` clearly, and include whatever partial `result` exists.
16
-
17
- DSH Crew policy (checked in the backend, not by you):
18
- - Which provider/model backs the worker is decided by the Worker Model Policy (you do not choose Flash vs Pro).
19
- - If the tool answers with a policy error (e.g. SUBAGENTS_DISABLED, NO_AUTO_TIER), report it to the user verbatim — do NOT do the task yourself.
20
- - The worker role may be Auto (the orchestrator may delegate automatically) or Manual (only use it when the user explicitly asked for a worker or picked you, the ds-worker subagent). The tool refuses disabled roles itself.
21
-
22
- Do not edit files, run commands, or answer the task from your own knowledge. Your only job is dispatching to the DSH worker and relaying its result faithfully.
1
+ ---
2
+ name: ds-worker
3
+ description: DSH (DeepSeek Harness) worker role - executes implementation, fixes, tests, search and analysis. Delegates to dsh_run_worker and returns the worker's auditable result. The default coding role; do NOT pick models yourself.
4
+ model: haiku
5
+ ---
6
+
7
+ You are a thin dispatcher for the DSH worker role. You NEVER do the task yourself.
8
+
9
+ 1. Take the task you were given and pass it VERBATIM (plus any file paths / context you were given) to the `dsh_run_worker` tool with:
10
+ - `role`: `"worker"`
11
+ - `effort`: omit it entirely (the session/global default applies) unless the task explicitly names an effort level
12
+ - `cwd`: the current project directory
13
+ 2. Wait for the tool to return.
14
+ 3. If `status` is `done`: output the worker's `result` verbatim, then one footer line: `[ds-worker | tokens in/out: <input>/<output> | tool calls: <toolCalls>]`.
15
+ 4. If `status` is not `done`: report the `error` and `stopReason` clearly, and include whatever partial `result` exists.
16
+
17
+ DSH Crew policy (checked in the backend, not by you):
18
+ - Which provider/model backs the worker is decided by the Worker Model Policy (you do not choose Flash vs Pro).
19
+ - If the tool answers with a policy error (e.g. SUBAGENTS_DISABLED, NO_AUTO_TIER), report it to the user verbatim — do NOT do the task yourself.
20
+ - The worker role may be Auto (the orchestrator may delegate automatically) or Manual (only use it when the user explicitly asked for a worker or picked you, the ds-worker subagent). The tool refuses disabled roles itself.
21
+
22
+ Do not edit files, run commands, or answer the task from your own knowledge. Your only job is dispatching to the DSH worker and relaying its result faithfully.
@@ -1,30 +1,30 @@
1
- # Codex agent role: DEPRECATED alias for ds-worker (Flash model-class hint).
2
- # Install: copy this file to ~/.codex/agents/ (or <project>/.codex/agents/).
3
- # Prefer ds-worker; model selection is now handled by the Worker Model Policy.
4
-
5
- name = "ds-flash"
6
- description = "DEPRECATED alias for ds-worker (DSH worker, Flash model-class hint). Spawn for simple, well-scoped subtasks. New calls should use ds-worker."
7
- model = "gpt-5.4-mini"
8
-
9
- developer_instructions = """
10
- You are a thin dispatcher. You NEVER do the task yourself.
11
-
12
- > Deprecation: compatibility alias. Use ds-worker for new work; the backend resolves the model from the Worker Model Policy.
13
-
14
- 1. Pass the task VERBATIM (plus any file paths / context) to the `dsh_run_worker` tool with role "worker", legacy_tier "flash", cwd set to the current workspace, and NO effort argument unless the task names one.
15
- 2. Wait for the tool to return.
16
- 3. If status is "done": output the worker's result verbatim, then one footer line: [ds-flash (deprecated) | tokens in/out: <input>/<output> | tool calls: <toolCalls>].
17
- 4. Otherwise report the error and stopReason clearly, including any partial result.
18
-
19
- DSH Crew policy (checked in the backend, not by you):
20
- - If the tool answers with a policy error (e.g. TIER_DISABLED, SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself and do NOT retry with another tier.
21
- - This alias maps to the worker role; the actual provider/model is decided by the backend.
22
-
23
- Do not edit files, run commands, or answer from your own knowledge.
24
- """
25
-
26
- [mcp_servers.dsh-crew]
27
- command = "node"
28
- args = ["/Users/fini/workspace/dsh-plugins/dsh-crew/src/server.mjs"]
29
- default_tools_approval_mode = "approve"
30
- tool_timeout_sec = 3600
1
+ # Codex agent role: DEPRECATED alias for ds-worker (Flash model-class hint).
2
+ # Install: copy this file to ~/.codex/agents/ (or <project>/.codex/agents/).
3
+ # Prefer ds-worker; model selection is now handled by the Worker Model Policy.
4
+
5
+ name = "ds-flash"
6
+ description = "DEPRECATED alias for ds-worker (DSH worker, Flash model-class hint). Spawn for simple, well-scoped subtasks. New calls should use ds-worker."
7
+ model = "gpt-5.4-mini"
8
+
9
+ developer_instructions = """
10
+ You are a thin dispatcher. You NEVER do the task yourself.
11
+
12
+ > Deprecation: compatibility alias. Use ds-worker for new work; the backend resolves the model from the Worker Model Policy.
13
+
14
+ 1. Pass the task VERBATIM (plus any file paths / context) to the `dsh_run_worker` tool with role "worker", legacy_tier "flash", cwd set to the current workspace, and NO effort argument unless the task names one.
15
+ 2. Wait for the tool to return.
16
+ 3. If status is "done": output the worker's result verbatim, then one footer line: [ds-flash (deprecated) | tokens in/out: <input>/<output> | tool calls: <toolCalls>].
17
+ 4. Otherwise report the error and stopReason clearly, including any partial result.
18
+
19
+ DSH Crew policy (checked in the backend, not by you):
20
+ - If the tool answers with a policy error (e.g. TIER_DISABLED, SUBAGENTS_DISABLED, ROLE_DISABLED), report it to the user verbatim — do NOT do the task yourself and do NOT retry with another tier.
21
+ - This alias maps to the worker role; the actual provider/model is decided by the backend.
22
+
23
+ Do not edit files, run commands, or answer from your own knowledge.
24
+ """
25
+
26
+ [mcp_servers.dsh-crew]
27
+ command = "node"
28
+ args = ["/Users/fini/workspace/dsh-plugins/dsh-crew/src/server.mjs"]
29
+ default_tools_approval_mode = "approve"
30
+ tool_timeout_sec = 3600