@ran-sh/dsh-crew 0.3.0 → 0.3.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/.claude-plugin/marketplace.json +17 -17
- package/.claude-plugin/plugin.json +8 -8
- package/.mcp.json +8 -8
- package/LICENSE +21 -21
- package/README.de.md +359 -359
- package/README.es.md +359 -359
- package/README.fr.md +359 -359
- package/README.hi.md +359 -359
- package/README.id.md +359 -359
- package/README.ja.md +359 -359
- package/README.ko.md +359 -359
- package/README.md +140 -360
- package/README.pt.md +359 -359
- package/README.ru.md +359 -359
- package/README.th.md +359 -359
- package/README.tr.md +359 -359
- package/README.vi.md +359 -359
- package/README.zh-TW.md +359 -359
- package/README.zh.md +140 -305
- package/agents/ds-flash.md +26 -26
- package/agents/ds-pro.md +32 -32
- package/agents/ds-reviewer.md +23 -23
- package/agents/ds-worker.md +22 -22
- package/codex/agents/ds-flash.toml +30 -30
- package/codex/agents/ds-pro.toml +31 -31
- package/codex/agents/ds-reviewer.toml +28 -28
- package/codex/agents/ds-worker.toml +28 -28
- package/codex/prompts/dsh-config.md +3 -3
- package/codex/prompts/dsh-status.md +1 -1
- package/commands/config.md +11 -11
- package/commands/off.md +5 -5
- package/commands/on.md +5 -5
- package/commands/status.md +5 -5
- package/cordis.patch.yml +4 -4
- package/lib/client.js +2765 -2765
- package/package.json +127 -125
- package/scripts/build-client.mjs +28 -28
- package/scripts/live-crew-smoke.mjs +39 -39
- package/scripts/live-policy-matrix.mjs +177 -177
- package/scripts/policy-probe.mjs +101 -101
- package/scripts/setup.mjs +295 -294
- package/scripts/smoke-real.mjs +110 -110
- package/scripts/smoke.mjs +78 -78
- package/scripts/verify-installer-fix.mjs +26 -26
- package/scripts/verify-npm-install.mjs +297 -0
- package/src/adaptive-routing.mjs +260 -260
- package/src/client/activation-summary.tsx +64 -64
- package/src/client/entry.tsx +236 -236
- package/src/client/index.tsx +1120 -1120
- package/src/config-readiness.mjs +59 -59
- package/src/delivery.mjs +205 -205
- package/src/dsh-cli-runtime.mjs +435 -251
- package/src/failure-classification.mjs +172 -172
- package/src/hub/entry.mjs +98 -98
- package/src/hub-client.mjs +132 -132
- package/src/hub-compatibility.mjs +49 -49
- package/src/i18n.mjs +19 -19
- package/src/install/cli.mjs +28 -28
- package/src/install/install-legacy.mjs +460 -460
- package/src/install/install.mjs +451 -451
- package/src/mcp-runtime.mjs +257 -257
- package/src/model-catalog.mjs +173 -173
- package/src/model-routing.mjs +391 -391
- package/src/policy.mjs +197 -197
- package/src/readiness-matrix.mjs +169 -169
- package/src/runtime-controls.mjs +90 -90
- package/src/runtime-identity.mjs +108 -108
- package/src/server.mjs +477 -477
- package/src/status-shard.mjs +52 -52
- package/src/structured-error-code.mjs +38 -38
- package/src/vision-route.mjs +138 -138
- package/src/workflow-runtime.mjs +573 -567
- package/src/workflow.mjs +160 -160
- package/src/workspace-audit.mjs +231 -231
- package/src/workspace-isolation.mjs +365 -306
- package/statusline/statusline.sh +14 -14
- package/statusline/worker-segment.sh +35 -35
- package/worker.cordis.yml +77 -77
package/README.md
CHANGED
|
@@ -1,360 +1,140 @@
|
|
|
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>Use Codex Desktop or Claude Code as the orchestrator, and dispatch coding work to DeepSeek Harness workers
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
<p align="center">
|
|
12
|
-
<a href="./README.md"><b>English</b></a> · <a href="./README.zh.md">简体中文</a>
|
|
13
|
-
</p>
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- **
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
request that names both a role and a contradicting legacy tier is rejected
|
|
142
|
-
with a clear `ROLE_TIER_CONFLICT` error — never silently guessed.
|
|
143
|
-
|
|
144
|
-
### Troubleshooting: `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION`
|
|
145
|
-
|
|
146
|
-
pnpm 11 enforces a default supply-chain policy (`minimum-release-age`, 24h):
|
|
147
|
-
a lockfile entry published within the last day is rejected unless listed under
|
|
148
|
-
`minimumReleaseAgeExclude`. Installing Crew into a fresh dedicated `dsh-crew`
|
|
149
|
-
profile is unaffected, but if the Crew profile already contains a just-published
|
|
150
|
-
DSH-plugin (for example the optional `dsh-plugin-image-mind`), the install fails
|
|
151
|
-
with this error.
|
|
152
|
-
|
|
153
|
-
Unblock it by adding the package (bare name, no version) under
|
|
154
|
-
`minimumReleaseAgeExclude` in the **Crew profile's** `pnpm-workspace.yaml`, then
|
|
155
|
-
re-run the installer:
|
|
156
|
-
|
|
157
|
-
```yaml
|
|
158
|
-
# ~/.config/dsh-crew/harness/profiles/dsh-crew/pnpm-workspace.yaml
|
|
159
|
-
minimumReleaseAgeExclude:
|
|
160
|
-
- dsh-plugin-image-mind
|
|
161
|
-
- '@ran-sh/dsh-vision@0.1.0'
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
Notes: the official DSH home (`~/.dsh`) and its `web` profile are never edited
|
|
165
|
-
by Crew tooling. Use a bare package name — listing multiple `pkg@version`
|
|
166
|
-
entries for the same name only honors the first (first-match-wins), which can
|
|
167
|
-
leave newer versions blocked. Keep the entries in `pnpm-workspace.yaml`; the
|
|
168
|
-
verifier does not read `.npmrc`. The policy only applies to registry packages
|
|
169
|
-
younger than one day (git-hosted installs like Crew itself are never
|
|
170
|
-
age-checked), so the failure is transient and self-heals within 24 hours.
|
|
171
|
-
|
|
172
|
-
## Uninstall
|
|
173
|
-
|
|
174
|
-
DSH Crew and its Codex / Claude Code integrations are separate layers:
|
|
175
|
-
|
|
176
|
-
1. In **Settings → DSH Crew**, click **Restore** for Codex and Claude Code integrations that you installed.
|
|
177
|
-
2. Uninstall the Crew plugin from the dedicated Crew profile:
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
node scripts/setup.mjs uninstall
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
Legacy Crew installs that were previously placed into the official DSH `web`
|
|
184
|
-
profile must be removed for that profile using the DSH CLI against the official
|
|
185
|
-
home, without changing anything else there. Removing the Crew plugin does not
|
|
186
|
-
implicitly edit `~/.codex` or `~/.claude`. Crew configuration, backups,
|
|
187
|
-
credentials, and other DSH bundles are preserved.
|
|
188
|
-
|
|
189
|
-
## Development / Source install
|
|
190
|
-
|
|
191
|
-
The source installer remains available for contributors and local checkout development.
|
|
192
|
-
|
|
193
|
-
Windows:
|
|
194
|
-
|
|
195
|
-
```bat
|
|
196
|
-
git clone https://github.com/Ran-sh/dsh-crew.git
|
|
197
|
-
cd dsh-crew
|
|
198
|
-
install.cmd
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
To update later:
|
|
202
|
-
|
|
203
|
-
```bat
|
|
204
|
-
git pull
|
|
205
|
-
install.cmd
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
Cross-platform:
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
node scripts/setup.mjs install
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
The source installer:
|
|
215
|
-
|
|
216
|
-
- links this local checkout into the dedicated Crew profile (`dsh-crew`) under
|
|
217
|
-
the Crew-owned DSH home (`~/.config/dsh-crew/harness`), never the official
|
|
218
|
-
`web` profile (`link:<repo>`)
|
|
219
|
-
- installs the Codex Desktop integration (no `codex` CLI required)
|
|
220
|
-
- installs the Claude Code integration automatically when the `claude` CLI is detected (optional)
|
|
221
|
-
- is idempotent — safe to re-run
|
|
222
|
-
|
|
223
|
-
Source uninstall on Windows:
|
|
224
|
-
|
|
225
|
-
```bat
|
|
226
|
-
uninstall.cmd
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
Source uninstall cross-platform:
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
node scripts/setup.mjs uninstall
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
It removes:
|
|
236
|
-
|
|
237
|
-
- DSH Crew from the dedicated Crew profile (official web profile is never touched)
|
|
238
|
-
- Codex Desktop integration
|
|
239
|
-
- Claude Code integration
|
|
240
|
-
|
|
241
|
-
It keeps:
|
|
242
|
-
|
|
243
|
-
- the repository
|
|
244
|
-
- Crew config (`~/.config/dsh-crew`)
|
|
245
|
-
- backups and credentials
|
|
246
|
-
|
|
247
|
-
## Quick Start
|
|
248
|
-
|
|
249
|
-
1. Start the official DeepSeek Harness as usual (its home and `web` profile are
|
|
250
|
-
never modified by Crew).
|
|
251
|
-
2. Open **Settings → DSH Crew** (the Crew Settings surface is served by the
|
|
252
|
-
Crew-owned Hub).
|
|
253
|
-
3. Keep the fresh default workflow: Codex → **worker** role → Codex (reviewer off).
|
|
254
|
-
4. Use **Refresh Harness Models** to choose ordered per-role model priorities when needed.
|
|
255
|
-
5. Restart Codex Desktop / Claude Code.
|
|
256
|
-
|
|
257
|
-
Then just say:
|
|
258
|
-
|
|
259
|
-
- “Use ds-worker to implement this change.”
|
|
260
|
-
- “Use ds-reviewer to review this implementation.”
|
|
261
|
-
|
|
262
|
-
## Roles
|
|
263
|
-
|
|
264
|
-
- **worker** — the executing role: implementation, fixes, tests, search, analysis. The default role for any coding request. It is a thin dispatcher; which model backs it is the Worker Model Policy's job.
|
|
265
|
-
- **reviewer** — the independent review role: inspects the implementation outcome, the workspace diff, tests and risks, and returns a verdict. Review-only by default; it does not re-implement.
|
|
266
|
-
- **ds-flash / ds-pro** remain as deprecated aliases for compatibility (see migration above).
|
|
267
|
-
|
|
268
|
-
A role's state is `disabled | manual | auto`: a disabled role refuses every
|
|
269
|
-
request, a manual role runs only when explicitly named, an auto role may be
|
|
270
|
-
chosen by the orchestrator. The effective state comes from the legacy
|
|
271
|
-
collaboration mode until you adopt the canonical config.
|
|
272
|
-
|
|
273
|
-
## Model Policy
|
|
274
|
-
|
|
275
|
-
Each role resolves its own ordered provider/model candidates through the live
|
|
276
|
-
Harness catalog:
|
|
277
|
-
|
|
278
|
-
- attempt 0 → the role's primary (cheap/fast) priority;
|
|
279
|
-
- attempt ≥ 1 → the escalation (strong) priority — escalation happens on
|
|
280
|
-
*evidence* (FAIL tests, incomplete delivery, blocked/incomplete task,
|
|
281
|
-
workspace diff that disagrees with the worker's report), not on failure
|
|
282
|
-
alone, and never beyond `max_attempts` (0..max-1, total attempts);
|
|
283
|
-
- otherwise → Harness Default.
|
|
284
|
-
|
|
285
|
-
Infrastructure failures (missing API key, unreachable hub, non-git workspace
|
|
286
|
-
under worktree isolation) are **never** "fixed" by a stronger model — they
|
|
287
|
-
fail with a stable error code instead. Flash / Pro survive only as legacy
|
|
288
|
-
model-class hints (`deepseek-v4-flash` / `deepseek-v4-pro`); they are not
|
|
289
|
-
roles.
|
|
290
|
-
|
|
291
|
-
## Workflow
|
|
292
|
-
|
|
293
|
-
Every dispatch — `dsh_run_worker` (blocking) and `dsh_spawn_worker` (async),
|
|
294
|
-
Hub or Standalone — runs the **same** workflow runtime:
|
|
295
|
-
|
|
296
|
-
```
|
|
297
|
-
CREATED -> (QUEUED when busy) -> RUNNING -> VERIFYING
|
|
298
|
-
-> ESCALATING (evidence) -> RUNNING -> VERIFYING
|
|
299
|
-
-> REVIEWING (automatic reviewer) -> READY -> COMPLETED
|
|
300
|
-
(or FAILED / CANCELLED)
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
The only difference between blocking and async is whether the caller awaits.
|
|
304
|
-
A coding worker runs in its own temporary git worktree (isolated execution);
|
|
305
|
-
a `change candidate` (base revision, committed + uncommitted + new-file
|
|
306
|
-
changes, bounded redacted patch, fingerprint) is returned for the orchestrator
|
|
307
|
-
to accept / reject / revise — the runtime never auto-merges into your working
|
|
308
|
-
tree.
|
|
309
|
-
|
|
310
|
-
### Isolation
|
|
311
|
-
|
|
312
|
-
`execution.isolation` is `worktree` by default: a worker role converges on a
|
|
313
|
-
fresh detached worktree at HEAD and the primary workspace is never modified
|
|
314
|
-
(even while it is dirty; uncommitted primary changes are not folded in). If
|
|
315
|
-
the requested workspace is **not** a git repository, worktree-isolated jobs
|
|
316
|
-
fail closed (`NOT_GIT_REPOSITORY`) instead of silently sharing — set
|
|
317
|
-
`execution.isolation: "shared"` to allow the legacy in-place behavior.
|
|
318
|
-
|
|
319
|
-
## Modes
|
|
320
|
-
|
|
321
|
-
| Mode | Mapped role behavior |
|
|
322
|
-
|---|---|
|
|
323
|
-
| Flash Only | worker auto, reviewer disabled, economy model strategy |
|
|
324
|
-
| Pro Only | worker auto on the strong model class, reviewer disabled |
|
|
325
|
-
| Balanced | worker auto, reviewer manual (available on request) |
|
|
326
|
-
| Review Pipeline | worker auto + reviewer auto (`auto_review` on) |
|
|
327
|
-
|
|
328
|
-
Custom mode configures worker / reviewer states directly.
|
|
329
|
-
|
|
330
|
-
## Provider
|
|
331
|
-
|
|
332
|
-
Crew reads every provider and model currently registered in DeepSeek Harness. Each role resolves its own candidates: the **worker** uses a primary (cheap) priority with an escalation (strong) pool, and the **reviewer** has an independent review priority — the legacy fresh preferences are `deepseek-v4-flash` / `deepseek-v4-pro`, with Harness Default as fallback.
|
|
333
|
-
|
|
334
|
-
- **Follow DSH Provider** — resolve the role's provider/model priority from the Harness catalog (fresh default).
|
|
335
|
-
- **DeepSeek Official** — use the legacy built-in fixed route for compatibility.
|
|
336
|
-
|
|
337
|
-
Credentials stay in the DSH provider configuration only. Tested with an OpenAI-compatible OpenCode Go gateway. Standalone mode (no DSH running) always uses DeepSeek Official + `DEEPSEEK_API_KEY`.
|
|
338
|
-
|
|
339
|
-
## Hosts
|
|
340
|
-
|
|
341
|
-
- **Codex Desktop** is directly supported through the shared `~/.codex` configuration. The Codex CLI is **not required**; it is an optional extra host / management interface.
|
|
342
|
-
- **Claude Code** is optional; the one-click setup installs its integration automatically when the Claude CLI is detected.
|
|
343
|
-
|
|
344
|
-
## Notes
|
|
345
|
-
|
|
346
|
-
- Main Agent Mode is routing guidance, not a hard sandbox for the host's tools.
|
|
347
|
-
- Standalone uses DeepSeek Official only.
|
|
348
|
-
- Crew Vision registration changes may require a DSH restart.
|
|
349
|
-
- Restart Codex Desktop after integration changes.
|
|
350
|
-
- Every worker returns an auditable Delivery Report (`## Diff` / `## Tests` / `## Risks`) and the isolated candidate captures a bounded, redacted patch so you can verify what changed before accepting.
|
|
351
|
-
- Blocking and async jobs execute the same workflow (evidence-driven escalation + automatic reviewer pass); async just returns a workflow id immediately and continues in the background.
|
|
352
|
-
- `dsh_worker_status` / `dsh_worker_result` / `dsh_worker_cancel` operate on workflow ids (`wf-…`); legacy `hub-…` / `job-…` ids are still accepted.
|
|
353
|
-
- Standalone launches the worker as `node <dsh-sdk-jsonrpc-demo/lib/bin.js>` (Windows-safe; the pnpm `.bin` sh shim is not spawnable). Standalone defaults to the DeepSeek Official provider + `DEEPSEEK_API_KEY`, but honors `DEEPSEEK_BASE_URL` so an OpenAI-compatible gateway (e.g. an `opencode-*` gateway already configured in `~/.dsh`) can back standalone workers by setting both env vars.
|
|
354
|
-
- The Settings UI still presents the legacy Flash/Pro compatibility controls in this transition build; the new worker/reviewer role policy and `execution.isolation` write-through is a follow-up.
|
|
355
|
-
|
|
356
|
-
## Credits & License
|
|
357
|
-
|
|
358
|
-
This fork is based on the original DSH Crew by [ZSeven-W](https://github.com/ZSeven-W/dsh-crew) and retains the original MIT license and attribution. It adds configurable Harness-backed model priorities, worker/reviewer roles, unified job workflows, git-worktree isolation, auditable delivery, and related workflow changes.
|
|
359
|
-
|
|
360
|
-
MIT License — see [LICENSE](LICENSE).
|
|
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>Use Codex Desktop or Claude Code as the orchestrator, and dispatch coding work to isolated DeepSeek Harness workers and reviewers.</strong>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="./README.md"><b>English</b></a> · <a href="./README.zh.md">简体中文</a>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
## What it does
|
|
16
|
+
|
|
17
|
+
DSH Crew adds a small orchestration layer between your coding host and DeepSeek Harness:
|
|
18
|
+
|
|
19
|
+
- **worker** — implements, fixes, tests, searches, and analyzes;
|
|
20
|
+
- **reviewer** — independently reviews the worker result and returns a verdict;
|
|
21
|
+
- **model policy** — resolves provider/model priorities per role and can escalate on evidence;
|
|
22
|
+
- **isolated execution** — coding workers run in temporary git worktrees by default;
|
|
23
|
+
- **live jobs** — Hub sessions expose progress, results, cancellation, routing trace, and readiness data.
|
|
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
|
+
## Install
|
|
40
|
+
|
|
41
|
+
Prerequisites: **Node.js**, **Git**, and **pnpm**.
|
|
42
|
+
|
|
43
|
+
Recommended source setup:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
git clone https://github.com/Ran-sh/dsh-crew.git
|
|
47
|
+
cd dsh-crew
|
|
48
|
+
node scripts/setup.mjs install
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Windows can use:
|
|
52
|
+
|
|
53
|
+
```bat
|
|
54
|
+
install.cmd
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
DSH Crew uses its own Harness home and profile:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
~/.config/dsh-crew/harness
|
|
61
|
+
profile: dsh-crew
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Supported Crew tooling does **not** modify the normal `~/.dsh` home, the official `web` profile, or official DSH credential stores.
|
|
65
|
+
|
|
66
|
+
## Quick start
|
|
67
|
+
|
|
68
|
+
1. Start DeepSeek Harness normally.
|
|
69
|
+
2. Open **Settings → DSH Crew**.
|
|
70
|
+
3. Install the Codex integration; Claude Code integration is optional.
|
|
71
|
+
4. Refresh Harness models and choose role priorities if needed.
|
|
72
|
+
5. Restart the coding host after integration changes.
|
|
73
|
+
|
|
74
|
+
Then ask the host naturally, for example:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
Use ds-worker to implement this change.
|
|
78
|
+
Use ds-reviewer to review the implementation.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Roles and routing
|
|
82
|
+
|
|
83
|
+
| Role | Purpose |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `worker` | Implementation, fixes, tests, search, analysis |
|
|
86
|
+
| `reviewer` | Independent review and verdict |
|
|
87
|
+
|
|
88
|
+
Each role resolves its own ordered provider/model candidates. Explicit user priorities remain authoritative; automatic escalation only happens when the workflow has evidence that stronger execution or review is needed.
|
|
89
|
+
|
|
90
|
+
Legacy `ds-flash` / `ds-pro` aliases remain for compatibility, but new prompts should use `ds-worker` / `ds-reviewer`.
|
|
91
|
+
|
|
92
|
+
## Isolation
|
|
93
|
+
|
|
94
|
+
`execution.isolation` defaults to `worktree`.
|
|
95
|
+
|
|
96
|
+
A coding worker receives a temporary git worktree at the requested revision, so parallel workers do not write into the same working tree. The worker returns an auditable change candidate for the orchestrator to accept, reject, or revise; Crew does not silently merge changes into your primary workspace.
|
|
97
|
+
|
|
98
|
+
## Update / uninstall
|
|
99
|
+
|
|
100
|
+
Update a source install:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
git pull --ff-only
|
|
104
|
+
node scripts/setup.mjs install
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Uninstall Crew and its integrations:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
node scripts/setup.mjs uninstall
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Windows shortcuts:
|
|
114
|
+
|
|
115
|
+
```bat
|
|
116
|
+
install.cmd
|
|
117
|
+
uninstall.cmd
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Crew config and backups under `~/.config/dsh-crew` are preserved unless you remove them yourself.
|
|
121
|
+
|
|
122
|
+
## Development
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
pnpm install --frozen-lockfile
|
|
126
|
+
node --test test/*.test.mjs
|
|
127
|
+
pnpm run build:client
|
|
128
|
+
pnpm run verify:npm-install
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Useful docs:
|
|
132
|
+
|
|
133
|
+
- [Architecture roadmap](./docs/v0.3-architecture-roadmap.md)
|
|
134
|
+
- [Readiness matrix](./docs/readiness-matrix.md)
|
|
135
|
+
- [Agent Workflow](./docs/agent-workflow.md)
|
|
136
|
+
- [Changelog](./CHANGELOG.md)
|
|
137
|
+
|
|
138
|
+
## License
|
|
139
|
+
|
|
140
|
+
MIT
|