@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.
Files changed (85) hide show
  1. package/.claude-plugin/marketplace.json +17 -0
  2. package/.claude-plugin/plugin.json +8 -0
  3. package/.mcp.json +8 -0
  4. package/LICENSE +21 -0
  5. package/README.de.md +359 -0
  6. package/README.es.md +359 -0
  7. package/README.fr.md +359 -0
  8. package/README.hi.md +359 -0
  9. package/README.id.md +359 -0
  10. package/README.ja.md +359 -0
  11. package/README.ko.md +359 -0
  12. package/README.md +360 -0
  13. package/README.pt.md +359 -0
  14. package/README.ru.md +359 -0
  15. package/README.th.md +359 -0
  16. package/README.tr.md +359 -0
  17. package/README.vi.md +359 -0
  18. package/README.zh-TW.md +359 -0
  19. package/README.zh.md +305 -0
  20. package/agents/ds-flash.md +26 -0
  21. package/agents/ds-pro.md +32 -0
  22. package/agents/ds-reviewer.md +23 -0
  23. package/agents/ds-worker.md +22 -0
  24. package/codex/agents/ds-flash.toml +30 -0
  25. package/codex/agents/ds-pro.toml +31 -0
  26. package/codex/agents/ds-reviewer.toml +28 -0
  27. package/codex/agents/ds-worker.toml +28 -0
  28. package/codex/prompts/dsh-config.md +3 -0
  29. package/codex/prompts/dsh-status.md +1 -0
  30. package/commands/config.md +11 -0
  31. package/commands/off.md +5 -0
  32. package/commands/on.md +5 -0
  33. package/commands/status.md +5 -0
  34. package/cordis.patch.yml +4 -0
  35. package/docs/images/dsh-crew-host.png +0 -0
  36. package/docs/images/dsh-crew-jobs.png +0 -0
  37. package/docs/images/dsh-crew-logo.png +0 -0
  38. package/docs/images/dsh-crew-overview.png +0 -0
  39. package/lib/client.js +2765 -0
  40. package/package.json +125 -0
  41. package/scripts/build-client.mjs +28 -0
  42. package/scripts/live-crew-smoke.mjs +39 -0
  43. package/scripts/live-policy-matrix.mjs +177 -0
  44. package/scripts/policy-probe.mjs +101 -0
  45. package/scripts/setup.mjs +294 -0
  46. package/scripts/smoke-real.mjs +110 -0
  47. package/scripts/smoke.mjs +78 -0
  48. package/scripts/verify-installer-fix.mjs +26 -0
  49. package/src/adaptive-routing.mjs +260 -0
  50. package/src/client/activation-summary.tsx +64 -0
  51. package/src/client/entry.tsx +236 -0
  52. package/src/client/index.tsx +1120 -0
  53. package/src/config-readiness.mjs +59 -0
  54. package/src/delivery.mjs +205 -0
  55. package/src/dsh-cli-runtime.mjs +251 -0
  56. package/src/failure-classification.mjs +172 -0
  57. package/src/hub/entry.mjs +98 -0
  58. package/src/hub/index.mjs +757 -0
  59. package/src/hub-client.mjs +132 -0
  60. package/src/hub-compatibility.mjs +49 -0
  61. package/src/i18n.mjs +19 -0
  62. package/src/install/cli.mjs +28 -0
  63. package/src/install/install-legacy.mjs +460 -0
  64. package/src/install/install.mjs +451 -0
  65. package/src/jobs.mjs +275 -0
  66. package/src/mcp-runtime.mjs +257 -0
  67. package/src/model-catalog.mjs +173 -0
  68. package/src/model-routing.mjs +391 -0
  69. package/src/multimodal.mjs +0 -0
  70. package/src/policy-legacy.mjs +830 -0
  71. package/src/policy.mjs +197 -0
  72. package/src/readiness-matrix.mjs +169 -0
  73. package/src/runtime-controls.mjs +90 -0
  74. package/src/runtime-identity.mjs +108 -0
  75. package/src/server.mjs +477 -0
  76. package/src/status-shard.mjs +52 -0
  77. package/src/structured-error-code.mjs +39 -0
  78. package/src/vision-route.mjs +138 -0
  79. package/src/workflow-runtime.mjs +567 -0
  80. package/src/workflow.mjs +160 -0
  81. package/src/workspace-audit.mjs +231 -0
  82. package/src/workspace-isolation.mjs +306 -0
  83. package/statusline/statusline.sh +14 -0
  84. package/statusline/worker-segment.sh +35 -0
  85. package/worker.cordis.yml +77 -0
package/README.tr.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>Bir <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a> eklentisi: Claude Code / Codex'ten DSH ajanlarına iş gönderin; host'un yerel subagent arayüzünden vazgeçmeden.</strong><br />
9
+ <sub>Yerel İlerleme Arayüzü &bull; Tier Politikası &amp; Yükseltme &bull; Host İçi DSH Oturumları &bull; Görüntü İnceleme ve Görsel Üretimi &bull; Tek Tıkla Kurulum</sub>
10
+ </p>
11
+
12
+ <p align="center">
13
+ <sub>GitHub: <code>Ran-sh/dsh-crew</code> &middot; Geçerli eklenti sürümü: <code>0.1.0-rc.1</code> &middot; DSH <code>0.1.0-rc.6</code> ile test edildi</sub>
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="./README.md"><b>English</b></a> &middot; <a href="./README.zh.md">简体中文</a> &middot; <a href="./README.zh-TW.md">繁體中文</a> &middot; <a href="./README.ja.md">日本語</a> &middot; <a href="./README.ko.md">한국어</a> &middot; <a href="./README.fr.md">Français</a> &middot; <a href="./README.es.md">Español</a> &middot; <a href="./README.de.md">Deutsch</a> &middot; <a href="./README.pt.md">Português</a> &middot; <a href="./README.ru.md">Русский</a> &middot; <a href="./README.hi.md">हिन्दी</a> &middot; <a href="./README.tr.md"><b>Türkçe</b></a> &middot; <a href="./README.th.md">ไทย</a> &middot; <a href="./README.vi.md">Tiếng Việt</a> &middot; <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="Lisans" /></a>
22
+ </p>
23
+
24
+ <br />
25
+
26
+ <p align="center">
27
+ <img src="./docs/images/dsh-crew-overview.png" alt="DSH Crew — ayarlar sayfası" width="100%" />
28
+ </p>
29
+ <p align="center"><sub>DSH Crew ayarlar sayfası — host entegrasyonları, gönderim politikası, yürütme ve multimodal köprü</sub></p>
30
+
31
+ ## Neden DSH Crew
32
+
33
+ DSH Crew, [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH) için bir eklentidir — açık kaynaklı bir agent harness. DSH ajanlarını Claude Code ve Codex'ten gönderilebilir hale getirir: orchestrator kendi modelini korur, iş gerçek bir DSH ajanında bu harness'ın araçları, sandbox'ı, preset'leri ve oturum geçmişiyle çalışır; host ise onu canlı ilerlemeyle yerel bir subagent olarak göstermeye devam eder.
34
+
35
+ İşi çalıştıran şey bir DSH ajanıdır, çıplak bir model çağrısı değil. Tier'lar (`flash` / `pro`), ajanın harness'ın yapılandırılmış roster'ından ne kadar yetenek alacağını seçer — bugün DeepSeek V4 Flash ve V4 Pro — yani DSH'de model değişikliği burada hiçbir değişiklik gerektirmez.
36
+
37
+ <table>
38
+ <tr>
39
+ <td width="50%">
40
+
41
+ ### 🧵 Yerel İlerleme Arayüzü
42
+
43
+ Worker'lar Claude Code / Codex'te normal subagent'lar olarak görünür — gönderim sayısı, çalışan adım, araç çağrıları ve token kullanımı host'un kendi görev panelinde görünür; ayrıca bir claude-hud statusline bölümü: `⚙dsh 1▶pro 2m14s 21.7k/606 ✓3`.
44
+
45
+ </td>
46
+ <td width="50%">
47
+
48
+ ### 🎚️ Tier Politikası ve Yükseltme
49
+
50
+ `flash` mekanik işler için, `pro` akıl yürütme için, `effort` `off`'tan `max`'a. `tier_policy`, her gönderimi araç katmanında tek bir tier'a sabitleyebilir ve `escalate_on_failure`, başarısız bir flash çalıştırmasını pro'da bir kez yeniden dener — zorluğu önceden tahmin ederek değil, kanıta dayanarak.
51
+
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <td width="50%">
56
+
57
+ ### 🏛️ Host İçi DSH Oturumları
58
+
59
+ Bundle bir DSH profiline kurulduğunda, her worker birinci sınıf bir DSH oturumudur: Web UI'da görünür, çalışma dizinine göre gruplanır ve tier başına seçtiğiniz Agent preset'iyle bağlanır. DSH çalışmıyorsa, gönderim standalone bir DSH runtime'ına geri döner; böylece CI ve headless ortamlar çalışmaya devam eder.
60
+
61
+ </td>
62
+ <td width="50%">
63
+
64
+ ### 👁️ Görüntü İnceleme ve Görsel Üretimi
65
+
66
+ DSH'nin modelleri yalnızca metindir. `describe_image` ve `generate_image`, zaten sahip olduğunuz CLI'lerin — Claude, Codex, Grok, Antigravity — veya yapılandırdığınız herhangi bir OpenAI uyumlu API'nin gözlerini ve fırçasını kullanır. Yapıştırılan görseller sohbette görünür kalır ve modele metin olarak ulaşır.
67
+
68
+ </td>
69
+ </tr>
70
+ <tr>
71
+ <td width="50%">
72
+
73
+ ### 🔌 Özel Sağlayıcılar
74
+
75
+ Kendi endpoint'inizi (Base URL + API anahtarı + modeller) veya yerel bir komut şablonu getirin. Her sağlayıcıda erişilebilirliği ve kimlik doğrulamayı kontrol eden, ardından gerçek bir görüntü çağrısı yapan bir bağlantı testi vardır; böylece sorunu görev sırasında değil, hemen öğrenirsiniz.
76
+
77
+ </td>
78
+ <td width="50%">
79
+
80
+ ### 📦 Tek Tıkla Kurulum
81
+
82
+ Ayarlar sayfası Claude Code eklentisini ve Codex role dosyalarını sizin için kurar ve günceller — marketplace kaydı, izin allowlist'i, HUD bağlantısı, bu makine için işlenmiş mutlak yollar — ve aynı kolaylıkla geri yükler. Her ayar dosyası önce yedeklenir.
83
+
84
+ </td>
85
+ </tr>
86
+ </table>
87
+
88
+ ## Nasıl Çalışır
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
+ ## Tek çalışma, iki görünüm
100
+
101
+ Dağıtım yatayda büyür. Aşağıda on sekiz worker bu README'yi paralel olarak çeviriyor: host onları kendi subagent'ları olarak sayarken, harness onları gerçek oturumlar olarak çalıştırır.
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'da dsh-crew worker'ları yerel subagent olarak görünür; statusline bölümü çalışan tier'ları, geçen süreyi ve token'ları gösterir.</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>DSH Crew paneli aynı çalışmayı harness tarafından gösterir: her işi hangi host gönderdi, tier ve effort değerleri, canlı ilerleme ve token kullanımı.</sub></p>
112
+
113
+ ## Kurulum
114
+
115
+ GitHub üzerinden bir DSH profiline kurun:
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
+ Ya da kaynak ağacından yerel geliştirme için:
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
+ `link:` protokolü profil bağımlılığını bu depoya sembolik olarak bağlar; böylece her rebuild anında görünür.
132
+
133
+ ### DeepSeek kimlik bilgilerini yapılandırın (yalnızca standalone)
134
+
135
+ Hub modunda — yukarıdaki kurulum — worker'lar DSH örneğinin içinde çalışır ve zaten yapılandırılmış olan DeepSeek kimlik bilgilerini kullanır. Başka bir şey ayarlamaya gerek yok.
136
+
137
+ Yalnızca standalone geri dönüş yolu kendi anahtarına ihtiyaç duyar: DSH örneği çalışmıyorken Claude Code / Codex'ten iş gönderdiğinizde worker runtime ayrı bir işlem olarak başlatılır. [platform.deepseek.com](https://platform.deepseek.com) adresinden bir API key alın ve `~/.config/dsh-crew/.env` dosyasına yazın:
138
+
139
+ ```
140
+ DEEPSEEK_API_KEY=sk-...
141
+ ```
142
+
143
+ ### Doğrulama
144
+
145
+ ```bash
146
+ node scripts/smoke.mjs
147
+ ```
148
+
149
+ Smoke test, mevcut yol üzerinden ucuz bir iş gönderir — bir DSH örneği çalışıyorsa hub, aksi halde standalone — ve hangisini kullandığını yazdırır. Yaklaşık on saniye içinde `smoke test passed — configuration OK` görmelisiniz. Hata durumunda nedeni yazdırılır; bu neden test edilen yola özgüdür.
150
+
151
+ Ardından Ayarlar → DSH Crew bölümünden Claude Code / Codex entegrasyonlarını tek tıkla kurun.
152
+
153
+ ## Arka Plan ve Terminoloji
154
+
155
+ - **DSH** (DeepSeek Harness): DeepSeek'in açık kaynaklı agent harness'ı; Web UI biçiminde, Claude Code'a benzer ancak DeepSeek modellerini kullanan bir kod ajanı.
156
+ - **MCP** (Model Context Protocol): Anthropic'in AI araç entegrasyon protokolü; LLM'lerin harici araçları ve veri kaynaklarını güvenle çağırmasını sağlar.
157
+ - **Cordis bundle**: DSH'nin eklenti formatı; bu proje standalone bir MCP hizmeti olarak çalışabilir veya hub modunda DSH Web'e kurulabilir.
158
+ - **tier**: yetenek seviyesi — bir worker'ın DSH'nin yapılandırılmış model roster'ındaki hangi yuvayı alacağını belirtir. `flash` hızlı ve ucuzdur (basit görevler), `pro` daha derin akıl yürütür (karmaşık problemler). Bugün DeepSeek V4 Flash ve V4 Pro'ya karşılık gelirler; DSH'de modelleri değiştirin, burada hiçbir şey değişmez.
159
+ - **worker**: işi yapan DSH ajanı — kendi araçları, sandbox'ı ve preset'i olan tam bir oturum; çıplak bir model çağrısı değil.
160
+ - **effort**: akıl yürütme gücü; `off` = akıl yürütme yok, `high` = yüksek akıl yürütme yatırımı, `max` = maksimum akıl yürütme yatırımı.
161
+
162
+ ## Claude Code
163
+
164
+ ### Kurulum
165
+
166
+ Tek tıkla kurulum (birini seçin):
167
+
168
+ - **DSH ayarlar sayfası** (hub modu kuruluysa): Ayarlar → DSH Crew → "Install to Claude Code"
169
+ - **Komut satırı**: `node src/install/cli.mjs all`
170
+
171
+ Her ikisi de aynı şeyi yapar: yerel marketplace'i kaydeder (üst dizin `dsh-plugins/` marketplace kökü olarak) + `claude plugin install` + MCP araç izin allowlist'i + claude-hud worker durum bölümü yapılandırması (değişikliklerden önce settings.json otomatik yedeklenir, idempotent). **Değişikliklerin etkili olması için kurulumdan sonra oturumu yeniden başlatın.**
172
+
173
+ ### Kullanım
174
+
175
+ - Doğrudan sohbette "dispatch X to ds-flash" veya "dispatch X to ds-pro" deyin; subagent görevi yürütür
176
+ - Gönderim sayısı ve gerçek zamanlı ilerleme Claude Code görev arayüzünde gösterilir
177
+ - **HUD durum satırı bölümü**: `⚙dsh 1▶pro 2m14s 21.7k/606 ✓3` (geçerli tier / geçen süre / token kullanımı / tamamlama sayısı)
178
+ - Yerel geliştirme için `statusline/statusline.sh` veya `statusline/worker-segment.sh` bağımsız olarak entegre edilebilir
179
+ - **Uzun süren görevler**: CC'nin MCP çağrılarında zaman aşımı limitleri vardır (`MCP_TOOL_TIMEOUT` ayarlanabilir); uzun görevlerde orchestrator, `dsh_spawn_worker` + `dsh_worker_result(wait_seconds)` yoklama kullanabilir
180
+ - **Yerel geliştirme ve hata ayıklama**: geçici olarak yüklemek için `claude --plugin-dir /path/to/dsh-crew`
181
+
182
+
183
+ ### Oturum komutları
184
+
185
+ Genel varsayılanları yalnızca geçerli oturum için geçersiz kılar ve prompt ile değil, araç katmanında uygulanır:
186
+
187
+ | Komut | Ne yapar |
188
+ |---|---|
189
+ | `/dsh-crew:config` | Oturumun varsayılanlarını göster ya da ayarla: `tier=flash\|pro`, `effort=off\|high\|max`, `mode=auto\|hub\|standalone`, `timeout=<saniye>`, `policy=auto\|flash-only\|pro-only`, `escalate=true\|false`, `reset` |
190
+ | `/dsh-crew:on` · `/dsh-crew:off` | Bu oturumda dağıtımı aç ya da kapat (kapalı sert bir anahtardır: araç reddeder) |
191
+ | `/dsh-crew:status` | Worker işlerinin canlı durumu: tier, ilerleme, token, geçerli araç |
192
+
193
+ ## Codex
194
+
195
+ ### Kurulum
196
+
197
+ Yükleyiciyi kullanmanız önerilir (bu makine için yolları otomatik işler, `/dsh-config` ve `/dsh-status` komutlarını kopyalar):
198
+
199
+ ```bash
200
+ node src/install/cli.mjs codex
201
+ ```
202
+
203
+ Veya elle kopyalayın (kopyaladıktan sonra elle yol değişikliği gerektirir):
204
+
205
+ ```bash
206
+ cp codex/agents/*.toml ~/.codex/agents/ # global or project-level .codex/agents/
207
+ ```
208
+
209
+ Role dosyaları şunlarla önceden yapılandırılmıştır:
210
+
211
+ - MCP sunucu bağlama yapılandırması
212
+ - `default_tools_approval_mode = "approve"` (**zorunlu**, aksi halde exec modunda araç çağrıları otomatik iptal edilir)
213
+ - `tool_timeout_sec = 3600`
214
+
215
+ **Not**: Elle kopyalarken `args` alanındaki mutlak yollar gerçek kurulum konumuyla eşleşecek şekilde güncellenmelidir; yükleyici bunu otomatik olarak halleder.
216
+
217
+ ### Kullanım
218
+
219
+ - Etkileşimli TUI'de görev göndermek için "spawn ds-pro to ..." seçeneğini seçin; Active/Done panelleri ilerlemeyi gösterir
220
+ - `codex exec` modu ayrıca doğrudan `dsh_run_worker` çağırabilir
221
+
222
+
223
+ ### Oturum komutları
224
+
225
+ Codex için de aynı iki prompt kurulur:
226
+
227
+ | Komut | Ne yapar |
228
+ |---|---|
229
+ | `/dsh-config` | Oturumun varsayılanlarını göster ya da ayarla: `tier=flash\|pro`, `effort=off\|high\|max`, `mode=auto\|hub\|standalone`, `timeout=<saniye>`, `policy=auto\|flash-only\|pro-only`, `escalate=true\|false`, `reset` |
230
+ | `/dsh-status` | Worker işlerinin canlı durumu: tier, ilerleme, token, geçerli araç |
231
+
232
+ ## MCP araçları
233
+
234
+ | Araç | Açıklama |
235
+ |---|---|
236
+ | `dsh_run_worker` | Eşzamanlı görev gönderimi (`tier`: flash/pro, `effort`: off/high/max, `cwd`), sonucu bekler |
237
+ | `dsh_spawn_worker` | Eşzamansız görev gönderimi, iş kimliği döndürür (paralel fan-out için) |
238
+ | `dsh_worker_status` | Tüm işlerin gerçek zamanlı ilerlemesini sorgular (turn/step/geçerli araç/token) |
239
+ | `dsh_worker_result` | Sonucu getirir, beklemek için `wait_seconds` belirtilebilir |
240
+ | `dsh_worker_cancel` | Belirtilen işi iptal eder, runtime sürecini sonlandırır |
241
+
242
+ İlerleme aynı anda `~/.config/dsh-crew/status.d/` dizinine yansıtılır (yazar başına bir shard dosyası; statusline / harici izleme tarafından okunabilir).
243
+
244
+ ## Multimodal: görüntü inceleme ve görsel üretimi
245
+
246
+ **DeepSeek yalnızca metin modelidir** ve görsel girdisini veya üretimini desteklemez. Bu eklenti bu yetenekleri MCP araçları aracılığıyla harici olarak sağlar:
247
+
248
+ | Araç | Açıklama |
249
+ |---|---|
250
+ | `describe_image` | Görüntülere bakarak soruları yanıtlar (ekran görüntüleri, tasarımlar, grafikler vb.); sonuçlar sağlayıcı + model + görüntü + soruya göre önbelleğe alınır |
251
+ | `generate_image` | Metin açıklamasından görüntü üretir, belirtilen mutlak yola kaydeder; çıktı düz bitmap'tir (katman düzenlemesi için OpenPencil gerekir) |
252
+
253
+ **Oturumda görsel yapıştırma**: DSH'de görselleri doğrudan yapıştırmak için modeli `DeepSeek (vision) ◉` olarak değiştirin. Görseller oturumda kalır ve normal şekilde görüntülenir; eklenti, onlardan sonra transkript edilmiş metni ekler ve göndermeden önce görselleri çıkarır — siz görseli görürsünüz, model metni okur.
254
+
255
+ ### Yapılandırma
256
+
257
+ **DSH ayarlar sayfası → DSH Crew → Multimodal** bölümünde (veya doğrudan `~/.config/dsh-crew/config.json` dosyasını düzenleyin):
258
+
259
+ **Görüntü sağlayıcısı** (görüntü inceleme):
260
+
261
+ - `claude-code` (varsayılan, haiku kullanır, ucuz)
262
+ - `codex` (GPT kullanır, belirli bir model belirtilebilir)
263
+ - `grok` (Grok kullanır)
264
+ - `agy` (Antigravity)
265
+ - `custom` (OpenAI uyumlu API veya yerel komut)
266
+ - `off` (devre dışı)
267
+
268
+ **Görsel üretim sağlayıcısı** (görsel üretimi):
269
+
270
+ - `codex` (`$imagegen`, gpt-image-2)
271
+ - `agy` (Nano Banana)
272
+ - `grok` (Imagine)
273
+ - `custom` (OpenAI uyumlu API veya yerel komut)
274
+ - `off` (devre dışı)
275
+
276
+ ### Özel sağlayıcı
277
+
278
+ İki entegrasyon yöntemi:
279
+
280
+ **API**: OpenAI uyumlu herhangi bir endpoint
281
+ - Base URL, API Anahtarı ve model listesini doldurun
282
+ - Görüntü inceleme, satır içi base64 görsellerle `/chat/completions` kullanır
283
+ - Görsel üretimi `/images/generations` kullanır
284
+ - **Üretim yeteneğine sahip olmak için "image generation model" belirtilmelidir**, aksi halde sağlayıcı yalnızca görüntü inceleme seçiminde görünür
285
+
286
+ **CLI**: Yerel komut şablonu; placeholders güvenli referanslarla değiştirilir
287
+ - Görüntü inceleme: `{image} {question} {model}` → yanıt olarak stdout
288
+ - Görsel üretimi: `{prompt} {output} {size}` → komut dosyayı `{output}` konumuna yazmalıdır
289
+ - En az bir komut doldurun; hangisi doldurulursa yetenek onu belirler
290
+
291
+ **Bağlantı testi**: Her özel sağlayıcının bir test düğmesi vardır
292
+ - API: Endpoint erişilebilirliğini ve kimlik doğrulamayı kontrol eder, doğrulamak için gerçek bir görüntü isteği gönderir
293
+ - CLI: Çalıştırılabilir dosyayı kontrol eder, doğrulamak için gerçek komutu çalıştırır
294
+ - Görsel üretimi: Yalnızca yapılandırmayı doğrular, gerçek görsel çıktısı üretmez
295
+
296
+ **Ödünç alınan abonelik CLI'leri** (claude / codex / grok / agy) yerel olarak oturum açmış olmanızı gerektirir; eklenti sizin adınıza onların izinlerini atlamaz.
297
+
298
+ ## Hub modu
299
+
300
+ Bu paket aynı zamanda geçerli bir DSH bundle'ıdır (`dsh.bundle` + `cordis.patch.yml`). `dsh plugin add dsh-crew` ile DSH Web profiline kurulduktan sonra:
301
+
302
+ - **Worker oturumları birinci sınıf vatandaş olur**: DSH host'unda birinci sınıf oturumlar olarak çalışır (`agents.create` + oturum başına model/effort şelalesi + varsayılan preset), Web UI oturum listesinde görünür ve tam yürütmeyi görmek için istenildiği zaman açılabilir
303
+ - **Çalışma dizinine göre düzenleme**: Web UI'da worker oturumlarını cwd'ye göre yönetin
304
+ - **Loopback API**:
305
+ - `POST/GET /_dsh/dsh-crew/jobs`: görev başlatma, listeleme, sonuçları long-poll ile bekleme, iptal
306
+ - `GET /_dsh/dsh-crew/ping`: sağlık kontrolü (MCP shim, hub'ın çalışıp çalışmadığını anlamak için bunu kullanır)
307
+ - `POST /_dsh/dsh-crew/install`: Claude Code / Codex entegrasyonunun tek tıkla kurulumu (`src/install/` arka ucu)
308
+ - **Otomatik algılama**: CC/Codex'in MCP shim'i hub'ı otomatik algılar (`DSH_CREW_HUB` ortam değişkeni, varsayılan `http://127.0.0.1:3080`)
309
+ - DSH Web çalışıyorsa → işler hub moduna girer (`mode: "hub"`)
310
+ - Çalışmıyorsa → standalone runtime'a geri döner
311
+
312
+ ## Çözüm seçimi ve sınırlamalar
313
+
314
+ ### Normal aboneler → shell subagent yaklaşımı (önerilir)
315
+
316
+ - **Güncel durum**: Claude Code subagent shell'i haiku'yu aracı olarak kullanır; her gönderim yüzlerce ila binlerce token ekler
317
+ - **Takas**: Yerel görev arayüzü, gerçek zamanlı ilerleme görüntüleme ve ek yapılandırma gerektirmeme karşılığında az miktarda Anthropic token kullanın
318
+ - **Öneri**: Zaten Claude Pro'ya aboneyseniz veya Claude Code kullanıyorsanız bu yaklaşımı kullanın — kullanışlı ve şeffaftır
319
+
320
+ ### Kullandıkça öde / CI ortamları → doğrudan router yaklaşımı
321
+
322
+ - **Güncel durum**: Claude Code subagent frontmatter'ı doğrudan üçüncü taraf model bağlantısını desteklemez; bu depodaki scratchpad'deki router deneyi Claude Code için API anahtarı kimlik bilgileri gerektirir, ancak abonelik OAuth'u upstream'te Anthropic tarafından 403 ile engellenir
323
+ - **Öneri**:
324
+ - API anahtarı kimlik bilgileri kullanıyorsanız (OAuth değil) ve Anthropic token'larından tasarruf etmek istiyorsanız, doğrudan DeepSeek bağlantısı için yerel bir router çalıştırabilirsiniz
325
+ - CI ortamları genellikle API anahtarları kullanır; bu yaklaşım daha ekonomiktir (tümü DeepSeek token'ları)
326
+ - Router entegrasyonunun kendi kendine test edilmesi gerekir (resmi olarak desteklenmez)
327
+
328
+ ### DSH Web çalışıyorsa → hub modu otomatik etkinleşir
329
+
330
+ - **Güncel durum**: `dsh plugin add dsh-crew` DSH Web profiline kurulduysa, işler host'ta birinci sınıf oturumlar olarak çalışır ve Web UI oturum listesinde görünür
331
+ - **Öneri**: Yerel geliştirme iterasyonu sırasında hub modunun etkinleştirilmesi önerilir; worker ilerlemesi Web UI'da tamamen izlenebilir; makineler arası iş birliği veya Web UI olmayan ortamlar için Claude Code / Codex shell yaklaşımını kullanın
332
+
333
+ ### Bilinen konular
334
+
335
+ - Codex role'u teorik olarak doğrudan DeepSeek'e işaret eden `model_provider` deneyebilir (doğrulanmamış); bu köprü buna bağlı değildir
336
+ - Görsel üretim çıktısı düz bitmap'tir; katman düzenlemesi OpenPencil gerektirir
337
+ - **Runtime bağımlılıkları**: Yalnızca `@modelcontextprotocol/sdk` ve `zod`; `@deepseek-ai/*` paketleri peerDependencies'tir (DSH host tarafından sağlanır)
338
+ - **Codex şunları yapılandırmalıdır**: `default_tools_approval_mode = "approve"`, aksi halde araç çağrıları otomatik iptal edilir
339
+
340
+ ## Geliştirme
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 bağımlılıkları yalnızca `@modelcontextprotocol/sdk` ve `zod`'dur; her `@deepseek-ai/*` paketi DSH host tarafından sağlanan bir peer dependency'dir; bu, eklentiyi host'un tek modül alanı içinde tutar.
351
+
352
+ ## Ekosistem
353
+
354
+ - [DSH Noema](https://github.com/ZSeven-W/dsh-noema) — DSH için uzun vadeli bellek
355
+ - [DSH OpenPencil](https://github.com/ZSeven-W/dsh-openpencil) — bir sohbet içinde `.op` tasarım belgelerini inceleyin ve düzenleyin
356
+
357
+ ## Lisans
358
+
359
+ MIT