@ran-sh/dsh-crew 0.3.0
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 -0
- package/.claude-plugin/plugin.json +8 -0
- package/.mcp.json +8 -0
- package/LICENSE +21 -0
- package/README.de.md +359 -0
- package/README.es.md +359 -0
- package/README.fr.md +359 -0
- package/README.hi.md +359 -0
- package/README.id.md +359 -0
- package/README.ja.md +359 -0
- package/README.ko.md +359 -0
- package/README.md +360 -0
- package/README.pt.md +359 -0
- package/README.ru.md +359 -0
- package/README.th.md +359 -0
- package/README.tr.md +359 -0
- package/README.vi.md +359 -0
- package/README.zh-TW.md +359 -0
- package/README.zh.md +305 -0
- package/agents/ds-flash.md +26 -0
- package/agents/ds-pro.md +32 -0
- package/agents/ds-reviewer.md +23 -0
- package/agents/ds-worker.md +22 -0
- package/codex/agents/ds-flash.toml +30 -0
- package/codex/agents/ds-pro.toml +31 -0
- package/codex/agents/ds-reviewer.toml +28 -0
- package/codex/agents/ds-worker.toml +28 -0
- package/codex/prompts/dsh-config.md +3 -0
- package/codex/prompts/dsh-status.md +1 -0
- package/commands/config.md +11 -0
- package/commands/off.md +5 -0
- package/commands/on.md +5 -0
- package/commands/status.md +5 -0
- package/cordis.patch.yml +4 -0
- package/docs/images/dsh-crew-host.png +0 -0
- package/docs/images/dsh-crew-jobs.png +0 -0
- package/docs/images/dsh-crew-logo.png +0 -0
- package/docs/images/dsh-crew-overview.png +0 -0
- package/lib/client.js +2765 -0
- package/package.json +125 -0
- package/scripts/build-client.mjs +28 -0
- package/scripts/live-crew-smoke.mjs +39 -0
- package/scripts/live-policy-matrix.mjs +177 -0
- package/scripts/policy-probe.mjs +101 -0
- package/scripts/setup.mjs +294 -0
- package/scripts/smoke-real.mjs +110 -0
- package/scripts/smoke.mjs +78 -0
- package/scripts/verify-installer-fix.mjs +26 -0
- package/src/adaptive-routing.mjs +260 -0
- package/src/client/activation-summary.tsx +64 -0
- package/src/client/entry.tsx +236 -0
- package/src/client/index.tsx +1120 -0
- package/src/config-readiness.mjs +59 -0
- package/src/delivery.mjs +205 -0
- package/src/dsh-cli-runtime.mjs +251 -0
- package/src/failure-classification.mjs +172 -0
- package/src/hub/entry.mjs +98 -0
- package/src/hub/index.mjs +757 -0
- package/src/hub-client.mjs +132 -0
- package/src/hub-compatibility.mjs +49 -0
- package/src/i18n.mjs +19 -0
- package/src/install/cli.mjs +28 -0
- package/src/install/install-legacy.mjs +460 -0
- package/src/install/install.mjs +451 -0
- package/src/jobs.mjs +275 -0
- package/src/mcp-runtime.mjs +257 -0
- package/src/model-catalog.mjs +173 -0
- package/src/model-routing.mjs +391 -0
- package/src/multimodal.mjs +0 -0
- package/src/policy-legacy.mjs +830 -0
- package/src/policy.mjs +197 -0
- package/src/readiness-matrix.mjs +169 -0
- package/src/runtime-controls.mjs +90 -0
- package/src/runtime-identity.mjs +108 -0
- package/src/server.mjs +477 -0
- package/src/status-shard.mjs +52 -0
- package/src/structured-error-code.mjs +39 -0
- package/src/vision-route.mjs +138 -0
- package/src/workflow-runtime.mjs +567 -0
- package/src/workflow.mjs +160 -0
- package/src/workspace-audit.mjs +231 -0
- package/src/workspace-isolation.mjs +306 -0
- package/statusline/statusline.sh +14 -0
- package/statusline/worker-segment.sh +35 -0
- package/worker.cordis.yml +77 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dsh-crew",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "Ran-sh"
|
|
5
|
+
},
|
|
6
|
+
"metadata": {
|
|
7
|
+
"description": "DSH Crew plugin marketplace (configurable worker dispatch for Claude Code / Codex)"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
{
|
|
11
|
+
"name": "dsh-crew",
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"source": ".",
|
|
14
|
+
"description": "Dispatch subtasks to DeepSeek Harness (DSH) agents as native subagents with live progress"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
package/.mcp.json
ADDED
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ZSeven-W
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.de.md
ADDED
|
@@ -0,0 +1,359 @@
|
|
|
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>Ein <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a>-Plugin: Verteilen Sie Arbeit von Claude Code / Codex aus an DSH-Agenten, ohne auf die native Subagent-UI des Hosts zu verzichten.</strong><br />
|
|
9
|
+
<sub>Native Fortschritts-UI • Tier-Richtlinie & Eskalation • DSH-Sitzungen im Host • Vision & Bildgenerierung • Ein-Klick-Installation</sub>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<sub>GitHub: <code>Ran-sh/dsh-crew</code> · Aktuelles Plugin-Release: <code>0.1.0-rc.1</code> · Getestet mit DSH <code>0.1.0-rc.6</code></sub>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="./README.md">English</a> · <a href="./README.zh.md">简体中文</a> · <a href="./README.zh-TW.md">繁體中文</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.fr.md">Français</a> · <a href="./README.es.md">Español</a> · <a href="./README.de.md"><b>Deutsch</b></a> · <a href="./README.pt.md">Português</a> · <a href="./README.ru.md">Русский</a> · <a href="./README.hi.md">हिन्दी</a> · <a href="./README.tr.md">Türkçe</a> · <a href="./README.th.md">ไทย</a> · <a href="./README.vi.md">Tiếng Việt</a> · <a href="./README.id.md">Bahasa Indonesia</a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<a href="https://github.com/Ran-sh/dsh-crew/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Ran-sh/dsh-crew?color=64748b" alt="License" /></a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<br />
|
|
25
|
+
|
|
26
|
+
<p align="center">
|
|
27
|
+
<img src="./docs/images/dsh-crew-overview.png" alt="DSH Crew — Einstellungsseite" width="100%" />
|
|
28
|
+
</p>
|
|
29
|
+
<p align="center"><sub>Die Einstellungsseite von DSH Crew — Host-Integrationen, Dispatch-Richtlinie, Ausführung und die multimodale Brücke</sub></p>
|
|
30
|
+
|
|
31
|
+
## Warum DSH Crew
|
|
32
|
+
|
|
33
|
+
DSH Crew ist ein Plugin für [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH) — ein Open-Source-Agent-Harness. Es macht DSH-Agenten aus Claude Code und Codex heraus dispatchbar: Der Orchestrator behält sein eigenes Modell, die Arbeit läuft auf einem echten DSH-Agenten mit den Tools, der Sandbox, den Presets und dem Sitzungsverlauf dieses Harness, und der Host zeigt diesen weiterhin als nativen Subagenten mit Live-Fortschritt an.
|
|
34
|
+
|
|
35
|
+
Was die Arbeit ausführt, ist ein DSH-Agent, kein bloßer Modellaufruf. Tiers (`flash` / `pro`) bestimmen, wie viel Fähigkeit dieser Agent aus dem konfigurierten Roster des Harness erhält — derzeit DeepSeek V4 Flash und V4 Pro —, sodass ein Modellwechsel in DSH hier keine Änderung erfordert.
|
|
36
|
+
|
|
37
|
+
<table>
|
|
38
|
+
<tr>
|
|
39
|
+
<td width="50%">
|
|
40
|
+
|
|
41
|
+
### 🧵 Native Fortschritts-UI
|
|
42
|
+
|
|
43
|
+
Worker erscheinen als normale Subagenten in Claude Code / Codex — Dispatch-Anzahl, laufender Schritt, Tool-Aufrufe und Token-Verbrauch werden alle im eigenen Task-Panel des Hosts angezeigt, plus ein claude-hud-Statusline-Segment: `⚙dsh 1▶pro 2m14s 21.7k/606 ✓3`.
|
|
44
|
+
|
|
45
|
+
</td>
|
|
46
|
+
<td width="50%">
|
|
47
|
+
|
|
48
|
+
### 🎚️ Tier-Richtlinie und Eskalation
|
|
49
|
+
|
|
50
|
+
`flash` für mechanische Arbeit, `pro` für Reasoning, `effort` von `off` bis `max`. `tier_policy` kann jeden Dispatch auf Tool-Ebene auf einen Tier begrenzen, und `escalate_on_failure` wiederholt einen fehlgeschlagenen flash-Lauf einmal auf pro — evidenzbasiert, statt die Schwierigkeit im Voraus zu erraten.
|
|
51
|
+
|
|
52
|
+
</td>
|
|
53
|
+
</tr>
|
|
54
|
+
<tr>
|
|
55
|
+
<td width="50%">
|
|
56
|
+
|
|
57
|
+
### 🏛️ DSH-Sitzungen im Host
|
|
58
|
+
|
|
59
|
+
Ist das Bundle in einem DSH-Profil installiert, ist jeder Worker eine First-Class-DSH-Sitzung: sichtbar in der Web-UI, nach Arbeitsverzeichnis gruppiert, mit dem pro Tier gewählten Agent-Preset gemountet. Läuft DSH nicht, fällt der Dispatch auf eine Standalone-DSH-Runtime zurück, sodass CI- und Headless-Umgebungen weiterhin funktionieren.
|
|
60
|
+
|
|
61
|
+
</td>
|
|
62
|
+
<td width="50%">
|
|
63
|
+
|
|
64
|
+
### 👁️ Vision und Bildgenerierung
|
|
65
|
+
|
|
66
|
+
Die Modelle von DSH sind reine Textmodelle. `describe_image` und `generate_image` leihen sich Augen und Pinsel der CLIs, die Sie bereits haben — Claude, Codex, Grok, Antigravity — oder einer beliebigen von Ihnen konfigurierten OpenAI-kompatiblen API. Eingefügte Bilder bleiben in der Konversation sichtbar und erreichen das Modell als Text.
|
|
67
|
+
|
|
68
|
+
</td>
|
|
69
|
+
</tr>
|
|
70
|
+
<tr>
|
|
71
|
+
<td width="50%">
|
|
72
|
+
|
|
73
|
+
### 🔌 Benutzerdefinierte Provider
|
|
74
|
+
|
|
75
|
+
Bringen Sie Ihren eigenen Endpoint (Base URL + API-Schlüssel + Modelle) oder eine lokale Befehlsvorlage mit. Jeder Provider hat einen Konnektivitätstest, der Erreichbarkeit und Auth prüft und dann einen echten Vision-Aufruf macht — so erfahren Sie es sofort statt mitten in der Aufgabe.
|
|
76
|
+
|
|
77
|
+
</td>
|
|
78
|
+
<td width="50%">
|
|
79
|
+
|
|
80
|
+
### 📦 Ein-Klick-Installation
|
|
81
|
+
|
|
82
|
+
Die Einstellungsseite installiert und aktualisiert das Claude-Code-Plugin und die Codex-Rollendateien für Sie — Marketplace-Registrierung, Berechtigungs-Allowlist, HUD-Anbindung, für diese Maschine gerenderte absolute Pfade — und stellt sie genauso einfach wieder her. Jede Einstellungsdatei wird zuvor gesichert.
|
|
83
|
+
|
|
84
|
+
</td>
|
|
85
|
+
</tr>
|
|
86
|
+
</table>
|
|
87
|
+
|
|
88
|
+
## Funktionsweise
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Claude Code / Codex (orchestrator, keeps its own model)
|
|
92
|
+
└─ ds-flash / ds-pro ← native subagent shell (progress shows in the host's task UI)
|
|
93
|
+
└─ MCP: dsh_run_worker(tier, effort, cwd)
|
|
94
|
+
├─ hub reachable → session inside DSH (visible in the Web UI, grouped by cwd)
|
|
95
|
+
└─ otherwise → dsh-jsonrpc-agent runtime (worker.cordis.yml)
|
|
96
|
+
└─ DeepSeek V4 Flash / Pro (DSH SDK, event stream → progress and token stats)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Ein Lauf, zwei Ansichten
|
|
100
|
+
|
|
101
|
+
Dispatch lässt sich breit auffächern. Unten übersetzen achtzehn Worker dieses README parallel: Der Host zählt sie als eigene Subagenten, während das Harness sie als echte Sessions ausführt.
|
|
102
|
+
|
|
103
|
+
<p align="center">
|
|
104
|
+
<img src="./docs/images/dsh-crew-host.png" alt="Claude Code" width="100%" />
|
|
105
|
+
</p>
|
|
106
|
+
<p align="center"><sub>Claude Code sieht dsh-crew-Worker als native Subagenten; das Statusline-Segment zeigt laufende Tiers, verstrichene Zeit und Tokens.</sub></p>
|
|
107
|
+
|
|
108
|
+
<p align="center">
|
|
109
|
+
<img src="./docs/images/dsh-crew-jobs.png" alt="DSH Crew" width="100%" />
|
|
110
|
+
</p>
|
|
111
|
+
<p align="center"><sub>Das DSH-Crew-Panel zeigt denselben Lauf von der Harness-Seite: welcher Host welchen Job gestartet hat, Tier und Effort, Fortschritt und Tokenverbrauch.</sub></p>
|
|
112
|
+
|
|
113
|
+
## Installation
|
|
114
|
+
|
|
115
|
+
Von GitHub in ein DSH-Profil installieren:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
node scripts/setup.mjs install # Safe install: see the canonical Install section of README.md (dedicated Crew home/profile; official web profile is never modified).
|
|
119
|
+
Repository source: github:Ran-sh/dsh-crew
|
|
120
|
+
npx -y @deepseek-ai/dsh web
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Oder für lokale Entwicklung direkt aus dem Quellbaum:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
node scripts/setup.mjs install # Safe install: see the canonical Install section of README.md (dedicated Crew home/profile; official web profile is never modified).
|
|
127
|
+
Repository source: github:Ran-sh/dsh-crew
|
|
128
|
+
npx -y @deepseek-ai/dsh web
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Das `link:`-Protokoll verlinkt die Profilabhängigkeit auf dieses Repository, sodass Rebuilds sofort sichtbar sind.
|
|
132
|
+
|
|
133
|
+
### DeepSeek-Zugangsdaten konfigurieren (nur standalone)
|
|
134
|
+
|
|
135
|
+
Im Hub-Modus — die Installation oben — laufen Worker innerhalb der DSH-Instanz und nutzen die DeepSeek-Zugangsdaten, mit denen sie bereits konfiguriert ist. Mehr ist nicht zu konfigurieren.
|
|
136
|
+
|
|
137
|
+
Nur das Standalone-Fallback braucht einen eigenen Key: Dispatch von Claude Code / Codex ohne laufende DSH-Instanz startet eine Worker-Runtime als separaten Prozess. Hole einen API-Key auf [platform.deepseek.com](https://platform.deepseek.com) und schreibe ihn in `~/.config/dsh-crew/.env`:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
DEEPSEEK_API_KEY=sk-...
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Prüfen
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
node scripts/smoke.mjs
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Der Smoke Test schickt einen günstigen Job über den verfügbaren Pfad — den Hub, wenn eine DSH-Instanz läuft, sonst standalone — und gibt aus, welcher davon verwendet wurde. Nach etwa zehn Sekunden sollte `smoke test passed — configuration OK` erscheinen. Bei einem Fehler wird der Grund ausgegeben, bezogen auf den getesteten Pfad.
|
|
150
|
+
|
|
151
|
+
Öffne danach Einstellungen → DSH Crew und installiere die Claude-Code-/Codex-Integrationen mit einem Klick.
|
|
152
|
+
|
|
153
|
+
## Hintergrund und Begriffe
|
|
154
|
+
|
|
155
|
+
- **DSH** (DeepSeek Harness): DeepSeeks Open-Source-Agent-Harness, ein Code-Agent in Web-UI-Form, ähnlich wie Claude Code, aber mit DeepSeek-Modellen.
|
|
156
|
+
- **MCP** (Model Context Protocol): Das KI-Tool-Integrationsprotokoll von Anthropic; ermöglicht es LLMs, externe Tools und Datenquellen sicher aufzurufen.
|
|
157
|
+
- **Cordis-Bundle**: Das Plugin-Format von DSH; dieses Projekt kann standalone als MCP-Dienst laufen oder als Hub-Modus in DSH Web installiert werden.
|
|
158
|
+
- **tier**: Fähigkeitsstufe — welcher Slot aus DSHs konfiguriertem Modell-Roster einem Worker zugewiesen wird. `flash` ist schnell und günstig (einfache Aufgaben), `pro` denkt intensiver nach (komplexe Probleme). Derzeit sind sie DeepSeek V4 Flash und V4 Pro zugeordnet; Modelle in DSH austauschen, und hier ändert sich nichts.
|
|
159
|
+
- **worker**: Der DSH-Agent, der die Arbeit erledigt — eine vollständige Sitzung mit eigenen Tools, eigener Sandbox und eigenem Preset, kein bloßer Modellaufruf.
|
|
160
|
+
- **effort**: Reasoning-Stärke, `off` = kein Reasoning, `high` = hoher Reasoning-Einsatz, `max` = maximaler Reasoning-Einsatz.
|
|
161
|
+
|
|
162
|
+
## Claude Code
|
|
163
|
+
|
|
164
|
+
### Installation
|
|
165
|
+
|
|
166
|
+
Ein-Klick-Installation (eine Option wählen):
|
|
167
|
+
|
|
168
|
+
- **DSH-Einstellungsseite** (wenn der Hub-Modus installiert ist): Settings → DSH Crew → „Install to Claude Code"
|
|
169
|
+
- **Kommandozeile**: `node src/install/cli.mjs all`
|
|
170
|
+
|
|
171
|
+
Beide bewirken dasselbe: lokalen Marketplace registrieren (übergeordnetes Verzeichnis `dsh-plugins/` als Marketplace-Root) + `claude plugin install` + MCP-Tool-Berechtigungs-Allowlist + Konfiguration des claude-hud-Worker-Status-Segments (automatisches Backup von settings.json vor Änderungen, idempotent). **Starten Sie die Sitzung nach der Installation neu, damit die Änderungen wirksam werden.**
|
|
172
|
+
|
|
173
|
+
### Verwendung
|
|
174
|
+
|
|
175
|
+
- Sagen Sie direkt in der Konversation „dispatch X to ds-flash" oder „dispatch X to ds-pro", und der Subagent führt die Aufgabe aus
|
|
176
|
+
- Dispatch-Anzahl und Echtzeit-Fortschritt werden in der Task-UI von Claude Code angezeigt
|
|
177
|
+
- **HUD-Statuszeilen-Segment**: `⚙dsh 1▶pro 2m14s 21.7k/606 ✓3` (aktueller Tier / verstrichene Zeit / Token-Verbrauch / Abschlusszähler)
|
|
178
|
+
- Für die lokale Entwicklung können `statusline/statusline.sh` oder `statusline/worker-segment.sh` unabhängig integriert werden
|
|
179
|
+
- **Langlaufende Aufgaben**: CC hat Timeout-Limits für MCP-Aufrufe (`MCP_TOOL_TIMEOUT` anpassbar); bei langen Aufgaben kann der Orchestrator `dsh_spawn_worker` + `dsh_worker_result(wait_seconds)`-Polling verwenden
|
|
180
|
+
- **Lokale Entwicklung und Debugging**: `claude --plugin-dir /path/to/dsh-crew` zum temporären Laden
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
### Sitzungsbefehle
|
|
184
|
+
|
|
185
|
+
Sie überschreiben die globalen Vorgaben nur für die aktuelle Sitzung und werden auf Tool-Ebene durchgesetzt, nicht per Prompt:
|
|
186
|
+
|
|
187
|
+
| Befehl | Wirkung |
|
|
188
|
+
|---|---|
|
|
189
|
+
| `/dsh-crew:config` | Vorgaben der Sitzung anzeigen oder setzen: `tier=flash\|pro`, `effort=off\|high\|max`, `mode=auto\|hub\|standalone`, `timeout=<Sekunden>`, `policy=auto\|flash-only\|pro-only`, `escalate=true\|false`, `reset` |
|
|
190
|
+
| `/dsh-crew:on` · `/dsh-crew:off` | Dispatch für diese Sitzung ein- oder ausschalten (aus ist ein harter Schalter: das Tool verweigert) |
|
|
191
|
+
| `/dsh-crew:status` | Live-Status der Worker-Jobs: Tier, Fortschritt, Tokens, aktuelles Tool |
|
|
192
|
+
|
|
193
|
+
## Codex
|
|
194
|
+
|
|
195
|
+
### Installation
|
|
196
|
+
|
|
197
|
+
Empfohlen wird die Verwendung des Installers (rendert Pfade für diese Maschine automatisch, kopiert die Befehle `/dsh-config` und `/dsh-status`):
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
node src/install/cli.mjs codex
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Oder manuell kopieren (erfordert nach dem Kopieren eine manuelle Pfadanpassung):
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
cp codex/agents/*.toml ~/.codex/agents/ # global or project-level .codex/agents/
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Die Rollendateien sind vorkonfiguriert mit:
|
|
210
|
+
|
|
211
|
+
- MCP-Server-Mounting-Konfiguration
|
|
212
|
+
- `default_tools_approval_mode = "approve"` (**erforderlich**, andernfalls werden Tool-Aufrufe im Exec-Modus automatisch abgebrochen)
|
|
213
|
+
- `tool_timeout_sec = 3600`
|
|
214
|
+
|
|
215
|
+
**Hinweis**: Beim manuellen Kopieren müssen die absoluten Pfade im Feld `args` an den tatsächlichen Installationsort angepasst werden; der Installer übernimmt dies automatisch.
|
|
216
|
+
|
|
217
|
+
### Verwendung
|
|
218
|
+
|
|
219
|
+
- Wählen Sie in der interaktiven TUI „spawn ds-pro to ...", um Aufgaben zu verteilen; die Active/Done-Panels zeigen den Fortschritt
|
|
220
|
+
- Der `codex exec`-Modus kann `dsh_run_worker` auch direkt aufrufen
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
### Sitzungsbefehle
|
|
224
|
+
|
|
225
|
+
Für Codex werden dieselben zwei Prompts installiert:
|
|
226
|
+
|
|
227
|
+
| Befehl | Wirkung |
|
|
228
|
+
|---|---|
|
|
229
|
+
| `/dsh-config` | Vorgaben der Sitzung anzeigen oder setzen: `tier=flash\|pro`, `effort=off\|high\|max`, `mode=auto\|hub\|standalone`, `timeout=<Sekunden>`, `policy=auto\|flash-only\|pro-only`, `escalate=true\|false`, `reset` |
|
|
230
|
+
| `/dsh-status` | Live-Status der Worker-Jobs: Tier, Fortschritt, Tokens, aktuelles Tool |
|
|
231
|
+
|
|
232
|
+
## MCP-Tools
|
|
233
|
+
|
|
234
|
+
| Tool | Beschreibung |
|
|
235
|
+
|---|---|
|
|
236
|
+
| `dsh_run_worker` | Synchroner Task-Dispatch (`tier`: flash/pro, `effort`: off/high/max, `cwd`), wartet auf das Ergebnis |
|
|
237
|
+
| `dsh_spawn_worker` | Asynchroner Task-Dispatch, gibt die Job-ID zurück (für paralleles Fan-out) |
|
|
238
|
+
| `dsh_worker_status` | Fragt den Echtzeit-Fortschritt aller Jobs ab (Turn/Schritt/aktuelles Tool/Token) |
|
|
239
|
+
| `dsh_worker_result` | Holt das Ergebnis, kann mit `wait_seconds` warten |
|
|
240
|
+
| `dsh_worker_cancel` | Bricht den angegebenen Job ab und beendet seinen Runtime-Prozess |
|
|
241
|
+
|
|
242
|
+
Der Fortschritt wird gleichzeitig nach `~/.config/dsh-crew/status.d/` gespiegelt (eine Shard-Datei pro Writer, lesbar für Statusline / externes Monitoring).
|
|
243
|
+
|
|
244
|
+
## Multimodal: Vision und Bildgenerierung
|
|
245
|
+
|
|
246
|
+
**DeepSeek ist ein reines Textmodell** und unterstützt weder Bildeingabe noch -generierung. Dieses Plugin bezieht diese Fähigkeiten extern über MCP-Tools:
|
|
247
|
+
|
|
248
|
+
| Tool | Beschreibung |
|
|
249
|
+
|---|---|
|
|
250
|
+
| `describe_image` | Beantwortet Fragen durch das Betrachten von Bildern (Screenshots, Designs, Diagramme usw.), Ergebnisse werden nach Provider + Modell + Bild + Frage zwischengespeichert |
|
|
251
|
+
| `generate_image` | Erzeugt ein Bild aus einer Textbeschreibung und speichert es unter einem angegebenen absoluten Pfad; die Ausgabe ist eine flache Bitmap (Ebenenbearbeitung erfordert OpenPencil) |
|
|
252
|
+
|
|
253
|
+
**Bildeinfügen in Sitzungen**: Wechseln Sie in DSH das Modell auf `DeepSeek (vision) ◉`, um Bilder direkt einzufügen. Bilder bleiben in der Sitzung und werden normal angezeigt; das Plugin hängt transkribierten Text dahinter an und entfernt die Bilder vor dem Senden — Sie sehen das Bild, das Modell liest den Text.
|
|
254
|
+
|
|
255
|
+
### Konfiguration
|
|
256
|
+
|
|
257
|
+
In der **DSH-Einstellungsseite → DSH Crew → Multimodal** (oder bearbeiten Sie direkt `~/.config/dsh-crew/config.json`):
|
|
258
|
+
|
|
259
|
+
**Vision-Provider** (Bildbetrachtung):
|
|
260
|
+
|
|
261
|
+
- `claude-code` (Standard, verwendet Haiku, kostengünstig)
|
|
262
|
+
- `codex` (verwendet GPT, konkretes Modell wählbar)
|
|
263
|
+
- `grok` (verwendet Grok)
|
|
264
|
+
- `agy` (Antigravity)
|
|
265
|
+
- `custom` (OpenAI-kompatible API oder lokaler Befehl)
|
|
266
|
+
- `off` (deaktiviert)
|
|
267
|
+
|
|
268
|
+
**Bildgenerierungs-Provider** (Bildgenerierung):
|
|
269
|
+
|
|
270
|
+
- `codex` (`$imagegen`, gpt-image-2)
|
|
271
|
+
- `agy` (Nano Banana)
|
|
272
|
+
- `grok` (Imagine)
|
|
273
|
+
- `custom` (OpenAI-kompatible API oder lokaler Befehl)
|
|
274
|
+
- `off` (deaktiviert)
|
|
275
|
+
|
|
276
|
+
### Benutzerdefinierter Provider
|
|
277
|
+
|
|
278
|
+
Zwei Integrationsmethoden:
|
|
279
|
+
|
|
280
|
+
**API**: Jeder OpenAI-kompatible Endpoint
|
|
281
|
+
- Base URL, API-Schlüssel und Modellliste ausfüllen
|
|
282
|
+
- Vision verwendet `/chat/completions` mit inline eingebetteten Base64-Bildern
|
|
283
|
+
- Bildgenerierung verwendet `/images/generations`
|
|
284
|
+
- **Das „Bildgenerierungsmodell" muss angegeben werden, um Generierungsfähigkeit zu erhalten**, andernfalls erscheint der Provider nur in der Vision-Auswahl
|
|
285
|
+
|
|
286
|
+
**CLI**: Lokale Befehlsvorlage, Platzhalter werden durch sichere Referenzen ersetzt
|
|
287
|
+
- Vision: `{image} {question} {model}` → stdout als Antwort
|
|
288
|
+
- Bildgenerierung: `{prompt} {output} {size}` → der Befehl muss die Datei nach `{output}` schreiben
|
|
289
|
+
- Mindestens einen Befehl ausfüllen; je nachdem, welcher ausgefüllt ist, ergibt sich die Fähigkeit
|
|
290
|
+
|
|
291
|
+
**Konnektivitätstest**: Jeder benutzerdefinierte Provider hat eine Test-Schaltfläche
|
|
292
|
+
- API: Erreichbarkeit des Endpoints und Auth prüfen, echte Vision-Anfrage zur Verifizierung senden
|
|
293
|
+
- CLI: Ausführbare Datei prüfen, echten Befehl zur Verifizierung ausführen
|
|
294
|
+
- Bildgenerierung: Nur die Konfiguration validieren, keine tatsächliche Bildausgabe
|
|
295
|
+
|
|
296
|
+
**Entliehene Abo-CLIs** (claude / codex / grok / agy) erfordern eine lokale Anmeldung; das Plugin umgeht deren Berechtigungen nicht für Sie.
|
|
297
|
+
|
|
298
|
+
## Hub-Modus
|
|
299
|
+
|
|
300
|
+
Dieses Paket ist auch ein gültiges DSH-Bundle (`dsh.bundle` + `cordis.patch.yml`). Nach der Installation in ein DSH-Web-Profil mit `dsh plugin add dsh-crew`:
|
|
301
|
+
|
|
302
|
+
- **Worker-Sitzungen werden First-Class-Bürger**: laufen als First-Class-Sitzungen im DSH-Host (`agents.create` + Modell-/Effort-Wasserfall pro Sitzung + Standard-Preset), erscheinen in der Sitzungsliste der Web-UI und können jederzeit geöffnet werden, um die vollständige Ausführung einzusehen
|
|
303
|
+
- **Nach Arbeitsverzeichnis organisieren**: Worker-Sitzungen nach cwd in der Web-UI verwalten
|
|
304
|
+
- **Loopback-API**:
|
|
305
|
+
- `POST/GET /_dsh/dsh-crew/jobs`: Tasks starten, auflisten, Ergebnisse per Long-Poll abrufen, abbrechen
|
|
306
|
+
- `GET /_dsh/dsh-crew/ping`: Health-Check (der MCP-Shim nutzt dies, um zu erkennen, ob der Hub läuft)
|
|
307
|
+
- `POST /_dsh/dsh-crew/install`: Ein-Klick-Installation der Claude-Code-/Codex-Integration (Backend von `src/install/`)
|
|
308
|
+
- **Auto-Erkennung**: Der MCP-Shim von CC/Codex erkennt den Hub automatisch (Env-Var `DSH_CREW_HUB`, Standard `http://127.0.0.1:3080`)
|
|
309
|
+
- DSH Web läuft → Jobs wechseln in den Hub-Modus (`mode: "hub"`)
|
|
310
|
+
- Läuft nicht → Fallback auf die Standalone-Runtime
|
|
311
|
+
|
|
312
|
+
## Lösungsauswahl und Einschränkungen
|
|
313
|
+
|
|
314
|
+
### Reguläre Abonnenten → Shell-Subagent-Ansatz (empfohlen)
|
|
315
|
+
|
|
316
|
+
- **Aktueller Stand**: Die Subagent-Shell von Claude Code verwendet Haiku als Vermittler; jeder Dispatch fügt Hunderte bis Tausende Token hinzu
|
|
317
|
+
- **Kompromiss**: Eine kleine Menge Anthropic-Token im Austausch für native Task-UI, Echtzeit-Fortschrittsanzeige und keine zusätzliche Konfiguration
|
|
318
|
+
- **Empfehlung**: Wenn Sie bereits Claude Pro abonniert haben oder Claude Code verwenden, nutzen Sie diesen Ansatz — bequem und transparent
|
|
319
|
+
|
|
320
|
+
### Pay-as-you-go- / CI-Umgebungen → direkter Router-Ansatz
|
|
321
|
+
|
|
322
|
+
- **Aktueller Stand**: Das Subagent-Frontmatter von Claude Code unterstützt keine direkte Verbindung zu Drittanbieter-Modellen; das Router-Experiment dieses Repos im Scratchpad erfordert API-Key-Credentials für Claude Code, aber Abo-OAuth wird upstream von Anthropic mit 403 blockiert
|
|
323
|
+
- **Empfehlung**:
|
|
324
|
+
- Wer API-Key-Credentials (kein OAuth) verwendet und Anthropic-Token sparen möchte, kann einen lokalen Router für eine direkte DeepSeek-Verbindung betreiben
|
|
325
|
+
- CI-Umgebungen verwenden typischerweise ebenfalls API-Schlüssel; dieser Ansatz ist wirtschaftlicher (ausschließlich DeepSeek-Token)
|
|
326
|
+
- Erfordert eigene Tests der Router-Integration (nicht offiziell unterstützt)
|
|
327
|
+
|
|
328
|
+
### DSH Web läuft → Hub-Modus automatisch aktiviert
|
|
329
|
+
|
|
330
|
+
- **Aktueller Stand**: Ist `dsh plugin add dsh-crew` in ein DSH-Web-Profil installiert, laufen Jobs als First-Class-Sitzungen im Host und erscheinen in der Sitzungsliste der Web-UI
|
|
331
|
+
- **Empfehlung**: Bei lokalen Entwicklungsiterationen wird empfohlen, den Hub-Modus zu aktivieren; der Worker-Fortschritt lässt sich vollständig in der Web-UI beobachten; für maschinenübergreifende Zusammenarbeit oder Umgebungen ohne Web-UI den Shell-Ansatz von Claude Code / Codex verwenden
|
|
332
|
+
|
|
333
|
+
### Bekannte Punkte
|
|
334
|
+
|
|
335
|
+
- Die Codex-Rolle kann theoretisch `model_provider` direkt auf DeepSeek zeigen lassen (unverifiziert); diese Brücke hängt nicht davon ab
|
|
336
|
+
- Die Ausgabe der Bildgenerierung ist eine flache Bitmap; Ebenenbearbeitung erfordert OpenPencil
|
|
337
|
+
- **Runtime-Abhängigkeiten**: Nur `@modelcontextprotocol/sdk` und `zod`; `@deepseek-ai/*` sind peerDependencies (vom DSH-Host bereitgestellt)
|
|
338
|
+
- **Codex muss konfigurieren**: `default_tools_approval_mode = "approve"`, andernfalls werden Tool-Aufrufe automatisch abgebrochen
|
|
339
|
+
|
|
340
|
+
## Entwicklung
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
pnpm install
|
|
344
|
+
node_modules/.bin/tsdown src/client/index.tsx --format cjs --platform browser \
|
|
345
|
+
--target es2022 --tsconfig tsconfig.client.json --out-dir .client-build --clean
|
|
346
|
+
node scripts/build-client.mjs # wraps the bundle for the DSH module loader
|
|
347
|
+
node scripts/smoke.mjs # dispatches one real flash task end to end
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Runtime-Abhängigkeiten sind nur `@modelcontextprotocol/sdk` und `zod`; jedes `@deepseek-ai/*`-Paket ist eine Peer-Abhängigkeit, die vom DSH-Host bereitgestellt wird, wodurch das Plugin im einzigen Modul-Realm des Hosts bleibt.
|
|
351
|
+
|
|
352
|
+
## Ökosystem
|
|
353
|
+
|
|
354
|
+
- [DSH Noema](https://github.com/ZSeven-W/dsh-noema) — Langzeitgedächtnis für DSH
|
|
355
|
+
- [DSH OpenPencil](https://github.com/ZSeven-W/dsh-openpencil) — `.op`-Designdokumente innerhalb einer Konversation inspizieren und bearbeiten
|
|
356
|
+
|
|
357
|
+
## Lizenz
|
|
358
|
+
|
|
359
|
+
MIT
|