DSH Crew

DSH Crew

एक DeepSeek Harness प्लगइन: Claude Code / Codex से DSH एजेंटों में काम भेजें, बिना होस्ट के नेटिव सबएजेंट UI को छोड़े।
नेटिव प्रगति UI • टियर पॉलिसी और एस्केलेशन • इन-होस्ट DSH सेशन • विजन और इमेज जनरेशन • वन-क्लिक इंस्टॉल

npm: @zseven-w/dsh-crew · वर्तमान प्लगइन रिलीज: 0.1.0-rc.2 · DSH 0.1.0-rc.6 के साथ परीक्षित

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français · Español · Deutsch · Português · Русский · हिन्दी · Türkçe · ไทย · Tiếng Việt · Bahasa Indonesia

License


DSH Crew — settings page

DSH Crew सेटिंग्स पेज - होस्ट इंटीग्रेशन, डिस्पैच पॉलिसी, निष्पादन और मल्टीमोडल ब्रिज

## DSH Crew क्यों DSH Crew एक प्लगइन है [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH) के लिए - एक ओपन-सोर्स एजेंट हार्नेस। यह DSH एजेंटों को Claude Code और Codex से डिस्पैच करने योग्य बनाता है: ऑर्केस्ट्रेटर अपना मॉडल रखता है, काम एक वास्तविक DSH एजेंट पर चलता है जिसके पास उस हार्नेस के टूल, सैंडबॉक्स, प्रीसेट और सेशन हिस्ट्री होती है, और होस्ट अभी भी इसे एक नेटिव सबएजेंट के रूप में दिखाता है जिसमें लाइव प्रगति होती है। काम को क्या चलाता है वह एक DSH एजेंट है, न कि एक बेयर मॉडल कॉल। टियर (`flash` / `pro`) चुनते हैं कि एजेंट को हार्नेस की कॉन्फ़िगर्ड रोस्टर से कितनी क्षमता मिलेगी - आज DeepSeek V4 Flash और V4 Pro - तो DSH में मॉडल का परिवर्तन यहां कोई परिवर्तन नहीं चाहिए।
### 🧵 नेटिव प्रगति UI कार्यकर्ता Claude Code / Codex में नियमित सबएजेंट के रूप में दिखाई देते हैं - डिस्पैच काउंट, चल रहे स्टेप, टूल कॉल और टोकन उपयोग सभी होस्ट के अपने टास्क पैनल में दिखाई देते हैं, साथ ही एक claude-hud स्टेटसलाइन सेगमेंट: `⚙dsh 1▶pro 2m14s 21.7k/606 ✓3`। ### 🎚️ टियर पॉलिसी और एस्केलेशन यांत्रिक काम के लिए `flash`, तर्क के लिए `pro`, `effort` को `off` से `max` तक। `tier_policy` टूल लेयर पर हर डिस्पैच को एक टियर तक सीमित कर सकता है, और `escalate_on_failure` विफल flash रन को pro पर एक बार फिर से प्रयास करता है - अनुमान पर नहीं, साक्ष्य पर।
### 🏛️ इन-होस्ट DSH सेशन DSH प्रोफाइल में बंडल स्थापित होने के साथ, प्रत्येक कार्यकर्ता एक फर्स्ट-क्लास DSH सेशन है: वेब UI में दृश्यमान, कार्य निर्देशिका द्वारा समूहीकृत, आपके द्वारा प्रति टियर चुने गए एजेंट प्रीसेट के साथ माउंट किया गया। DSH चलाए बिना, डिस्पैच एक स्टैंडअलोन DSH रनटाइम पर वापस आता है, इसलिए CI और हेडलेस वातावरण अभी भी काम करते हैं। ### 👁️ विजन और इमेज जनरेशन DSH के मॉडल केवल पाठ हैं। `describe_image` और `generate_image` CLI के आंखों और ब्रश को उधार लेते हैं जो आपके पास पहले से हैं - Claude, Codex, Grok, Antigravity - या किसी OpenAI-संगत API का जो आप कॉन्फ़िगर करते हैं। चिपकाई गई छवियां बातचीत में दृश्यमान रहती हैं और मॉडल तक पाठ के रूप में पहुंचती हैं।
### 🔌 कस्टम प्रदाता अपना एंडपॉइंट (Base URL + API key + मॉडल) लाएं या एक स्थानीय कमांड टेम्पलेट। प्रत्येक प्रदाता के पास एक कनेक्टिविटी परीक्षण है जो पहुंच और प्रमाणीकरण की जांच करता है, फिर एक वास्तविक विजन कॉल करता है ताकि आप अब पता लगें, कार्य के बीच में नहीं। ### 📦 वन-क्लिक इंस्टॉल सेटिंग्स पेज आपके लिए Claude Code प्लगइन और Codex भूमिका फाइलें स्थापित और अपडेट करता है - मार्केटप्लेस पंजीकरण, अनुमति allowlist, HUD वायरिंग, इस मशीन के लिए रेंडर किए गए पूर्ण पथ - और उन्हें उतना ही आसानी से पुनः स्थापित करता है। हर सेटिंग फाइल पहले बैकअप ली जाती है।
## यह कैसे काम करता है ``` Claude Code / Codex (orchestrator, keeps its own model) └─ ds-flash / ds-pro ← native subagent shell (progress shows in the host's task UI) └─ MCP: dsh_run_worker(tier, effort, cwd) ├─ hub reachable → session inside DSH (visible in the Web UI, grouped by cwd) └─ otherwise → dsh-jsonrpc-agent runtime (worker.cordis.yml) └─ DeepSeek V4 Flash / Pro (DSH SDK, event stream → progress and token stats) ``` ## एक रन, दो नज़रिये डिस्पैच चौड़ाई में फैलता है। नीचे अठारह worker इस README का समानांतर अनुवाद कर रहे हैं: होस्ट उन्हें अपने subagent गिनता है, जबकि harness उन्हें असली session के रूप में चलाता है।

Claude Code

Claude Code में dsh-crew के worker नेटिव subagent दिखते हैं; statusline सेगमेंट चल रहे tier, बीता समय और token दिखाता है।

DSH Crew

DSH Crew पैनल वही रन harness की तरफ़ से दिखाता है: कौन-सा होस्ट किस job को भेजा, उसका tier और effort, लाइव प्रगति और token खपत।

## इंस्टॉल npm से DSH प्रोफ़ाइल में इंस्टॉल करें: ```bash dsh plugin --profile web add @zseven-w/dsh-crew@latest dsh web ``` या, सोर्स ट्री से लोकल डेवलपमेंट के लिए: ```bash dsh plugin --profile web add link:/path/to/dsh-crew dsh web ``` `link:` प्रोटोकॉल प्रोफ़ाइल डिपेंडेंसी को इस रिपॉज़िटरी से symlink करता है, इसलिए हर rebuild तुरंत दिखता है। ### DeepSeek क्रेडेंशियल सेट करें (केवल standalone) hub mode में — ऊपर दिया गया इंस्टॉलेशन — worker DSH इंस्टेंस के अंदर चलते हैं और उन्हीं DeepSeek क्रेडेंशियल का उपयोग करते हैं जो DSH इंस्टेंस में पहले से कॉन्फ़िगर हैं। कुछ और सेट करने की आवश्यकता नहीं है। केवल standalone fallback को अपनी key की आवश्यकता है: Claude Code / Codex से DSH इंस्टेंस चलाए बिना डिस्पैच करने से एक अलग प्रक्रिया के रूप में worker runtime लॉन्च होता है। [platform.deepseek.com](https://platform.deepseek.com) से API key प्राप्त करें और इसे `~/.config/dsh-crew/.env` में लिखें: ``` DEEPSEEK_API_KEY=sk-... ``` ### जाँच ```bash node scripts/smoke.mjs ``` smoke test उपलब्ध किसी भी पथ के माध्यम से एक सस्ता job dispatch करता है — जब DSH instance चल रहा हो तो hub, अन्यथा standalone — और उपयोग किए गए पथ को प्रिंट करता है। लगभग दस सेकंड में आपको `smoke test passed — configuration OK` दिखना चाहिए। विफलता पर कारण प्रिंट होता है, जो परीक्षित पथ तक सीमित होता है। फिर Settings → DSH Crew खोलकर Claude Code / Codex इंटीग्रेशन एक क्लिक में इंस्टॉल करें। ## पृष्ठभूमि और शब्दावली - **DSH** (DeepSeek Harness): DeepSeek का ओपन-सोर्स एजेंट हार्नेस, एक वेब UI फॉर्म में कोड एजेंट, Claude Code के समान लेकिन DeepSeek मॉडल चलाता है। - **MCP** (Model Context Protocol): Anthropic की AI टूल इंटीग्रेशन प्रोटोकॉल, LLM को बाहरी टूल और डेटा स्रोत को सुरक्षित रूप से कॉल करने में सक्षम बनाता है। - **Cordis bundle**: DSH की प्लगइन प्रारूप; यह प्रोजेक्ट स्टैंडअलोन MCP सेवा के रूप में चला सकता है या DSH Web में hub मोड में स्थापित कर सकता है। - **tier**: क्षमता टियर - कार्यकर्ता को DSH की कॉन्फ़िगर्ड मॉडल रोस्टर का कौन सा स्लॉट मिलता है। `flash` तेज़ और सस्ता है (सरल कार्य), `pro` कठिन तर्क करता है (जटिल समस्याएं)। आज वे DeepSeek V4 Flash और V4 Pro में मैप करते हैं; DSH में मॉडल स्वैप करें और यहां कुछ नहीं बदलता। - **worker**: काम करने वाला DSH एजेंट - अपने स्वयं के टूल, सैंडबॉक्स और प्रीसेट के साथ एक पूर्ण सेशन, एक बेयर मॉडल कॉल नहीं। - **effort**: तर्क शक्ति, `off` = कोई तर्क नहीं, `high` = उच्च तर्क निवेश, `max` = अधिकतम तर्क निवेश। ## Claude Code ### स्थापना वन-क्लिक स्थापना (एक चुनें): - **DSH सेटिंग्स पेज** (जब hub मोड स्थापित हो): सेटिंग्स → DSH Crew → "Claude Code में स्थापित करें" - **कमांड लाइन**: `node src/install/cli.mjs all` दोनों एक ही काम करते हैं: स्थानीय मार्केटप्लेस पंजीकृत करें (माता-पिता की निर्देशिका `dsh-plugins/` को मार्केटप्लेस रूट के रूप में) + `claude plugin install` + MCP टूल अनुमति allowlist + claude-hud कार्यकर्ता स्थिति सेगमेंट कॉन्फ़िगरेशन (परिवर्तनों से पहले settings.json को ऑटो-बैकअप करें, idempotent)। **परिवर्तनों को प्रभावी होने के लिए स्थापना के बाद सेशन पुनः प्रारंभ करें।** ### उपयोग - सीधे बातचीत में कहें "dispatch X to ds-flash" या "dispatch X to ds-pro", और सबएजेंट कार्य निष्पादित करता है - डिस्पैच काउंट और रीयल-टाइम प्रगति Claude Code टास्क UI में दिखाई दी - **HUD स्टेटसलाइन सेगमेंट**: `⚙dsh 1▶pro 2m14s 21.7k/606 ✓3` (वर्तमान टियर / बीता हुआ समय / टोकन उपयोग / पूर्णता काउंट) - स्थानीय विकास के लिए, `statusline/statusline.sh` या `statusline/worker-segment.sh` को स्वतंत्र रूप से एकीकृत किया जा सकता है - **लंबे समय चलने वाले कार्य**: CC के पास MCP कॉल पर समय सीमा है (`MCP_TOOL_TIMEOUT` समायोज्य), लंबे कार्य ऑर्केस्ट्रेटर को `dsh_spawn_worker` + `dsh_worker_result(wait_seconds)` पोलिंग का उपयोग कर सकते हैं - **स्थानीय विकास और डिबगिंग**: `claude --plugin-dir /path/to/dsh-crew` अस्थायी रूप से लोड करने के लिए ### सेशन कमांड ये केवल मौजूदा सेशन के लिए ग्लोबल डिफ़ॉल्ट को ओवरराइड करते हैं और प्रॉम्प्ट नहीं, टूल लेयर पर लागू होते हैं: | कमांड | क्या करता है | |---|---| | `/dsh-crew:config` | इस सेशन के डिफ़ॉल्ट देखें या सेट करें: `tier=flash\|pro`, `effort=off\|high\|max`, `mode=auto\|hub\|standalone`, `timeout=<सेकंड>`, `policy=auto\|flash-only\|pro-only`, `escalate=true\|false`, `reset` | | `/dsh-crew:on` · `/dsh-crew:off` | इस सेशन में डिस्पैच चालू या बंद करें (बंद एक हार्ड स्विच है: टूल मना कर देता है) | | `/dsh-crew:status` | worker jobs की लाइव स्थिति: tier, प्रगति, tokens, मौजूदा टूल | ## Codex ### स्थापना इंस्टॉलर का उपयोग करने की अनुशंसा की जाती है (इस मशीन के लिए पथ ऑटो-रेंडर करता है, `/dsh-config`, `/dsh-status` कमांड कॉपी करता है): ```bash node src/install/cli.mjs codex ``` या मैन्युअल रूप से कॉपी करें (कॉपी करने के बाद मैन्युअल पथ संशोधन की आवश्यकता है): ```bash cp codex/agents/*.toml ~/.codex/agents/ # global or project-level .codex/agents/ ``` भूमिका फाइलें पूर्व-कॉन्फ़िगर की गई हैं: - MCP सर्वर माउंटिंग कॉन्फ़िगरेशन - `default_tools_approval_mode = "approve"` (**आवश्यक**, अन्यथा टूल कॉल exec मोड में ऑटो-रद्द हो जाते हैं) - `tool_timeout_sec = 3600` **नोट**: मैन्युअल रूप से कॉपी करते समय, `args` फील्ड में पूर्ण पथ वास्तविक स्थापना स्थान से मेल खाने के लिए अपडेट किया जाना चाहिए; इंस्टॉलर यह स्वचालित रूप से संभालता है। ### उपयोग - इंटरैक्टिव TUI में, "spawn ds-pro to ..." का चयन करें कार्य डिस्पैच करने के लिए; Active/Done पैनल प्रगति दिखाते हैं - `codex exec` मोड भी सीधे `dsh_run_worker` कॉल कर सकता है ### सेशन कमांड Codex के लिए वही दो प्रॉम्प्ट इंस्टॉल होते हैं: | कमांड | क्या करता है | |---|---| | `/dsh-config` | इस सेशन के डिफ़ॉल्ट देखें या सेट करें: `tier=flash\|pro`, `effort=off\|high\|max`, `mode=auto\|hub\|standalone`, `timeout=<सेकंड>`, `policy=auto\|flash-only\|pro-only`, `escalate=true\|false`, `reset` | | `/dsh-status` | worker jobs की लाइव स्थिति: tier, प्रगति, tokens, मौजूदा टूल | ## MCP उपकरण | उपकरण | विवरण | |---|---| | `dsh_run_worker` | सिंक्रोनस टास्क डिस्पैच (`tier`: flash/pro, `effort`: off/high/max, `cwd`), परिणाम के लिए प्रतीक्षा करता है | | `dsh_spawn_worker` | एसिंक्रोनस टास्क डिस्पैच, job id रिटर्न करता है (समानांतर fan-out के लिए) | | `dsh_worker_status` | सभी job की रीयल-टाइम प्रगति को क्वेरी करें (turn/step/current tool/token) | | `dsh_worker_result` | परिणाम प्राप्त करें, `wait_seconds` निर्दिष्ट कर सकता है प्रतीक्षा करने के लिए | | `dsh_worker_cancel` | निर्दिष्ट job को रद्द करें, इसकी रनटाइम प्रक्रिया समाप्त करें | प्रगति एक साथ `~/.config/dsh-crew/status.d/` में मिरर की जाती है (प्रति लेखक एक शार्ड फाइल, statusline / बाहरी निगरानी द्वारा पढ़ी जा सकती है)। ## मल्टीमोडल: विजन और इमेज जनरेशन **DeepSeek एक टेक्स्ट-ओनली मॉडल है** और इमेज इनपुट या जनरेशन का समर्थन नहीं करता है। यह प्लगइन ये क्षमताएं MCP उपकरणों के माध्यम से बाहरी रूप से प्राप्त करता है: | उपकरण | विवरण | |---|---| | `describe_image` | छवियों (स्क्रीनशॉट, डिज़ाइन, चार्ट, आदि) को देखकर प्रश्नों का उत्तर दें, परिणाम प्रदाता + मॉडल + छवि + प्रश्न द्वारा कैश किए गए | | `generate_image` | पाठ विवरण से छवि बनाएं, निर्दिष्ट पूर्ण पथ पर सहेजें; आउटपुट फ्लैट बिटमैप है (लेयर संपादन के लिए OpenPencil की आवश्यकता है) | **सेशन इमेज चिपकाना**: DSH में, मॉडल को `DeepSeek (vision) ◉` पर स्विच करें सीधे छवियों को चिपकाने के लिए। छवियां सेशन में रहती हैं और सामान्य रूप से प्रदर्शित होती हैं; प्लगइन उनके बाद ट्रांसक्राइब किया गया पाठ जोड़ता है और भेजने से पहले छवियों को हटाता है - आप छवि देखते हैं, मॉडल पाठ पढ़ता है। ### कॉन्फ़िगरेशन **DSH सेटिंग्स पेज → DSH Crew → Multimodal** में (या सीधे `~/.config/dsh-crew/config.json` संपादित करें): **विजन प्रदाता** (इमेज देखना): - `claude-code` (डिफ़ॉल्ट, haiku का उपयोग करता है, सस्ता) - `codex` (GPT का उपयोग करता है, विशिष्ट मॉडल निर्दिष्ट कर सकता है) - `grok` (Grok का उपयोग करता है) - `agy` (Antigravity) - `custom` (OpenAI-संगत API या स्थानीय कमांड) - `off` (अक्षम) **इमेज जनरेशन प्रदाता** (इमेज जनरेशन): - `codex` (`$imagegen`, gpt-image-2) - `agy` (Nano Banana) - `grok` (Imagine) - `custom` (OpenAI-संगत API या स्थानीय कमांड) - `off` (अक्षम) ### कस्टम प्रदाता दो इंटीग्रेशन विधियां: **API**: कोई भी OpenAI-संगत एंडपॉइंट - Base URL, API Key, मॉडल सूची भरें - विजन इनलाइन base64 छवियों के साथ `/chat/completions` का उपयोग करता है - इमेज जनरेशन `/images/generations` का उपयोग करता है - **जनरेशन क्षमता रखने के लिए "image generation model" निर्दिष्ट करना आवश्यक है**, अन्यथा प्रदाता केवल विजन चयन में दिखाई देता है **CLI**: स्थानीय कमांड टेम्पलेट, placeholders को सुरक्षित संदर्भों से प्रतिस्थापित किया जाता है - विजन: `{image} {question} {model}` → stdout उत्तर के रूप में - इमेज जनरेशन: `{prompt} {output} {size}` → कमांड को `{output}` पर फाइल लिखनी चाहिए - कम से कम एक कमांड भरें; भरा हुआ कोई भी क्षमता निर्धारित करता है **कनेक्टिविटी परीक्षण**: प्रत्येक कस्टम प्रदाता के पास एक परीक्षण बटन है - API: एंडपॉइंट पहुंच, प्रमाणीकरण जांचें, सत्यापित करने के लिए वास्तविक विजन अनुरोध भेजें - CLI: निष्पादन योग्य फाइल जांचें, सत्यापित करने के लिए वास्तविक कमांड चलाएं - इमेज जनरेशन: कॉन्फ़िगरेशन को केवल सत्यापित करें, कोई वास्तविक छवि आउटपुट नहीं **उधार लिए गए सब्सक्रिप्शन CLI** (claude / codex / grok / agy) के लिए आवश्यक है कि आप स्थानीय रूप से लॉगिन हों; प्लगइन उनकी अनुमति को बायपास नहीं करेगा। ## Hub मोड यह पैकेज एक वैध DSH बंडल भी है (`dsh.bundle` + `cordis.patch.yml`)। `dsh plugin add dsh-crew` के साथ DSH Web प्रोफाइल में स्थापित करने के बाद: - **कार्यकर्ता सेशन फर्स्ट-क्लास नागरिक बन जाते हैं**: DSH होस्ट में फर्स्ट-क्लास सेशन के रूप में चलें (`agents.create` + per-session मॉडल/effort वॉटरफॉल + डिफ़ॉल्ट प्रीसेट), Web UI सेशन सूची में दिखाई दें, किसी भी समय खोल सकते हैं पूर्ण निष्पादन देखने के लिए - **कार्य निर्देशिका द्वारा आयोजित करें**: Web UI में cwd द्वारा कार्यकर्ता सेशन का प्रबंधन करें - **Loopback API**: - `POST/GET /_dsh/dsh-crew/jobs`: कार्य भेजें, सूची, लंबे-पोल परिणाम, रद्द करें - `GET /_dsh/dsh-crew/ping`: स्वास्थ्य जांच (MCP shim यह निर्धारित करने के लिए उपयोग करता है कि hub चल रहा है या नहीं) - `POST /_dsh/dsh-crew/install`: वन-क्लिक इंस्टॉल Claude Code / Codex इंटीग्रेशन (`src/install/` का बैकएंड) - **ऑटो-डिटेक्शन**: CC/Codex का MCP shim ऑटो-डिटेक्ट hub करता है (`DSH_CREW_HUB` env var, डिफ़ॉल्ट `http://127.0.0.1:3080`) - DSH Web चल रहा है → job hub मोड में प्रवेश करते हैं (`mode: "hub"`) - चल नहीं रहा है → स्टैंडअलोन रनटाइम पर वापस आएं ## समाधान चयन और सीमाएं ### नियमित सदस्य → शेल सबएजेंट दृष्टिकोण (अनुशंसित) - **वर्तमान स्थिति**: Claude Code सबएजेंट शेल मध्यस्थ के रूप में haiku का उपयोग करता है; प्रत्येक डिस्पैच सैकड़ों से हजारों टोकन जोड़ता है - **ट्रेड-ऑफ**: नेटिव टास्क UI, रीयल-टाइम प्रगति प्रदर्शन, कोई अतिरिक्त कॉन्फ़िगरेशन के बदले थोड़ी मात्रा में Anthropic टोकन का उपयोग करें - **अनुशंसा**: यदि आप पहले से ही Claude Pro की सदस्यता लेते हैं या Claude Code का उपयोग करते हैं, तो इस दृष्टिकोण का उपयोग करें - सुविधाजनक और पारदर्शी ### पे-एज़-यू-गो / CI वातावरण → सीधे राउटर दृष्टिकोण - **वर्तमान स्थिति**: Claude Code सबएजेंट फ्रंटमैटर सीधे तीसरे पक्ष के मॉडल कनेक्शन का समर्थन नहीं करता है; इस रेपो का राउटर प्रयोग scratchpad में Claude Code के लिए API-key क्रेडेंशियल की आवश्यकता है, लेकिन सदस्यता OAuth Anthropic द्वारा अपस्ट्रीम 403 से अवरुद्ध है - **अनुशंसा**: - यदि API-key क्रेडेंशियल (OAuth नहीं) का उपयोग करते हैं और Anthropic टोकन बचाना चाहते हैं, तो सीधे DeepSeek कनेक्शन के लिए स्थानीय राउटर चला सकते हैं - CI वातावरण आमतौर पर API key का भी उपयोग करते हैं; यह दृष्टिकोण अधिक किफायती है (सभी DeepSeek टोकन) - राउटर इंटीग्रेशन का स्व-परीक्षण आवश्यक है (आधिकारिक रूप से समर्थित नहीं) ### DSH Web चल रहा है → hub मोड ऑटो-सक्षम - **वर्तमान स्थिति**: यदि `dsh plugin add dsh-crew` DSH Web प्रोफाइल में स्थापित है, तो job होस्ट में फर्स्ट-क्लास सेशन के रूप में चलते हैं, Web UI सेशन सूची में दिखाई देते हैं - **अनुशंसा**: स्थानीय विकास पुनरावृत्ति के दौरान, hub मोड सक्षम करने की अनुशंसा करते हैं; कार्यकर्ता प्रगति पूरी तरह से Web UI में देखी जा सकती है; क्रॉस-मशीन सहयोग या Web UI के बिना वातावरण के लिए, Claude Code / Codex शेल दृष्टिकोण का उपयोग करें ### ज्ञात आइटम - Codex भूमिका सैद्धांतिक रूप से `model_provider` को सीधे DeepSeek की ओर इंगित करने की कोशिश कर सकती है (अनिर्भर); यह ब्रिज इस पर निर्भर नहीं करता - इमेज जनरेशन आउटपुट फ्लैट बिटमैप है; लेयर संपादन के लिए OpenPencil की आवश्यकता है - **रनटाइम निर्भरताएं**: केवल `@modelcontextprotocol/sdk` और `zod`; `@deepseek-ai/*` peerDependencies हैं (DSH होस्ट द्वारा प्रदान किए जाते हैं) - **Codex को कॉन्फ़िगर करना आवश्यक है**: `default_tools_approval_mode = "approve"`, अन्यथा टूल कॉल ऑटो-रद्द हो जाते हैं ## विकास करें ```bash pnpm install node_modules/.bin/tsdown src/client/index.tsx --format cjs --platform browser \ --target es2022 --tsconfig tsconfig.client.json --out-dir .client-build --clean node scripts/build-client.mjs # wraps the bundle for the DSH module loader node scripts/smoke.mjs # dispatches one real flash task end to end ``` रनटाइम निर्भरताएं केवल `@modelcontextprotocol/sdk` और `zod` हैं; हर `@deepseek-ai/*` पैकेज एक peer निर्भरता है DSH होस्ट द्वारा प्रदान की जाती है, जो प्लगइन को होस्ट के एकल मॉड्यूल दायरे में रखती है। ## पारिस्थितिकी तंत्र - [DSH Noema](https://github.com/ZSeven-W/dsh-noema) — DSH के लिए दीर्घकालीन स्मृति - [DSH OpenPencil](https://github.com/ZSeven-W/dsh-openpencil) — एक बातचीत के अंदर `.op` डिजाइन दस्तावेज़ को निरीक्षण और संपादित करें ## लाइसेंस MIT