@ran-sh/dsh-crew 1.1.1 → 1.2.0-rc.5
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 +16 -17
- package/.claude-plugin/plugin.json +7 -1
- package/README.md +44 -15
- package/README.zh.md +37 -12
- package/agents/ds-flash.md +16 -18
- package/agents/ds-pro.md +16 -24
- package/agents/ds-reviewer.md +15 -15
- package/agents/ds-worker.md +16 -16
- package/bin/dsh-crew.mjs +16 -12
- package/codex/AGENTS.md +37 -85
- package/codex/agents/ds-flash.toml +18 -14
- package/codex/agents/ds-pro.toml +18 -15
- package/codex/agents/ds-reviewer.toml +17 -13
- package/codex/agents/ds-worker.toml +17 -13
- package/codex/prompts/dsh-config.md +17 -1
- package/codex/prompts/dsh-status.md +5 -1
- package/commands/config.md +16 -4
- package/commands/status.md +6 -2
- package/docs/installation.md +54 -9
- package/docs/readiness-matrix.md +14 -6
- package/docs/ui-surfaces.md +32 -17
- package/lib/client.js +769 -177
- package/official-web-bridge/lib/client.js +297 -209
- package/official-web-bridge/overlay-entry.mjs +59 -0
- package/package.json +6 -3
- package/scripts/build-client.mjs +2 -0
- package/scripts/setup.mjs +8 -7
- package/scripts/verify-crew-ui-polish.mjs +145 -0
- package/scripts/verify-history-ui.mjs +97 -0
- package/scripts/verify-npm-install.mjs +1 -1
- package/src/client/history-panel.tsx +108 -0
- package/src/client/host-readiness.mjs +15 -6
- package/src/client/index.tsx +91 -69
- package/src/client/model-callability-view.mjs +17 -0
- package/src/client/panel-chrome.tsx +40 -0
- package/src/client/quick-panel.tsx +88 -73
- package/src/client/readiness-envelope.mjs +34 -0
- package/src/client/task-telemetry.mjs +11 -4
- package/src/config-readiness.mjs +181 -115
- package/src/extension-contract.mjs +44 -26
- package/src/history/admission-gate.mjs +51 -0
- package/src/history/archive-store.mjs +261 -0
- package/src/history/cleanup-plan.mjs +64 -0
- package/src/history/http.mjs +32 -0
- package/src/history/operation.mjs +86 -0
- package/src/history/runner.mjs +51 -0
- package/src/history/runtime.mjs +28 -0
- package/src/history/service.mjs +137 -0
- package/src/history/state.mjs +27 -0
- package/src/hub/index.mjs +141 -24
- package/src/hub-client.mjs +17 -15
- package/src/image-output.mjs +71 -0
- package/src/install/install-legacy.mjs +126 -23
- package/src/install/npx-lifecycle.mjs +373 -64
- package/src/install/official-frontend-assets.mjs +78 -0
- package/src/install/payload-content.mjs +88 -0
- package/src/install/windows-startup.mjs +107 -19
- package/src/install/windows-supervisor-adapter.mjs +443 -0
- package/src/install/windows-supervisor-lifecycle.mjs +782 -0
- package/src/install/zcode.mjs +53 -14
- package/src/job-contracts.mjs +37 -31
- package/src/jobs.mjs +2 -2
- package/src/mcp-runtime.mjs +74 -9
- package/src/model-callability-contract.mjs +79 -0
- package/src/multimodal.mjs +0 -0
- package/src/official-web-bridge.mjs +0 -2
- package/src/provider-health.mjs +130 -124
- package/src/readiness-matrix.mjs +20 -15
- package/src/runtime-identity-contract.mjs +34 -0
- package/src/runtime-identity.mjs +14 -4
- package/src/runtime-readiness-snapshot.mjs +285 -87
- package/src/server.mjs +86 -76
- package/src/standalone-sdk.mjs +23 -0
- package/src/supervisor/restart-request.mjs +64 -10
- package/src/workflow-runtime.mjs +28 -13
- package/windows/start-dsh-crew.cmd +57 -57
- package/windows/start-dsh-crew.ps1 +327 -51
- package/windows/supervisor-control.ps1 +467 -0
- package/zcode/AGENTS.md +4 -1
- package/zcode/agents/ds-reviewer.md +31 -36
- package/zcode/agents/ds-worker.md +31 -39
- package/zcode/commands/dsh-config.md +17 -6
- package/zcode/commands/dsh-status.md +5 -4
- package/.mcp.json +0 -8
package/codex/agents/ds-pro.toml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Codex agent role: DEPRECATED alias for ds-worker (strong hint) / ds-reviewer.
|
|
2
|
-
# Install
|
|
2
|
+
# Install through dsh-crew; the installer resolves __DSH_CREW_ROOT__.
|
|
3
3
|
# Prefer ds-worker or ds-reviewer; model selection is now handled by Model Policy.
|
|
4
4
|
|
|
5
5
|
name = "ds-pro"
|
|
@@ -7,25 +7,28 @@ description = "DEPRECATED alias for ds-worker with a Pro (strong) model-class hi
|
|
|
7
7
|
model = "gpt-5.4-mini"
|
|
8
8
|
|
|
9
9
|
developer_instructions = """
|
|
10
|
-
|
|
10
|
+
Deprecated ds-pro alias; prefer ds-worker/ds-reviewer for new work.
|
|
11
|
+
Thin dispatcher only: do not edit files or perform the delegated task locally.
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
1. Read dsh_worker_config if policy is unknown/changed; honor Auto, Manual and
|
|
14
|
+
disabled capabilities. Explicit review → role "reviewer"; otherwise role "worker". Preserve legacy_tier "pro".
|
|
15
|
+
2. Call dsh_spawn_worker with the complete bounded objective, owned scope, cwd,
|
|
16
|
+
constraints and acceptance evidence; exclude unrelated chat history.
|
|
17
|
+
Backend policy selects models. Omit effort unless explicitly requested.
|
|
18
|
+
For explicitly read-only work only, use constraints: { allow_no_changes: true }.
|
|
19
|
+
3. Save the workflow ID. Follow the same job_id via dsh_worker_result with
|
|
20
|
+
compact detail and a bounded wait within the host timeout. Running is not failure; never redispatch a duplicate.
|
|
21
|
+
4. Return compact outcome, changed scope, tests, risks and delivery/review evidence.
|
|
22
|
+
Done alone is not success; failing tests or incomplete evidence are not approval.
|
|
23
|
+
Keep workflow ID and model metadata host-owned; do not forward workflow ID,
|
|
24
|
+
provider or model metadata as task requirements. Never invent missing counters.
|
|
13
25
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
3. Wait for the tool to return.
|
|
17
|
-
4. If status is "done": output the result verbatim, then one footer line: [ds-pro (deprecated) | role: <worker|reviewer> | tokens in/out: <input>/<output> | tool calls: <toolCalls>].
|
|
18
|
-
5. Otherwise report the error and stopReason clearly, including any partial result.
|
|
19
|
-
|
|
20
|
-
DSH Crew policy (checked in the backend, not by you):
|
|
21
|
-
- 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.
|
|
22
|
-
- Pro is a model-class hint, not a role: a worker can use strong candidates and a reviewer has its own independent policy.
|
|
23
|
-
|
|
24
|
-
Do not edit files, run commands, or answer from your own knowledge.
|
|
26
|
+
If required Crew capability fails, report bounded evidence and await the operator's
|
|
27
|
+
repair-or-local decision. Do not repair, fall back or switch tiers yourself.
|
|
25
28
|
"""
|
|
26
29
|
|
|
27
30
|
[mcp_servers.dsh-crew]
|
|
28
31
|
command = "node"
|
|
29
|
-
args = ["/
|
|
32
|
+
args = ["__DSH_CREW_ROOT__/src/server.mjs"]
|
|
30
33
|
default_tools_approval_mode = "approve"
|
|
31
34
|
tool_timeout_sec = 3600
|
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
# Codex agent role: DSH reviewer (independent review role).
|
|
2
|
-
# Install
|
|
2
|
+
# Install through dsh-crew; the installer resolves __DSH_CREW_ROOT__.
|
|
3
3
|
|
|
4
4
|
name = "ds-reviewer"
|
|
5
5
|
description = "DSH (DeepSeek Harness) reviewer role (runs inside DSH). Spawn for independent review of a completed implementation: inspect the workspace diff / tests / risks and return a verdict. Review-only by default; does NOT implement."
|
|
6
6
|
model = "gpt-5.4-mini"
|
|
7
7
|
|
|
8
8
|
developer_instructions = """
|
|
9
|
-
|
|
9
|
+
Thin dispatcher only: do not edit files or perform the delegated task locally.
|
|
10
10
|
|
|
11
|
-
1.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
1. Read dsh_worker_config if policy is unknown/changed; honor Auto, Manual and
|
|
12
|
+
disabled capabilities. Use role "reviewer".
|
|
13
|
+
2. Call dsh_spawn_worker with the complete bounded objective, owned scope, cwd,
|
|
14
|
+
constraints and acceptance evidence; exclude unrelated chat history.
|
|
15
|
+
Backend policy selects models. Omit effort unless explicitly requested.
|
|
16
|
+
3. Save the workflow ID. Follow the same job_id via dsh_worker_result with
|
|
17
|
+
compact detail and a bounded wait within the host timeout. Running is not failure; never redispatch a duplicate.
|
|
18
|
+
4. Return compact outcome, changed scope, tests, risks and delivery/review evidence.
|
|
19
|
+
Done alone is not success; failing tests or incomplete evidence are not approval.
|
|
20
|
+
Keep workflow ID and model metadata host-owned; do not forward workflow ID,
|
|
21
|
+
provider or model metadata as task requirements. Never invent missing counters.
|
|
15
22
|
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
- A reviewer verdict cannot override failing tests: if the report shows tests_status=FAIL, surface that prominently.
|
|
20
|
-
|
|
21
|
-
Do not edit files, run commands, or answer from your own knowledge.
|
|
23
|
+
If required Crew capability fails, report bounded evidence and await the operator's
|
|
24
|
+
repair-or-local decision. Do not repair, fall back or switch tiers yourself.
|
|
25
|
+
Review is read-only; report requested fixes, do not implement them.
|
|
22
26
|
"""
|
|
23
27
|
|
|
24
28
|
[mcp_servers.dsh-crew]
|
|
25
29
|
command = "node"
|
|
26
|
-
args = ["/
|
|
30
|
+
args = ["__DSH_CREW_ROOT__/src/server.mjs"]
|
|
27
31
|
default_tools_approval_mode = "approve"
|
|
28
32
|
tool_timeout_sec = 3600
|
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
# Codex agent role: DSH worker (execution role).
|
|
2
|
-
# Install
|
|
2
|
+
# Install through dsh-crew; the installer resolves __DSH_CREW_ROOT__.
|
|
3
3
|
|
|
4
4
|
name = "ds-worker"
|
|
5
5
|
description = "DSH (DeepSeek Harness) worker role (runs inside DSH). Spawn for implementation, fixes, tests, search and analysis. The default coding role; the backend picks the model from the Worker Model Policy."
|
|
6
6
|
model = "gpt-5.4-mini"
|
|
7
7
|
|
|
8
8
|
developer_instructions = """
|
|
9
|
-
|
|
9
|
+
Thin dispatcher only: do not edit files or perform the delegated task locally.
|
|
10
10
|
|
|
11
|
-
1.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
1. Read dsh_worker_config if policy is unknown/changed; honor Auto, Manual and
|
|
12
|
+
disabled capabilities. Use role "worker".
|
|
13
|
+
2. Call dsh_spawn_worker with the complete bounded objective, owned scope, cwd,
|
|
14
|
+
constraints and acceptance evidence; exclude unrelated chat history.
|
|
15
|
+
Backend policy selects models. Omit effort unless explicitly requested.
|
|
16
|
+
For explicitly read-only work only, use constraints: { allow_no_changes: true }.
|
|
17
|
+
3. Save the workflow ID. Follow the same job_id via dsh_worker_result with
|
|
18
|
+
compact detail and a bounded wait within the host timeout. Running is not failure; never redispatch a duplicate.
|
|
19
|
+
4. Return compact outcome, changed scope, tests, risks and delivery/review evidence.
|
|
20
|
+
Done alone is not success; failing tests or incomplete evidence are not approval.
|
|
21
|
+
Keep workflow ID and model metadata host-owned; do not forward workflow ID,
|
|
22
|
+
provider or model metadata as task requirements. Never invent missing counters.
|
|
15
23
|
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
- 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.
|
|
19
|
-
- The worker role may be Auto or Manual. The tool refuses disabled roles itself.
|
|
20
|
-
|
|
21
|
-
Do not edit files, run commands, or answer from your own knowledge.
|
|
24
|
+
If required Crew capability fails, report bounded evidence and await the operator's
|
|
25
|
+
repair-or-local decision. Do not repair, fall back or switch tiers yourself.
|
|
22
26
|
"""
|
|
23
27
|
|
|
24
28
|
[mcp_servers.dsh-crew]
|
|
25
29
|
command = "node"
|
|
26
|
-
args = ["/
|
|
30
|
+
args = ["__DSH_CREW_ROOT__/src/server.mjs"]
|
|
27
31
|
default_tools_approval_mode = "approve"
|
|
28
32
|
tool_timeout_sec = 3600
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
Read or update this session with dsh_worker_config. With no arguments, pass {}.
|
|
2
|
+
For changes, parse only the user's requested key=value pairs and validate against
|
|
3
|
+
the current tool schema; do not guess unsupported fields or change global defaults.
|
|
4
|
+
|
|
5
|
+
Aliases → tool fields:
|
|
6
|
+
- enabled → enabled; tier → default_tier; effort → default_effort
|
|
7
|
+
- mode → mode; timeout → default_timeout_seconds; policy → tier_policy
|
|
8
|
+
- escalate → escalate_on_failure; collab → collaboration_mode; main → main_agent_mode
|
|
9
|
+
- flash → flash_state; pro → pro_state; review → pro_reviews_flash
|
|
10
|
+
- reset → reset: true
|
|
11
|
+
|
|
12
|
+
Current writable modes are auto|hub; standalone is legacy read/migration only.
|
|
13
|
+
Crew effort is off|high|max, not the host model's reasoning setting.
|
|
14
|
+
Other values must match the live schema. Report the returned effective policy,
|
|
15
|
+
activation boundaries and changed fields; do not promise that a reset or policy
|
|
16
|
+
alias restores a particular global state without returned evidence.
|
|
17
|
+
Use a compact response in the user's language. No unrelated actions.
|
|
2
18
|
|
|
3
19
|
$ARGUMENTS
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
Call
|
|
1
|
+
Call dsh_worker_status. Summarize the returned workflow IDs, role, phase, task
|
|
2
|
+
and available progress/evidence in a compact list or table. Show tokens/model
|
|
3
|
+
metadata only when returned; missing values are unknown, not zero. If no jobs
|
|
4
|
+
exist, say so. This is read-only: do not dispatch, cancel or alter configuration.
|
|
5
|
+
Reply in the user's language.
|
package/commands/config.md
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Read or set session DSH worker configuration using the live tool schema
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
User input: $ARGUMENTS
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Read or update this session with dsh_worker_config. With no arguments, pass {}.
|
|
8
|
+
For changes, parse only the user's requested key=value pairs and validate against
|
|
9
|
+
the current tool schema; do not guess unsupported fields or change global defaults.
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Aliases → tool fields:
|
|
12
|
+
- enabled → enabled; tier → default_tier; effort → default_effort
|
|
13
|
+
- mode → mode; timeout → default_timeout_seconds; policy → tier_policy
|
|
14
|
+
- escalate → escalate_on_failure; collab → collaboration_mode; main → main_agent_mode
|
|
15
|
+
- flash → flash_state; pro → pro_state; review → pro_reviews_flash
|
|
16
|
+
- reset → reset: true
|
|
10
17
|
|
|
11
|
-
|
|
18
|
+
Current writable modes are auto|hub; standalone is legacy read/migration only.
|
|
19
|
+
Crew effort is off|high|max, not the host model's reasoning setting.
|
|
20
|
+
Other values must match the live schema. Report the returned effective policy,
|
|
21
|
+
activation boundaries and changed fields; do not promise that a reset or policy
|
|
22
|
+
alias restores a particular global state without returned evidence.
|
|
23
|
+
Use a compact response in the user's language. No unrelated actions.
|
package/commands/status.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Read live DSH workflow status without changing jobs
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Call
|
|
5
|
+
Call dsh_worker_status. Summarize the returned workflow IDs, role, phase, task
|
|
6
|
+
and available progress/evidence in a compact list or table. Show tokens/model
|
|
7
|
+
metadata only when returned; missing values are unknown, not zero. If no jobs
|
|
8
|
+
exist, say so. This is read-only: do not dispatch, cancel or alter configuration.
|
|
9
|
+
Reply in the user's language.
|
package/docs/installation.md
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
# Installation plan
|
|
2
2
|
|
|
3
|
-
DSH Crew
|
|
3
|
+
DSH Crew is a plugin for the official DeepSeek Harness and uses an explicit
|
|
4
|
+
installer. Merely installing the npm package does not mutate the host.
|
|
5
|
+
The managed production supervisor is currently supported on Windows; Linux and
|
|
6
|
+
macOS are not yet production runtime targets.
|
|
4
7
|
|
|
5
8
|
## Recommended path
|
|
6
9
|
|
|
7
10
|
```bash
|
|
8
11
|
npm install -g @ran-sh/dsh-crew@latest
|
|
9
12
|
dsh-crew install
|
|
10
|
-
dsh-crew integrate
|
|
11
|
-
dsh-crew status
|
|
12
13
|
```
|
|
13
14
|
|
|
15
|
+
The installer registers the plugin in a dedicated official Harness
|
|
16
|
+
`profile: dsh-crew` served on 3210. This is the canonical Crew control and
|
|
17
|
+
execution surface; it is not a separate or forked Harness product.
|
|
18
|
+
|
|
19
|
+
Desktop `--open` starts or reuses the separately installed official CLI's web
|
|
20
|
+
frontend on 3080, then ensures Crew runs hidden on 3210. It never opens the 3210
|
|
21
|
+
browser automatically. Install the official CLI separately so `dsh.cmd` is on
|
|
22
|
+
PATH. Login startup and `--background` remain Crew-only.
|
|
23
|
+
The launcher adds a Crew-owned overlay pointing to an immutable small frontend
|
|
24
|
+
snapshot. It supplies the simple panel and the link to 3210; the backend links
|
|
25
|
+
back to 3080. An already-running official instance without that overlay must be
|
|
26
|
+
reloaded when idle; the desktop launcher does not terminate existing official work.
|
|
27
|
+
|
|
14
28
|
To test GitHub `main` before an npm release:
|
|
15
29
|
|
|
16
30
|
```bash
|
|
@@ -24,14 +38,37 @@ node scripts/setup.mjs status
|
|
|
24
38
|
|
|
25
39
|
| Surface | Installed behavior | Uninstall behavior |
|
|
26
40
|
| --- | --- | --- |
|
|
27
|
-
| Crew runtime |
|
|
41
|
+
| Crew plugin runtime | Official DeepSeek Harness isolated in `~/.config/dsh-crew/harness`, profile: dsh-crew, with the Crew plugin registered | Plugin registration removed; config kept unless `--purge` |
|
|
28
42
|
| Codex MCP and roles | Points Worker, Reviewer, and MCP to the installed release | Only DSH Crew entries are removed |
|
|
29
43
|
| Global Codex policy | Managed block inside `~/.codex/AGENTS.md` | Only the managed block is removed |
|
|
30
44
|
| ZCode MCP, agents and commands | Installs `~/.zcode/AGENTS.md`, `agents/{ds-worker,ds-reviewer}.md`, commands and a source-aware `dsh-crew` MCP entry | Only DSH Crew-owned files/entry are removed |
|
|
31
|
-
| Windows login startup | `DSH Crew.vbs`, `start-dsh-crew.cmd`,
|
|
32
|
-
| Official 3080 UI |
|
|
45
|
+
| Windows login startup | `DSH Crew.vbs`, `start-dsh-crew.cmd`, `start-dsh-crew.ps1`, the exact process controller, and its hash manifest | Only DSH Crew-owned files are removed; foreign pre-existing content at those exact paths is preserved or fails closed |
|
|
46
|
+
| Official 3080 UI | Desktop launch starts/reuses the official program; Crew installer does not register plugins in its profile | Left running and untouched by Crew uninstall |
|
|
47
|
+
|
|
48
|
+
The Windows launcher supervises only the Crew-owned 3210 service, so provider
|
|
49
|
+
restart and rollback operations have one verifiable supervisor. The official
|
|
50
|
+
3080 surface never starts, owns, or supervises 3210. The launcher does not
|
|
51
|
+
store credentials.
|
|
52
|
+
|
|
53
|
+
`dsh-crew install`, `update`, and `rollback` automatically perform an exact,
|
|
54
|
+
crash-resumable watcher handoff after the payload transaction. The updater
|
|
55
|
+
reserves handoff ownership before releasing its update lock, resumes any
|
|
56
|
+
unfinished handoff first, and succeeds only after the isolated 3210 runtime
|
|
57
|
+
reports the expected Crew and DSH versions.
|
|
33
58
|
|
|
34
|
-
|
|
59
|
+
On Windows, installation registers login startup. To start immediately and
|
|
60
|
+
open the Crew control:
|
|
61
|
+
|
|
62
|
+
```powershell
|
|
63
|
+
& "$env:USERPROFILE\.config\dsh-crew\launchers\start-dsh-crew.cmd" --open
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Then verify <http://127.0.0.1:3210/> answers the Crew extension contract.
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
dsh-crew status
|
|
70
|
+
dsh-crew inspect
|
|
71
|
+
```
|
|
35
72
|
|
|
36
73
|
ZCode uses `~/.zcode/cli/config.json` when it already has native MCP servers. If
|
|
37
74
|
that native list is empty, the installer uses `~/.agents/mcp.json`; unrelated
|
|
@@ -53,10 +90,18 @@ pnpm run build:client
|
|
|
53
90
|
npm pack --dry-run
|
|
54
91
|
```
|
|
55
92
|
|
|
56
|
-
## Rollback
|
|
93
|
+
## Rollback vs uninstall
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
dsh-crew releases list
|
|
97
|
+
dsh-crew rollback <version>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Use `dsh-crew rollback <version>` to switch the retained payload and verify the
|
|
101
|
+
3210 runtime. Use `dsh-crew uninstall` only to remove managed files (backups and
|
|
102
|
+
config are kept unless `--purge` is passed).
|
|
57
103
|
|
|
58
104
|
```bash
|
|
59
|
-
dsh-crew detach
|
|
60
105
|
dsh-crew uninstall
|
|
61
106
|
```
|
|
62
107
|
|
package/docs/readiness-matrix.md
CHANGED
|
@@ -24,10 +24,10 @@ The matrix separates three kinds of evidence:
|
|
|
24
24
|
2. `ci` — platform validation such as Linux deterministic, Windows regressions, and future macOS smoke.
|
|
25
25
|
3. `real-execution` — provider/model and workflow behavior that requires a genuine DSH execution.
|
|
26
26
|
|
|
27
|
-
Live checks are populated automatically. The config report also consumes the
|
|
28
|
-
compatible Hub's bounded job registry, so a completed Worker or Reviewer can
|
|
29
|
-
promote the corresponding generic real-execution row. Other CI and execution
|
|
30
|
-
rows remain `NOT_RUN` until a trusted higher layer supplies explicit evidence.
|
|
27
|
+
Live checks are populated automatically. The config report also consumes the
|
|
28
|
+
compatible Hub's bounded job registry, so a completed Worker or Reviewer can
|
|
29
|
+
promote the corresponding generic real-execution row. Other CI and execution
|
|
30
|
+
rows remain `NOT_RUN` until a trusted higher layer supplies explicit evidence.
|
|
31
31
|
|
|
32
32
|
## Target rows
|
|
33
33
|
|
|
@@ -35,8 +35,10 @@ rows remain `NOT_RUN` until a trusted higher layer supplies explicit evidence.
|
|
|
35
35
|
- `windows_regressions`
|
|
36
36
|
- `macos_smoke`
|
|
37
37
|
- `hub_compatibility`
|
|
38
|
-
- `provider_catalog`
|
|
39
|
-
- `
|
|
38
|
+
- `provider_catalog`
|
|
39
|
+
- `provider_health`
|
|
40
|
+
- `reviewer_health`
|
|
41
|
+
- `model_execution`
|
|
40
42
|
- `deepseek_flash`
|
|
41
43
|
- `deepseek_pro`
|
|
42
44
|
- `opencode_go_mimo_qwen`
|
|
@@ -44,6 +46,12 @@ rows remain `NOT_RUN` until a trusted higher layer supplies explicit evidence.
|
|
|
44
46
|
- `cancellation_timeout_escalation`
|
|
45
47
|
- `standalone_official`
|
|
46
48
|
|
|
49
|
+
`provider_health` and `reviewer_health` describe only the currently resolved
|
|
50
|
+
Worker and Reviewer routes. A fresh negative observation overrides historical
|
|
51
|
+
success; unrelated providers and stale observations do not. Historical jobs
|
|
52
|
+
count only when their provider/model matches the corresponding current route,
|
|
53
|
+
with escalation evidence matched against the current escalation route.
|
|
54
|
+
|
|
47
55
|
## Provider/catalog rule
|
|
48
56
|
|
|
49
57
|
The Hub client does not know the active worker provider mode, so its embedded matrix leaves `provider_catalog` as `NOT_RUN` with `PROVIDER_MODE_UNKNOWN` rather than guessing.
|
package/docs/ui-surfaces.md
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
# 3210 and 3080 UI responsibilities
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
The
|
|
10
|
-
|
|
3
|
+
The desktop entry opens the official frontend with a simple Crew panel on 3080. Crew runs hidden on 3210;
|
|
4
|
+
its web page is an explicit advanced-settings entry, not the default browser tab.
|
|
5
|
+
The background watcher manages only 3210. Desktop launch may start the official
|
|
6
|
+
program but never uses it as authority to restart, update or roll back Crew.
|
|
7
|
+
The simple panel is mounted through a `--patch` file under the Crew-owned home,
|
|
8
|
+
with immutable frontend revisions kept independently of backend release cleanup.
|
|
9
|
+
The 3080 button opens 3210; the 3210 button opens 3080.
|
|
10
|
+
|
|
11
|
+
DSH Crew is a plugin attached to the official DeepSeek Harness. Current installs
|
|
12
|
+
register it in a dedicated official Harness `dsh-crew` profile whose native 3210
|
|
13
|
+
page is the canonical full Crew control and execution surface. An older
|
|
14
|
+
installation may still expose a narrow 3080 quick-controls bundle, but that
|
|
15
|
+
legacy surface is external to Crew ownership, optional, and deprecated. Crew
|
|
16
|
+
treats the official profile as read-only. The legacy surface
|
|
17
|
+
never starts, owns, or supervises 3210.
|
|
18
|
+
|
|
19
|
+
## 3210: official Harness profile with the Crew plugin
|
|
20
|
+
|
|
21
|
+
The Crew-owned official Harness `dsh-crew` profile on `127.0.0.1:3210` loads the
|
|
22
|
+
DSH Crew plugin and owns day-to-day Crew management and model execution:
|
|
11
23
|
|
|
12
24
|
- Crew workflow and global enablement
|
|
13
25
|
- Worker and Reviewer policy
|
|
@@ -22,10 +34,10 @@ management AND model execution:
|
|
|
22
34
|
Bundle: `lib/client.js` (module `@ran-sh/dsh-crew`), built from
|
|
23
35
|
`src/client/entry.tsx`.
|
|
24
36
|
|
|
25
|
-
## 3080: optional
|
|
37
|
+
## 3080: official frontend; optional legacy Crew controls
|
|
26
38
|
|
|
27
|
-
|
|
28
|
-
quick-controls card — and nothing else:
|
|
39
|
+
An older official Harness `web` profile on `127.0.0.1:3080` may still host a
|
|
40
|
+
NARROW quick-controls card — and nothing else:
|
|
29
41
|
|
|
30
42
|
- master switch (`subagents_enabled`)
|
|
31
43
|
- Flash / Pro model priority lists (add/remove/reorder only)
|
|
@@ -37,9 +49,9 @@ Bundle: `official-web-bridge/lib/client.js` (module
|
|
|
37
49
|
It physically contains none of the full control-plane code (no credential
|
|
38
50
|
purge, no provider delete/migration, no install integration).
|
|
39
51
|
|
|
40
|
-
The 3080 bridge proxies ONLY
|
|
41
|
-
`quick-config
|
|
42
|
-
|
|
52
|
+
The 3080 bridge proxies ONLY two exact endpoints to 3210:
|
|
53
|
+
`quick-config` and `quick-status`. Restart and rollback belong to 3210;
|
|
54
|
+
the quick panel links there when needed. Everything else on the Crew namespace is 404 on
|
|
43
55
|
3080, and `/supervisor/restart` returns 410 Gone pointing at 3210.
|
|
44
56
|
|
|
45
57
|
The official `~/.dsh` tree is strictly read-only for Crew; the 3080 quick
|
|
@@ -87,6 +99,9 @@ authentication.
|
|
|
87
99
|
## Process ownership
|
|
88
100
|
|
|
89
101
|
The Windows launcher supervisor (`windows/start-dsh-crew.ps1` watch mode) is
|
|
90
|
-
the ONLY process authority for 3210. The 3080
|
|
91
|
-
|
|
92
|
-
writes and the launcher executes
|
|
102
|
+
the ONLY process authority for the Crew-owned 3210 service. The official 3080
|
|
103
|
+
surface never starts, owns, or supervises 3210. Restart and maintenance go
|
|
104
|
+
through durable request files the hub writes and the launcher executes
|
|
105
|
+
(`supervisor/restart-request.mjs`). Ordinary backend startup does not probe the
|
|
106
|
+
legacy bridge. Desktop opening uses the official process and root HTTP response,
|
|
107
|
+
independently of whether that process has any Crew plugin installed.
|