@ran-sh/dsh-crew 1.7.0 → 1.7.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/plugin.json +1 -1
- package/package.json +233 -232
- package/skills/dsh-crew/SKILL.md +118 -0
- package/src/install/install-legacy.mjs +1 -8
- package/src/runtime-identity.mjs +1 -1
- package/codex/AGENTS.md +0 -53
- package/zcode/AGENTS.md +0 -38
package/package.json
CHANGED
|
@@ -1,232 +1,233 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@ran-sh/dsh-crew",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"main": "./src/hub/entry.mjs",
|
|
6
|
-
"bin": {
|
|
7
|
-
"dsh-crew": "bin/dsh-crew.mjs"
|
|
8
|
-
},
|
|
9
|
-
"description": "DeepSeek Harness plugin: dispatch work to DSH agents from Claude Code / Codex, as native subagents with live progress",
|
|
10
|
-
"dshCrew": {
|
|
11
|
-
"payloadSchema": 2,
|
|
12
|
-
"windowsSupervisorHandoff": 1
|
|
13
|
-
},
|
|
14
|
-
"dsh": {
|
|
15
|
-
"bundle": {
|
|
16
|
-
"patch": "./cordis.patch.yml"
|
|
17
|
-
},
|
|
18
|
-
"client": {
|
|
19
|
-
"inject": [
|
|
20
|
-
"@deepseek-ai/dsh-client-ui-renderer",
|
|
21
|
-
"@deepseek-ai/dsh-client-locale",
|
|
22
|
-
"@deepseek-ai/dsh-client-ui-settings"
|
|
23
|
-
],
|
|
24
|
-
"platform": "web"
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
"scripts": {
|
|
28
|
-
"mcp": "node src/server.mjs",
|
|
29
|
-
"build:client": "tsdown src/client/entry.tsx --format cjs --platform browser --target es2022 --tsconfig tsconfig.client.json --deps.never-bundle react --deps.never-bundle react/jsx-runtime --deps.never-bundle react-dom --deps.never-bundle react-dom/client --out-dir .client-build --clean --logLevel warn && tsdown src/client/quick-entry.tsx --format cjs --platform browser --target es2022 --tsconfig tsconfig.client.json --deps.never-bundle react --deps.never-bundle react/jsx-runtime --deps.never-bundle react-dom --deps.never-bundle react-dom/client --out-dir .client-build --no-clean --logLevel warn && node scripts/build-client.mjs",
|
|
30
|
-
"verify:npm-install": "node scripts/verify-npm-install.mjs",
|
|
31
|
-
"verify:npm-install:official": "node scripts/verify-npm-install.mjs --with-official-dsh",
|
|
32
|
-
"verify:official-bridge": "node scripts/verify-official-bridge-e2e.mjs --diagnostic-only"
|
|
33
|
-
},
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@modelcontextprotocol/sdk": "^1.25.4",
|
|
36
|
-
"zod": "^3.24.0"
|
|
37
|
-
},
|
|
38
|
-
"exports": {
|
|
39
|
-
".": "./src/hub/entry.mjs",
|
|
40
|
-
"./client": "./lib/client.js",
|
|
41
|
-
"./package.json": "./package.json"
|
|
42
|
-
},
|
|
43
|
-
"peerDependencies": {
|
|
44
|
-
"@deepseek-ai/dsh": "0.1.5-rc.2",
|
|
45
|
-
"@deepseek-ai/dsh-agent": "0.1.5-rc.2",
|
|
46
|
-
"@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
|
|
47
|
-
"@deepseek-ai/dsh-agent-presets": "0.1.5-rc.2",
|
|
48
|
-
"@deepseek-ai/dsh-bash-local": "0.1.5-rc.2",
|
|
49
|
-
"@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
|
|
50
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.1.5-rc.2",
|
|
51
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
|
|
52
|
-
"@deepseek-ai/dsh-compaction-basic": "0.1.5-rc.2",
|
|
53
|
-
"@deepseek-ai/dsh-fs-local": "0.1.5-rc.2",
|
|
54
|
-
"@deepseek-ai/dsh-fs-observation-policy": "0.1.5-rc.2",
|
|
55
|
-
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
|
|
56
|
-
"@deepseek-ai/dsh-llm-deepseek": "0.1.5-rc.2",
|
|
57
|
-
"@deepseek-ai/dsh-sandbox-local": "0.1.5-rc.2",
|
|
58
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.1.5-rc.2",
|
|
59
|
-
"@deepseek-ai/dsh-sdk-client": "0.1.5-rc.2",
|
|
60
|
-
"@deepseek-ai/dsh-sdk-jsonrpc-server": "0.1.5-rc.2",
|
|
61
|
-
"@deepseek-ai/dsh-sdk-minimal": "0.1.5-rc.2",
|
|
62
|
-
"@deepseek-ai/dsh-session": "0.1.5-rc.2",
|
|
63
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.5-rc.2",
|
|
64
|
-
"@deepseek-ai/dsh-subprocess-local": "0.1.5-rc.2",
|
|
65
|
-
"@deepseek-ai/dsh-token-meter": "0.1.5-rc.2",
|
|
66
|
-
"@deepseek-ai/dsh-tool-fs": "0.1.5-rc.2",
|
|
67
|
-
"@deepseek-ai/dsh-tool-todo": "0.1.5-rc.2",
|
|
68
|
-
"react": "^18.0.0",
|
|
69
|
-
"react-dom": "^18.0.0"
|
|
70
|
-
},
|
|
71
|
-
"peerDependenciesMeta": {
|
|
72
|
-
"@deepseek-ai/dsh": {
|
|
73
|
-
"optional": true
|
|
74
|
-
},
|
|
75
|
-
"@deepseek-ai/dsh-agent": {
|
|
76
|
-
"optional": true
|
|
77
|
-
},
|
|
78
|
-
"@deepseek-ai/dsh-agent-loop": {
|
|
79
|
-
"optional": true
|
|
80
|
-
},
|
|
81
|
-
"@deepseek-ai/dsh-agent-presets": {
|
|
82
|
-
"optional": true
|
|
83
|
-
},
|
|
84
|
-
"@deepseek-ai/dsh-bash-local": {
|
|
85
|
-
"optional": true
|
|
86
|
-
},
|
|
87
|
-
"@deepseek-ai/dsh-client-locale": {
|
|
88
|
-
"optional": true
|
|
89
|
-
},
|
|
90
|
-
"@deepseek-ai/dsh-client-ui-renderer": {
|
|
91
|
-
"optional": true
|
|
92
|
-
},
|
|
93
|
-
"@deepseek-ai/dsh-client-ui-settings": {
|
|
94
|
-
"optional": true
|
|
95
|
-
},
|
|
96
|
-
"@deepseek-ai/dsh-compaction-basic": {
|
|
97
|
-
"optional": true
|
|
98
|
-
},
|
|
99
|
-
"@deepseek-ai/dsh-fs-local": {
|
|
100
|
-
"optional": true
|
|
101
|
-
},
|
|
102
|
-
"@deepseek-ai/dsh-fs-observation-policy": {
|
|
103
|
-
"optional": true
|
|
104
|
-
},
|
|
105
|
-
"@deepseek-ai/dsh-llm": {
|
|
106
|
-
"optional": true
|
|
107
|
-
},
|
|
108
|
-
"@deepseek-ai/dsh-llm-deepseek": {
|
|
109
|
-
"optional": true
|
|
110
|
-
},
|
|
111
|
-
"@deepseek-ai/dsh-sandbox-local": {
|
|
112
|
-
"optional": true
|
|
113
|
-
},
|
|
114
|
-
"@deepseek-ai/dsh-sandbox-policy": {
|
|
115
|
-
"optional": true
|
|
116
|
-
},
|
|
117
|
-
"@deepseek-ai/dsh-sdk-client": {
|
|
118
|
-
"optional": true
|
|
119
|
-
},
|
|
120
|
-
"@deepseek-ai/dsh-sdk-jsonrpc-server": {
|
|
121
|
-
"optional": true
|
|
122
|
-
},
|
|
123
|
-
"@deepseek-ai/dsh-sdk-minimal": {
|
|
124
|
-
"optional": true
|
|
125
|
-
},
|
|
126
|
-
"@deepseek-ai/dsh-session": {
|
|
127
|
-
"optional": true
|
|
128
|
-
},
|
|
129
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": {
|
|
130
|
-
"optional": true
|
|
131
|
-
},
|
|
132
|
-
"@deepseek-ai/dsh-subprocess-local": {
|
|
133
|
-
"optional": true
|
|
134
|
-
},
|
|
135
|
-
"@deepseek-ai/dsh-token-meter": {
|
|
136
|
-
"optional": true
|
|
137
|
-
},
|
|
138
|
-
"@deepseek-ai/dsh-tool-fs": {
|
|
139
|
-
"optional": true
|
|
140
|
-
},
|
|
141
|
-
"@deepseek-ai/dsh-tool-todo": {
|
|
142
|
-
"optional": true
|
|
143
|
-
},
|
|
144
|
-
"react": {
|
|
145
|
-
"optional": true
|
|
146
|
-
},
|
|
147
|
-
"react-dom": {
|
|
148
|
-
"optional": true
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
"devDependencies": {
|
|
152
|
-
"@deepseek-ai/dsh": "0.1.5-rc.2",
|
|
153
|
-
"@deepseek-ai/dsh-agent": "0.1.5-rc.2",
|
|
154
|
-
"@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
|
|
155
|
-
"@deepseek-ai/dsh-agent-presets": "0.1.5-rc.2",
|
|
156
|
-
"@deepseek-ai/dsh-bash-local": "0.1.5-rc.2",
|
|
157
|
-
"@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
|
|
158
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.1.5-rc.2",
|
|
159
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
|
|
160
|
-
"@deepseek-ai/dsh-compaction-basic": "0.1.5-rc.2",
|
|
161
|
-
"@deepseek-ai/dsh-fs-local": "0.1.5-rc.2",
|
|
162
|
-
"@deepseek-ai/dsh-fs-observation-policy": "0.1.5-rc.2",
|
|
163
|
-
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
|
|
164
|
-
"@deepseek-ai/dsh-llm-deepseek": "0.1.5-rc.2",
|
|
165
|
-
"@deepseek-ai/dsh-sandbox-local": "0.1.5-rc.2",
|
|
166
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.1.5-rc.2",
|
|
167
|
-
"@deepseek-ai/dsh-sdk-client": "0.1.5-rc.2",
|
|
168
|
-
"@deepseek-ai/dsh-sdk-jsonrpc-server": "0.1.5-rc.2",
|
|
169
|
-
"@deepseek-ai/dsh-sdk-minimal": "0.1.5-rc.2",
|
|
170
|
-
"@deepseek-ai/dsh-session": "0.1.5-rc.2",
|
|
171
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.5-rc.2",
|
|
172
|
-
"@deepseek-ai/dsh-subprocess-local": "0.1.5-rc.2",
|
|
173
|
-
"@deepseek-ai/dsh-token-meter": "0.1.5-rc.2",
|
|
174
|
-
"@deepseek-ai/dsh-tool-fs": "0.1.5-rc.2",
|
|
175
|
-
"@deepseek-ai/dsh-tool-todo": "0.1.5-rc.2",
|
|
176
|
-
"@types/react": "^18.3.0",
|
|
177
|
-
"react": "^18.3.1",
|
|
178
|
-
"react-dom": "^18.3.1",
|
|
179
|
-
"tsdown": "0.22.14",
|
|
180
|
-
"typescript": "^5.6.0"
|
|
181
|
-
},
|
|
182
|
-
"license": "MIT",
|
|
183
|
-
"repository": {
|
|
184
|
-
"type": "git",
|
|
185
|
-
"url": "git+https://github.com/Ran-sh/dsh-crew.git"
|
|
186
|
-
},
|
|
187
|
-
"homepage": "https://github.com/Ran-sh/dsh-crew",
|
|
188
|
-
"bugs": {
|
|
189
|
-
"url": "https://github.com/Ran-sh/dsh-crew/issues"
|
|
190
|
-
},
|
|
191
|
-
"keywords": [
|
|
192
|
-
"dsh",
|
|
193
|
-
"deepseek",
|
|
194
|
-
"claude-code",
|
|
195
|
-
"codex",
|
|
196
|
-
"zcode",
|
|
197
|
-
"windows",
|
|
198
|
-
"subagent",
|
|
199
|
-
"worker",
|
|
200
|
-
"multimodal",
|
|
201
|
-
"plugin",
|
|
202
|
-
"agent"
|
|
203
|
-
],
|
|
204
|
-
"files": [
|
|
205
|
-
"bin",
|
|
206
|
-
"lib",
|
|
207
|
-
"src",
|
|
208
|
-
"scripts",
|
|
209
|
-
"agents",
|
|
210
|
-
"commands",
|
|
211
|
-
"codex",
|
|
212
|
-
"zcode",
|
|
213
|
-
"
|
|
214
|
-
"
|
|
215
|
-
"
|
|
216
|
-
"
|
|
217
|
-
"
|
|
218
|
-
".
|
|
219
|
-
"
|
|
220
|
-
"README
|
|
221
|
-
"
|
|
222
|
-
"docs/
|
|
223
|
-
"docs/
|
|
224
|
-
"docs/
|
|
225
|
-
"docs/
|
|
226
|
-
"docs/
|
|
227
|
-
"docs/images/dsh-crew-
|
|
228
|
-
"docs/images/dsh-crew-
|
|
229
|
-
"docs/images/dsh-crew-
|
|
230
|
-
"
|
|
231
|
-
|
|
232
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@ran-sh/dsh-crew",
|
|
3
|
+
"version": "1.7.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./src/hub/entry.mjs",
|
|
6
|
+
"bin": {
|
|
7
|
+
"dsh-crew": "bin/dsh-crew.mjs"
|
|
8
|
+
},
|
|
9
|
+
"description": "DeepSeek Harness plugin: dispatch work to DSH agents from Claude Code / Codex, as native subagents with live progress",
|
|
10
|
+
"dshCrew": {
|
|
11
|
+
"payloadSchema": 2,
|
|
12
|
+
"windowsSupervisorHandoff": 1
|
|
13
|
+
},
|
|
14
|
+
"dsh": {
|
|
15
|
+
"bundle": {
|
|
16
|
+
"patch": "./cordis.patch.yml"
|
|
17
|
+
},
|
|
18
|
+
"client": {
|
|
19
|
+
"inject": [
|
|
20
|
+
"@deepseek-ai/dsh-client-ui-renderer",
|
|
21
|
+
"@deepseek-ai/dsh-client-locale",
|
|
22
|
+
"@deepseek-ai/dsh-client-ui-settings"
|
|
23
|
+
],
|
|
24
|
+
"platform": "web"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"mcp": "node src/server.mjs",
|
|
29
|
+
"build:client": "tsdown src/client/entry.tsx --format cjs --platform browser --target es2022 --tsconfig tsconfig.client.json --deps.never-bundle react --deps.never-bundle react/jsx-runtime --deps.never-bundle react-dom --deps.never-bundle react-dom/client --out-dir .client-build --clean --logLevel warn && tsdown src/client/quick-entry.tsx --format cjs --platform browser --target es2022 --tsconfig tsconfig.client.json --deps.never-bundle react --deps.never-bundle react/jsx-runtime --deps.never-bundle react-dom --deps.never-bundle react-dom/client --out-dir .client-build --no-clean --logLevel warn && node scripts/build-client.mjs",
|
|
30
|
+
"verify:npm-install": "node scripts/verify-npm-install.mjs",
|
|
31
|
+
"verify:npm-install:official": "node scripts/verify-npm-install.mjs --with-official-dsh",
|
|
32
|
+
"verify:official-bridge": "node scripts/verify-official-bridge-e2e.mjs --diagnostic-only"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@modelcontextprotocol/sdk": "^1.25.4",
|
|
36
|
+
"zod": "^3.24.0"
|
|
37
|
+
},
|
|
38
|
+
"exports": {
|
|
39
|
+
".": "./src/hub/entry.mjs",
|
|
40
|
+
"./client": "./lib/client.js",
|
|
41
|
+
"./package.json": "./package.json"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"@deepseek-ai/dsh": "0.1.5-rc.2",
|
|
45
|
+
"@deepseek-ai/dsh-agent": "0.1.5-rc.2",
|
|
46
|
+
"@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
|
|
47
|
+
"@deepseek-ai/dsh-agent-presets": "0.1.5-rc.2",
|
|
48
|
+
"@deepseek-ai/dsh-bash-local": "0.1.5-rc.2",
|
|
49
|
+
"@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
|
|
50
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.1.5-rc.2",
|
|
51
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
|
|
52
|
+
"@deepseek-ai/dsh-compaction-basic": "0.1.5-rc.2",
|
|
53
|
+
"@deepseek-ai/dsh-fs-local": "0.1.5-rc.2",
|
|
54
|
+
"@deepseek-ai/dsh-fs-observation-policy": "0.1.5-rc.2",
|
|
55
|
+
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
|
|
56
|
+
"@deepseek-ai/dsh-llm-deepseek": "0.1.5-rc.2",
|
|
57
|
+
"@deepseek-ai/dsh-sandbox-local": "0.1.5-rc.2",
|
|
58
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.5-rc.2",
|
|
59
|
+
"@deepseek-ai/dsh-sdk-client": "0.1.5-rc.2",
|
|
60
|
+
"@deepseek-ai/dsh-sdk-jsonrpc-server": "0.1.5-rc.2",
|
|
61
|
+
"@deepseek-ai/dsh-sdk-minimal": "0.1.5-rc.2",
|
|
62
|
+
"@deepseek-ai/dsh-session": "0.1.5-rc.2",
|
|
63
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.5-rc.2",
|
|
64
|
+
"@deepseek-ai/dsh-subprocess-local": "0.1.5-rc.2",
|
|
65
|
+
"@deepseek-ai/dsh-token-meter": "0.1.5-rc.2",
|
|
66
|
+
"@deepseek-ai/dsh-tool-fs": "0.1.5-rc.2",
|
|
67
|
+
"@deepseek-ai/dsh-tool-todo": "0.1.5-rc.2",
|
|
68
|
+
"react": "^18.0.0",
|
|
69
|
+
"react-dom": "^18.0.0"
|
|
70
|
+
},
|
|
71
|
+
"peerDependenciesMeta": {
|
|
72
|
+
"@deepseek-ai/dsh": {
|
|
73
|
+
"optional": true
|
|
74
|
+
},
|
|
75
|
+
"@deepseek-ai/dsh-agent": {
|
|
76
|
+
"optional": true
|
|
77
|
+
},
|
|
78
|
+
"@deepseek-ai/dsh-agent-loop": {
|
|
79
|
+
"optional": true
|
|
80
|
+
},
|
|
81
|
+
"@deepseek-ai/dsh-agent-presets": {
|
|
82
|
+
"optional": true
|
|
83
|
+
},
|
|
84
|
+
"@deepseek-ai/dsh-bash-local": {
|
|
85
|
+
"optional": true
|
|
86
|
+
},
|
|
87
|
+
"@deepseek-ai/dsh-client-locale": {
|
|
88
|
+
"optional": true
|
|
89
|
+
},
|
|
90
|
+
"@deepseek-ai/dsh-client-ui-renderer": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"@deepseek-ai/dsh-client-ui-settings": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"@deepseek-ai/dsh-compaction-basic": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
99
|
+
"@deepseek-ai/dsh-fs-local": {
|
|
100
|
+
"optional": true
|
|
101
|
+
},
|
|
102
|
+
"@deepseek-ai/dsh-fs-observation-policy": {
|
|
103
|
+
"optional": true
|
|
104
|
+
},
|
|
105
|
+
"@deepseek-ai/dsh-llm": {
|
|
106
|
+
"optional": true
|
|
107
|
+
},
|
|
108
|
+
"@deepseek-ai/dsh-llm-deepseek": {
|
|
109
|
+
"optional": true
|
|
110
|
+
},
|
|
111
|
+
"@deepseek-ai/dsh-sandbox-local": {
|
|
112
|
+
"optional": true
|
|
113
|
+
},
|
|
114
|
+
"@deepseek-ai/dsh-sandbox-policy": {
|
|
115
|
+
"optional": true
|
|
116
|
+
},
|
|
117
|
+
"@deepseek-ai/dsh-sdk-client": {
|
|
118
|
+
"optional": true
|
|
119
|
+
},
|
|
120
|
+
"@deepseek-ai/dsh-sdk-jsonrpc-server": {
|
|
121
|
+
"optional": true
|
|
122
|
+
},
|
|
123
|
+
"@deepseek-ai/dsh-sdk-minimal": {
|
|
124
|
+
"optional": true
|
|
125
|
+
},
|
|
126
|
+
"@deepseek-ai/dsh-session": {
|
|
127
|
+
"optional": true
|
|
128
|
+
},
|
|
129
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": {
|
|
130
|
+
"optional": true
|
|
131
|
+
},
|
|
132
|
+
"@deepseek-ai/dsh-subprocess-local": {
|
|
133
|
+
"optional": true
|
|
134
|
+
},
|
|
135
|
+
"@deepseek-ai/dsh-token-meter": {
|
|
136
|
+
"optional": true
|
|
137
|
+
},
|
|
138
|
+
"@deepseek-ai/dsh-tool-fs": {
|
|
139
|
+
"optional": true
|
|
140
|
+
},
|
|
141
|
+
"@deepseek-ai/dsh-tool-todo": {
|
|
142
|
+
"optional": true
|
|
143
|
+
},
|
|
144
|
+
"react": {
|
|
145
|
+
"optional": true
|
|
146
|
+
},
|
|
147
|
+
"react-dom": {
|
|
148
|
+
"optional": true
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"devDependencies": {
|
|
152
|
+
"@deepseek-ai/dsh": "0.1.5-rc.2",
|
|
153
|
+
"@deepseek-ai/dsh-agent": "0.1.5-rc.2",
|
|
154
|
+
"@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
|
|
155
|
+
"@deepseek-ai/dsh-agent-presets": "0.1.5-rc.2",
|
|
156
|
+
"@deepseek-ai/dsh-bash-local": "0.1.5-rc.2",
|
|
157
|
+
"@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
|
|
158
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.1.5-rc.2",
|
|
159
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
|
|
160
|
+
"@deepseek-ai/dsh-compaction-basic": "0.1.5-rc.2",
|
|
161
|
+
"@deepseek-ai/dsh-fs-local": "0.1.5-rc.2",
|
|
162
|
+
"@deepseek-ai/dsh-fs-observation-policy": "0.1.5-rc.2",
|
|
163
|
+
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
|
|
164
|
+
"@deepseek-ai/dsh-llm-deepseek": "0.1.5-rc.2",
|
|
165
|
+
"@deepseek-ai/dsh-sandbox-local": "0.1.5-rc.2",
|
|
166
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.5-rc.2",
|
|
167
|
+
"@deepseek-ai/dsh-sdk-client": "0.1.5-rc.2",
|
|
168
|
+
"@deepseek-ai/dsh-sdk-jsonrpc-server": "0.1.5-rc.2",
|
|
169
|
+
"@deepseek-ai/dsh-sdk-minimal": "0.1.5-rc.2",
|
|
170
|
+
"@deepseek-ai/dsh-session": "0.1.5-rc.2",
|
|
171
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.5-rc.2",
|
|
172
|
+
"@deepseek-ai/dsh-subprocess-local": "0.1.5-rc.2",
|
|
173
|
+
"@deepseek-ai/dsh-token-meter": "0.1.5-rc.2",
|
|
174
|
+
"@deepseek-ai/dsh-tool-fs": "0.1.5-rc.2",
|
|
175
|
+
"@deepseek-ai/dsh-tool-todo": "0.1.5-rc.2",
|
|
176
|
+
"@types/react": "^18.3.0",
|
|
177
|
+
"react": "^18.3.1",
|
|
178
|
+
"react-dom": "^18.3.1",
|
|
179
|
+
"tsdown": "0.22.14",
|
|
180
|
+
"typescript": "^5.6.0"
|
|
181
|
+
},
|
|
182
|
+
"license": "MIT",
|
|
183
|
+
"repository": {
|
|
184
|
+
"type": "git",
|
|
185
|
+
"url": "git+https://github.com/Ran-sh/dsh-crew.git"
|
|
186
|
+
},
|
|
187
|
+
"homepage": "https://github.com/Ran-sh/dsh-crew",
|
|
188
|
+
"bugs": {
|
|
189
|
+
"url": "https://github.com/Ran-sh/dsh-crew/issues"
|
|
190
|
+
},
|
|
191
|
+
"keywords": [
|
|
192
|
+
"dsh",
|
|
193
|
+
"deepseek",
|
|
194
|
+
"claude-code",
|
|
195
|
+
"codex",
|
|
196
|
+
"zcode",
|
|
197
|
+
"windows",
|
|
198
|
+
"subagent",
|
|
199
|
+
"worker",
|
|
200
|
+
"multimodal",
|
|
201
|
+
"plugin",
|
|
202
|
+
"agent"
|
|
203
|
+
],
|
|
204
|
+
"files": [
|
|
205
|
+
"bin",
|
|
206
|
+
"lib",
|
|
207
|
+
"src",
|
|
208
|
+
"scripts",
|
|
209
|
+
"agents",
|
|
210
|
+
"commands",
|
|
211
|
+
"codex",
|
|
212
|
+
"zcode",
|
|
213
|
+
"skills",
|
|
214
|
+
"statusline",
|
|
215
|
+
"official-web-bridge",
|
|
216
|
+
"windows",
|
|
217
|
+
"cordis.patch.yml",
|
|
218
|
+
"worker.cordis.yml",
|
|
219
|
+
".claude-plugin",
|
|
220
|
+
"README.md",
|
|
221
|
+
"README.*.md",
|
|
222
|
+
"docs/job-contracts.md",
|
|
223
|
+
"docs/readiness-matrix.md",
|
|
224
|
+
"docs/gpt-relay-extension.md",
|
|
225
|
+
"docs/ui-surfaces.md",
|
|
226
|
+
"docs/installation.md",
|
|
227
|
+
"docs/images/dsh-crew-logo.png",
|
|
228
|
+
"docs/images/dsh-crew-overview.png",
|
|
229
|
+
"docs/images/dsh-crew-host.png",
|
|
230
|
+
"docs/images/dsh-crew-jobs.png",
|
|
231
|
+
"LICENSE"
|
|
232
|
+
]
|
|
233
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dsh-crew
|
|
3
|
+
description: "DSH Crew worker/reviewer dispatch (dsh-crew MCP tools): dispatch coding work, configure models and review gates, and maintain session history. Load only when the operator asks to use dsh-crew."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DSH Crew
|
|
7
|
+
|
|
8
|
+
**On demand only.** Do not dispatch Crew work because it might help — dispatch
|
|
9
|
+
because the operator asked for it in this turn ("use dsh-crew", "call dsh-crew",
|
|
10
|
+
"派给 crew", and the like). Crew is a capability the operator chooses, not a
|
|
11
|
+
standing policy, so nothing here should shape how you work until it is invoked.
|
|
12
|
+
That is the whole point of it living in a skill rather than in a global
|
|
13
|
+
instruction file: the host's own way of working stays untouched.
|
|
14
|
+
|
|
15
|
+
Once invoked, this is the operating guide.
|
|
16
|
+
|
|
17
|
+
## What it is
|
|
18
|
+
|
|
19
|
+
A plugin on the official DeepSeek Harness. A hub on 3210 dispatches jobs to
|
|
20
|
+
worker/reviewer models, optionally in an isolated git worktree, and returns a
|
|
21
|
+
compact structured result. Codex, ZCode and Claude Code all reach it through the
|
|
22
|
+
same `dsh-crew` MCP server, so the behaviour below is identical from any host.
|
|
23
|
+
|
|
24
|
+
## Tools
|
|
25
|
+
|
|
26
|
+
| Tool | Use |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `dsh_run_worker` | dispatch one unit and wait for the result |
|
|
29
|
+
| `dsh_spawn_worker` | dispatch and return a workflow id immediately |
|
|
30
|
+
| `dsh_worker_status` | list workflows with phase, role, model, tokens |
|
|
31
|
+
| `dsh_worker_result` | fetch or wait for one workflow (`wait_seconds`) |
|
|
32
|
+
| `dsh_worker_cancel` | cancel a workflow |
|
|
33
|
+
| `dsh_worker_config` | read/update session settings: enable dispatch, tier, effort, timeout, presets, policy |
|
|
34
|
+
|
|
35
|
+
`dsh_worker_config` with no arguments is the cheapest way to answer "what is
|
|
36
|
+
Crew set to right now". Its settings last for the session only; persisted
|
|
37
|
+
changes belong in the 3210 panel.
|
|
38
|
+
|
|
39
|
+
## Choosing what to dispatch
|
|
40
|
+
|
|
41
|
+
Delegate a bounded, independently verifiable unit when isolation,
|
|
42
|
+
specialization, parallel work or independent review earns its cost. Give each
|
|
43
|
+
unit its objective, owned files, workspace, constraints and acceptance
|
|
44
|
+
evidence. Keep ambiguity, integration, external effects and final communication
|
|
45
|
+
yourself. Trivial work stays local.
|
|
46
|
+
|
|
47
|
+
Continue authorized work after a successful subtask; a returned workflow is a
|
|
48
|
+
checkpoint, not the end of the task. If a worker's result is incomplete or its
|
|
49
|
+
review asks for changes, that is a task result to act on — not approval.
|
|
50
|
+
|
|
51
|
+
## Configuration
|
|
52
|
+
|
|
53
|
+
Two surfaces, and they are not equivalent:
|
|
54
|
+
|
|
55
|
+
- **3210** — the full control plane: workflow, model priority, routing, provider
|
|
56
|
+
lifecycle, history, and the peak/off-peak schedule.
|
|
57
|
+
- **3080** — the quick surface (sub-agent switch, model priority order). It
|
|
58
|
+
writes through the same config via a restricted key allowlist.
|
|
59
|
+
|
|
60
|
+
Everything lands in `~/.config/dsh-crew/config.json`. Prefer the panel over hand
|
|
61
|
+
editing: the write path validates, and a hand edit can be silently dropped by
|
|
62
|
+
the loader.
|
|
63
|
+
|
|
64
|
+
## Model routing
|
|
65
|
+
|
|
66
|
+
Worker and reviewer each walk an ordered `{provider, model}` priority list and
|
|
67
|
+
take the first admissible candidate; an empty list falls through to Harness
|
|
68
|
+
Default. Candidates are skipped when the provider is unhealthy, tombstoned, or
|
|
69
|
+
inside a peak window it is blocked for. A `warn` rule keeps the model selectable
|
|
70
|
+
and records the advisory in the selection trace.
|
|
71
|
+
|
|
72
|
+
The **peak/off-peak schedule** (panel → 波峰波谷调度) restricts chosen models by
|
|
73
|
+
local wall clock: `block` skips the model during peak so the next candidate
|
|
74
|
+
serves the job, `warn` uses it and flags the choice, and an unlisted model is
|
|
75
|
+
unrestricted. Defaults mirror DeepSeek's published peak hours.
|
|
76
|
+
|
|
77
|
+
## Work
|
|
78
|
+
|
|
79
|
+
`isolation: worktree` is the default: a coding worker runs in a per-job git
|
|
80
|
+
worktree and the primary tree is untouched. Non-git workspaces fail with
|
|
81
|
+
`NOT_GIT_REPOSITORY` rather than silently sharing the tree; use `shared`
|
|
82
|
+
explicitly if that is what you want. Concurrent jobs are capped by
|
|
83
|
+
`max_parallel`.
|
|
84
|
+
|
|
85
|
+
The reviewer gate is `required` by default: an unreviewed change fails. Review
|
|
86
|
+
findings and failing tests are results to address, never a reason to bypass the
|
|
87
|
+
gate.
|
|
88
|
+
|
|
89
|
+
## History
|
|
90
|
+
|
|
91
|
+
Session storage is shared between 3080 and 3210 — clearing one clears both.
|
|
92
|
+
Cleanup is scoped by provenance, and the default scope is **Crew-created only**,
|
|
93
|
+
so the operator's own conversations survive. `all` removes theirs too; use it
|
|
94
|
+
deliberately. Archived batches are restorable from the panel.
|
|
95
|
+
|
|
96
|
+
## When Crew is unavailable
|
|
97
|
+
|
|
98
|
+
If a capability needed by a work unit you already dispatched becomes unavailable
|
|
99
|
+
or non-callable, **stop and ask**. Do not implement further on that unit, do not
|
|
100
|
+
repair or reconfigure Crew, do not silently fall back to doing it yourself.
|
|
101
|
+
Perform bounded read-only diagnosis, report the evidence and what already
|
|
102
|
+
completed, and wait for the operator to choose: repair Crew and continue through
|
|
103
|
+
it, or leave Crew alone and continue with the host agent.
|
|
104
|
+
|
|
105
|
+
A nonterminal wait is not an outage — keep polling the same workflow rather than
|
|
106
|
+
dispatching a duplicate. This gate applies only once Crew has been selected for
|
|
107
|
+
a work unit; it does not apply when planning chose local work.
|
|
108
|
+
|
|
109
|
+
## Host boundaries
|
|
110
|
+
|
|
111
|
+
- Never install, update, register, unlink, repair or mutate anything under
|
|
112
|
+
`~/.dsh`. Crew's runtime lives in its own `DSH_HOME`.
|
|
113
|
+
- Runtime upgrades go through the Crew-owned installer (`dsh-crew update`), never
|
|
114
|
+
through direct pnpm/npm/dsh plugin operations.
|
|
115
|
+
- Preparing an upgrade must not restart 3080 or 3210.
|
|
116
|
+
- The legacy 3080 bridge must never be used for 3210 lifecycle or rollback.
|
|
117
|
+
- Delegation grants no new authority: pushing, publishing, messaging, changing
|
|
118
|
+
credentials or deleting data still need their own authorization.
|
|
@@ -7,7 +7,7 @@ import { createHash } from 'node:crypto';
|
|
|
7
7
|
import { dirname, join, resolve, relative } from 'node:path';
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
9
|
import { homedir } from 'node:os';
|
|
10
|
-
import { normalizeModelPriority } from '../model-routing.mjs';
|
|
10
|
+
import { normalizeModelPriority } from '../model-routing.mjs';
|
|
11
11
|
import { crewSkillFiles, installCrewSkill, readCrewSkill, removeCrewSkill } from './crew-skill.mjs';
|
|
12
12
|
import { zcodeStatus } from './zcode.mjs';
|
|
13
13
|
|
|
@@ -70,17 +70,10 @@ function renderedCodexRole(root, file) {
|
|
|
70
70
|
return source.replace(/args = \[.*server\.mjs"\]/, `args = ["${renderedPath}"]`);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
function managedPolicyBlock(root) {
|
|
74
|
-
const policy = readText(join(root, 'codex', 'AGENTS.md'))?.trim();
|
|
75
|
-
if (!policy) return null;
|
|
76
|
-
return `${POLICY_START}\n${policy}\n${POLICY_END}`;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
73
|
export function codexLegacyPolicyDigest(text) {
|
|
80
74
|
const canonical = typeof text === 'string' ? text.replace(/\r\n/g, '\n').trim() : '';
|
|
81
75
|
return canonical ? createHash('sha256').update(canonical, 'utf8').digest('hex') : null;
|
|
82
76
|
}
|
|
83
|
-
|
|
84
77
|
export function stripKnownLegacyCodexPolicy(text, { knownHashes = CODEX_LEGACY_POLICY_HASHES } = {}) {
|
|
85
78
|
if (typeof text !== 'string') return text;
|
|
86
79
|
const start = POLICY_START.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
package/src/runtime-identity.mjs
CHANGED
|
@@ -36,7 +36,7 @@ export {
|
|
|
36
36
|
// included in the identity contract.
|
|
37
37
|
const RUNTIME_ID = randomUUID();
|
|
38
38
|
|
|
39
|
-
export const RUNTIME_VERSION = '1.7.
|
|
39
|
+
export const RUNTIME_VERSION = '1.7.2';
|
|
40
40
|
export const HUB_PROTOCOL_VERSION = 1;
|
|
41
41
|
|
|
42
42
|
export const HUB_CAPABILITIES = Object.freeze([
|
package/codex/AGENTS.md
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Global capability-aware delegation policy
|
|
2
|
-
|
|
3
|
-
The main Codex agent owns the task through final delivery. DSH Crew is an optional
|
|
4
|
-
execution/review capability, not an automatic replacement for the main agent.
|
|
5
|
-
|
|
6
|
-
## Discover and choose
|
|
7
|
-
|
|
8
|
-
Before substantial delegation, read the live Crew configuration, capability and
|
|
9
|
-
readiness contracts. Discover roles, models, modes and constraints dynamically;
|
|
10
|
-
installed, configured, enabled and callable are different states. Refresh the
|
|
11
|
-
snapshot after relevant configuration or availability changes, not every small step.
|
|
12
|
-
|
|
13
|
-
Delegate bounded, independently verifiable units when isolation, specialization,
|
|
14
|
-
parallel work or independent review provides a benefit. Give each unit its objective,
|
|
15
|
-
owned files, workspace, constraints and acceptance evidence. Respect concurrency
|
|
16
|
-
limits and manual/disabled capabilities. Keep ambiguity, integration, external
|
|
17
|
-
effects and final communication in the main agent. Trivial work stays local.
|
|
18
|
-
|
|
19
|
-
## Operator decision gate when DSH Crew is unavailable
|
|
20
|
-
|
|
21
|
-
Once Crew is selected for a work unit, any required capability becoming unavailable
|
|
22
|
-
or non-callable is a mandatory pause, regardless of cause. Do not implement further,
|
|
23
|
-
repair/reconfigure Crew, silently fall back or switch execution paths. Perform only
|
|
24
|
-
bounded read-only diagnosis, report the evidence and completed work, and wait for
|
|
25
|
-
new operator direction: **repair Crew and continue through Crew**, or **do not repair
|
|
26
|
-
Crew and continue with the main agent**. After repair, verify live readiness again;
|
|
27
|
-
after local authorization, disclose that the affected work is not independently delegated.
|
|
28
|
-
|
|
29
|
-
This gate does not apply when initial planning chooses local work without selecting
|
|
30
|
-
Crew. A nonterminal wait is not an outage; continue the same workflow without duplicate
|
|
31
|
-
dispatch. Review findings and failing code tests are task results to address, not by
|
|
32
|
-
themselves evidence that Crew is unavailable.
|
|
33
|
-
|
|
34
|
-
## Verify and finish
|
|
35
|
-
|
|
36
|
-
Consume compact structured results and canonical events. Check changed scope,
|
|
37
|
-
delivery completeness, tests, risks and the actual review verdict. Use independent
|
|
38
|
-
review for non-trivial code when available and its invocation policy allows it;
|
|
39
|
-
never bypass manual/disabled review. Requested changes or missing evidence are not
|
|
40
|
-
approval. If selected review cannot run, use the operator gate above.
|
|
41
|
-
|
|
42
|
-
Continue authorized work after a successful subtask; do not stop at its checkpoint.
|
|
43
|
-
Delegation grants no new authority to push, publish, message, change credentials or
|
|
44
|
-
delete data. Do not forward credentials, raw provider payloads or unbounded transcripts.
|
|
45
|
-
|
|
46
|
-
## Harness upgrade redlines
|
|
47
|
-
|
|
48
|
-
- Never install, update, register, unlink, repair, or mutate anything under ~/.dsh.
|
|
49
|
-
- DSH Crew runtime upgrades must go through the Crew-owned installer and DSH_HOME.
|
|
50
|
-
- Never use direct pnpm/npm/dsh plugin operations against the official web profile.
|
|
51
|
-
- Preparing a Harness upgrade must not restart 3080 or 3210.
|
|
52
|
-
- Standalone workers launch through the official DSH SDK profile contract; dsh-sdk-jsonrpc-demo is obsolete.
|
|
53
|
-
- Legacy 3080 bridge must never be used for 3210 lifecycle/restart/rollback.
|
package/zcode/AGENTS.md
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Global capability-aware delegation policy for ZCode
|
|
2
|
-
|
|
3
|
-
ZCode is a host adapter for DSH Crew. Use the `dsh-crew` MCP server for Crew
|
|
4
|
-
work only after its live capability and readiness surfaces have been checked.
|
|
5
|
-
|
|
6
|
-
- Discover the current Crew configuration, capabilities, activation state and
|
|
7
|
-
readiness before delegating substantial work. Installed, configured, enabled
|
|
8
|
-
and callable are different states; do not infer one from another.
|
|
9
|
-
- Match a bounded work unit to an available Crew role/model and preserve the
|
|
10
|
-
repository/worktree and Result Contract boundaries. Keep planning, ambiguous
|
|
11
|
-
requirements, integration, external side effects and final communication in
|
|
12
|
-
the host agent.
|
|
13
|
-
- Dispatch selected work asynchronously with `dsh_spawn_worker`, save its
|
|
14
|
-
workflow ID, and poll that same workflow with `dsh_worker_result` using
|
|
15
|
-
`wait_seconds: 10`. A bounded wait that returns a nonterminal state is not a
|
|
16
|
-
failure when `dsh_worker_status` confirms that workflow is still running;
|
|
17
|
-
continue polling it and never start a duplicate workflow.
|
|
18
|
-
- If Crew is selected and any required capability is unavailable, non-callable,
|
|
19
|
-
or returns an unknown/runtime/configuration/credential/routing/timeout error,
|
|
20
|
-
pause. Report the evidence and wait for the operator to choose repair Crew or
|
|
21
|
-
continue locally; do not repair/reconfigure, silently fall back or retry blindly
|
|
22
|
-
before that decision. A nonterminal bounded wait is not a transport timeout.
|
|
23
|
-
- Validate returned evidence, changed scope, tests and completion state before
|
|
24
|
-
accepting delegated work. Do not expose credentials or raw provider payloads.
|
|
25
|
-
- Continue the authorized task after a successful subtask; do not stop at its
|
|
26
|
-
checkpoint. Missing evidence or requested review changes are not approval.
|
|
27
|
-
|
|
28
|
-
## Harness upgrade redlines
|
|
29
|
-
|
|
30
|
-
- Never install, update, register, unlink, repair, or mutate anything under ~/.dsh.
|
|
31
|
-
- DSH Crew runtime upgrades must go through the Crew-owned installer and DSH_HOME.
|
|
32
|
-
- Never use direct pnpm/npm/dsh plugin operations against the official web profile.
|
|
33
|
-
- Preparing a Harness upgrade must not restart 3080 or 3210.
|
|
34
|
-
- Standalone workers launch through the official DSH SDK profile contract; dsh-sdk-jsonrpc-demo is obsolete.
|
|
35
|
-
- Legacy 3080 bridge must never be used for 3210 lifecycle/restart/rollback.
|
|
36
|
-
|
|
37
|
-
This file is installed as a managed block in `~/.zcode/AGENTS.md`; user-authored
|
|
38
|
-
instructions outside the block are preserved.
|