- 1024 स्टोर चैनल: एक बार
npm i -g dsh1024, फिरdsh1024 plugin --profile web add dsh-lsp-actions(deepseek1024.com इंस्टॉल रैंकिंग में गिना जाता है)।
DeepSeek Harness के लिए LSP एक्शन सतह — असली language servers, असली फीडबैक, और एडिटर्स के लिए IDE इंटीग्रेशन बैकएंड।
आपके एजेंट के एडिटर लूप के लिए डायग्नोस्टिक्स, फ़ॉर्मेटिंग, कम्प्लीशन, कोड एक्शन, सिंबल, सिग्नेचर हेल्प, इनले हिंट्स और रिनेम — साथ ही स्थिर एडिटर एक्शन प्रोटोकॉल (lsp.actions.*) जो किसी भी एडिटर को इन्हें सीधे उपभोग करने देता है।
| Surface | Status |
|---|---|
| Harness | DeepSeek Harness 0.1.2-rc.1 (>=0.1.0-rc.8 <0.2.0 के लिए अनुकूलता घोषित); प्लगइन स्वयं कोई सत्र इवेंट नहीं लिखता - host मानक tool/call + tool/result इवेंट दर्ज करता है। |
| Node | ^22.19.0 || >=24.0.0 |
| Platforms | सभी (शुद्ध host; सबप्रोसेस + फ़ाइलसिस्टम, कोई नेटवर्क नहीं) |
| Model | कोई भी (टूल मॉडल-अज्ञेय हैं; प्लगइन कभी मॉडल को कॉल नहीं करता) |
dsh-lsp-actions एक ही host पंक्ति के रूप में माउंट होता है (id: lsp-actions, name: dsh-lsp-actions, inject: [tools, fs, subprocess])। आधिकारिक DeepSeek Harness ctx.lsp seam नेविगेशन (go-to-definition, references, implementation, hover) को कवर करता है; यह प्लगइन एक्शन सतह को पूरा करता है — वह फीडबैक लूप जिसकी एक एजेंट को कोड लिखते और ठीक करते समय ज़रूरत होती है:
- आठ
lsp_*टूल — डायग्नोस्टिक्स, फ़ॉर्मेटिंग, कम्प्लीशन, कोड एक्शन, सिंबल, सिग्नेचर हेल्प, इनले हिंट्स और रिनेम, सभी उन्हीं language servers से सेवित जिन्हें आपका IDE इस्तेमाल करता है। - एडिटर एक्शन प्रोटोकॉल v1 — एक स्थिर JSON-RPC सतह (
lsp.actions.list/lsp.actions.run/lsp.events) जो किसी भी एडिटर (VS Code पहले) को उन क्षमताओं को सीधे उपभोग करने देती है। - असली-server सत्यापन — टेस्ट सूट में एक असली
typescript-language-serverरन शामिल है (आत्मनिर्भर, CI Node 22/24 पर Linux, Windows और macOS में), सिर्फ़ mocks नहीं।
# 1. install the bundle into your profile
dsh plugin --profile web add "github:PerryLink/dsh-lsp-actions#main"
# or from npm (published releases)
dsh plugin --profile web add dsh-lsp-actions
# 2. restart and verify the row
dsh --profile web --dump-config | grep -A3 'id: lsp-actions'- git channel (नवीनतम
main):dsh plugin --profile web add "github:PerryLink/dsh-lsp-actions#main"—prepareस्क्रिप्ट बिल्ड करती है (tsc --noEmitOnError)। - npm channel (प्रकाशित रिलीज़):
dsh plugin --profile web add dsh-lsp-actions। - tarball channel: इस repo में
pnpm packचलाएँ, फिरdsh plugin --profile web add ./dsh-lsp-actions-<version>.tgz। - uninstall:
dsh plugin --profile web remove dsh-lsp-actions(या profile patch से पंक्ति हटाएँ)।
सभी ट्यूनेबल Schemastery Config फ़ील्ड हैं (cordis.yml से बदले जा सकते हैं)। id-लक्षित ओवरराइड पूरी पंक्ति को बदल देता है — जितनी भी keys चाहिए, सब दोबारा लिखें। cordis.patch.yml हर key को इनलाइन दस्तावेज़ित करता है।
| Key | Default | Meaning |
|---|---|---|
servers |
{} |
नामित language servers; खाली तालिका कोई server सक्रिय नहीं करती |
editor.enabled |
false |
एडिटर एक्शन प्रोटोकॉल को JSON-RPC stdio पर सेवित करता है (केवल headless backend) |
editor.requestTimeoutMs |
60000 |
एडिटर प्रोटोकॉल का प्रति-रन timeout बजट (ms) |
editor.diagnosticsCacheMaxFiles |
64 |
सीमित LRU डायग्नोस्टिक्स कैश आकार (फ़ाइलों में) |
maxDiagnostics |
200 |
प्रति परिणाम डायग्नोस्टिक्स सीमा |
maxCompletionItems |
20 |
प्रति परिणाम कम्प्लीशन-आइटम सीमा |
maxCodeActions |
50 |
प्रति परिणाम कोड-एक्शन सीमा |
maxSymbols |
100 |
सिंबल-परिणाम सीमा |
maxSignatures |
10 |
सिग्नेचर-हेल्प सीमा |
maxInlayHints |
200 |
इनले-हिंट सीमा |
maxResultChars |
16000 |
रेंडर किए गए परिणाम की सीमा (वर्ण) |
maxDocumentBytes |
4000000 |
दस्तावेज़-पठन सीमा (बाइट) |
timeoutMs |
60000 |
प्रति-कॉल timeout, आधिकारिक timeout नीति द्वारा लागू |
हर servers एंट्री एक LspServerEntry है: command (निष्पादन योग्य, लोड पर PATH में हल) और extensionToLanguage (".ts" → typescript) अनिवार्य हैं; वैकल्पिक fileGlobs, args, env, initializationOptions, configuration, formattingOptions, maxMessageBytes, maxStderrBytes, killGraceMs, shutdownTimeoutMs, diagnosticsSettleMs, diagnosticsDebounceMs और idleTimeoutMs (0 = server प्रक्रिया को जीवित रखें) अंतर्निहित stdio क्लाइंट को ट्यून करते हैं।
| Surface | Kind | Notes |
|---|---|---|
lsp_diagnostics |
tool | <file> — कंपाइलर/एनालाइज़र की एरर, वॉर्निंग और हिंट्स — severity, range, message और स्रोत server के साथ (केवल-पठन) |
lsp_format |
tool | <file> [range?] — language server से फ़ाइल/चयन को फ़ॉर्मेट करता है और लागू करता है, diff लौटाता है (fs/write-intent से लिखता है) |
lsp_completion |
tool | <file> <line> <character> — कर्सर स्थान पर कम्प्लीशन सुझाव, इंसर्शन टेक्स्ट सहित (केवल-पठन) |
lsp_code_action |
tool | <file> [range?] [only?] — server-सत्यापित क्विकफिक्स/रिफैक्टरिंग उनके edits सहित, किसी range या पहले डायग्नोस्टिक के लिए (केवल संदर्भ) |
lsp_symbols |
tool | <query?> <file_path?> — नाम से पूरे workspace में सिंबल खोज, या एक फ़ाइल की रूपरेखा (केवल-पठन) |
lsp_signature |
tool | <file> <line> <character> — कॉल के अंदर सिग्नेचर हेल्प (पैरामीटर और दस्तावेज़ीकरण) (केवल-पठन) |
lsp_inlay_hints |
tool | <file> [range?] — server के टाइप एनोटेशन और पैरामीटर-नाम संकेत (केवल-पठन) |
lsp_rename |
tool | <file> <line> <character> <new_name> — server-सत्यापित रिनेम, पूरे workspace में प्रति-फ़ाइल diffs के साथ लागू (fs/write-intent से लिखता है) |
lsp.actions.* |
protocol | एडिटर एक्शन प्रोटोकॉल v1: JSON-RPC पर lsp.actions.list / lsp.actions.run / lsp.events |
examples/vscode/ |
extension | केवल-UI VS Code एक्सटेंशन और उससे जुड़ी headless backend संरचना |
जब किसी समर्पित headless संरचना में editor.enabled: true सेट हो, तो dsh-lsp-actions नई-पंक्ति-सीमांकित JSON-RPC 2.0 (आधिकारिक SDK/ACP ट्रांसपोर्ट जैसा ही wire फ़्रेमिंग) पर एक स्थिर एडिटर प्रोटोकॉल सेवित करता है:
| Method | What it does |
|---|---|
lsp.actions.list |
lsp-actions/v1 प्रोटोकॉल संस्करण, एक्शन कैटलॉग (diagnostics.get, completion.get, quickfix.apply, format — हर एक writes चिह्नित) और पतायोग्य DSH सत्र लौटाता है |
lsp.actions.run |
संरचित { requestId, action, status, result | error } लिफ़ाफ़े के साथ एक एक्शन निष्पादित करता है; एरर स्थिर LSP_ACTION_* कोड रखते हैं |
lsp.events |
स्ट्रीम की गई lsp.event सूचनाओं की सदस्यता लेता है: diagnostics.updated, action.status, file.changed, sessions.changed |
सभी लेखन एक्शन (quickfix.apply, format) आधिकारिक अनुमति presets और अनुमोदन से गुज़रते हैं: एक read-only सत्र किसी भी server दौर से पहले LSP_ACTION_READ_ONLY से अस्वीकार होता है, edits fs/write-intent waterfall से चलते हैं, और sandbox_permissions + justification एस्केलेशन जोड़ी आधिकारिक approveEscalation पूछताछ से हल होती है (कोई उत्तरदाता न होने पर fail-closed)। पूर्ण wire स्पेक, द्विभाषी: docs/editor-protocol.md · docs/editor-protocol.zh-CN.md।
वर्ज़निंग और बैकवर्ड-कम्पैटिबिलिटी वादा
- प्रोटोकॉल वर्ज़न-युक्त है —
lsp.actions.listलौटाता हैprotocol: "lsp-actions/v1",version: 1। v1 जमा हुआ है: फ़ील्ड नाम, एक्शन ids, इवेंट प्रकार और एरर कोड हमेशा के लिए स्थिर रहते हैं। - विकास केवल योगात्मक है: नए एक्शन, फ़ील्ड और इवेंट प्रकार बिना वर्ज़न बढ़ाए आते हैं; मौजूदा अर्थ कभी जगह-पर नहीं बदलते; कोई तोड़ने वाला बदलाव नए
protocolसंस्करण के तहत आता है, जिसे servers साथ-साथ सेवित कर सकते हैं। - क्लाइंट को अज्ञात फ़ील्ड, अज्ञात इवेंट प्रकार और अज्ञात एक्शन को अनदेखा करना चाहिए, और स्थिर एरर
codeपर रूट करना चाहिए, संदेश पाठ पर कभी नहीं।
एरर कोड
हर विफलता एक स्थिर code रखती है; मॉडल और कॉलर code से रूट करते हैं, संदेश पाठ से कभी नहीं।
| Code | Meaning |
|---|---|
LSP_ACTION_UNAVAILABLE |
कोई server entry नहीं और seam का कोई provider इस फ़ाइल को नहीं संभालता |
LSP_ACTION_UNSUPPORTED |
server (या seam provider) ऑपरेशन का विज्ञापन नहीं करता |
LSP_ACTION_SERVER_FAILED |
server विफल हुआ (अपने stderr टेल सहित); स्टार्टअप विफलताएँ एक बार पुनः प्रयास करती हैं |
LSP_ACTION_MALFORMED_RESPONSE |
server ने संरचनात्मक रूप से अमान्य पेलोड भेजा |
LSP_ACTION_CONFLICT |
फ़ाइल पढ़े जाने के बाद बदल गई, या edits ओवरलैप / सीमा से बाहर / workspace से बाहर हैं |
LSP_ACTION_READ_ONLY |
सत्र का sandbox मोड फ़ॉर्मेटिंग/रिनेम लेखन को मना करता है |
LSP_ACTION_WORKSPACE_REQUIRED |
कॉल करने वाले सत्र के पास server को जड़ देने के लिए workspace cwd नहीं है |
LSP_ACTION_NO_SYMBOL |
server को कर्सर स्थान पर नाम बदलने योग्य कोई सिंबल नहीं मिला |
LSP_ACTION_UNKNOWN |
एडिटर प्रोटोकॉल: अज्ञात एक्शन id, या कोई code action title/index से मेल नहीं खाया |
LSP_ACTION_INVALID_ARGS |
एडिटर प्रोटोकॉल: दोषपूर्ण एक्शन पैरामीटर |
LSP_ACTION_APPROVAL_UNAVAILABLE |
एडिटर प्रोटोकॉल: अनुमोदन मार्ग व्यापक sandbox मोड नहीं दे सका (fail-closed) |
LSP_PROTOCOL_VERSION_UNSUPPORTED |
एडिटर प्रोटोकॉल: घोषित प्रोटोकॉल संस्करण समर्थित नहीं है |
examples/vscode/ एक केवल-UI एक्सटेंशन (DSH सत्रों, डायग्नोस्टिक्स सूची, एक-क्लिक quickfix apply, open-at-range और format वाली साइडबार) और वह headless backend संरचना (backend/cordis.yml) देता है जिससे वह ACP-शैली JSON-RPC पर जुड़ता है। एक्सटेंशन शून्य LSP लॉजिक लागू करता है — हर क्षमता और हर लिखा बाइट प्लगइन का है। इंस्टॉल चरण, सेटिंग्स और डेमो-gif रिकॉर्डिंग स्क्रिप्ट examples/vscode/README.md में हैं।
- अनुमतियाँ: फ़ॉर्मेटिंग और रिनेम आधिकारिक अनुमति presets और अनुमोदन से चलते हैं —
fs/write-intentwaterfall औरsandbox_permissions/justificationएस्केलेशन जोड़ी,ctx.approvalसे हल। प्लगइन अपने workshop manifest मेंfs:read,fs:write,subprocess:spawnऔरnetwork:noneघोषित करता है। - डेटा: डिस्क पर कुछ भी संग्रहीत नहीं होता; टूल परिणाम केवल सत्र लॉग में रहते हैं (सत्रों के बीच कोई स्थायित्व नहीं)। एडिटर प्रोटोकॉल एक ही सीमित इन-मेमोरी LRU डायग्नोस्टिक्स कैश रखता है, ताज़गी-मुहरित और रीस्टार्ट के बीच कभी स्थायी नहीं।
- कोई नेटवर्क नहीं: प्लगइन कोई नेटवर्क अनुरोध नहीं करता; यह language servers से स्थानीय सबप्रोसेस stdio पर बात करता है।
- डिफ़ॉल्ट रूप से केवल-पठन। आठ टूल में से छह केवल संदर्भ हैं; सिर्फ़
lsp_formatऔरlsp_renameबदलाव करते हैं, और वे असलीwrite/editबदलाव की तरह करते हैं। - आधिकारिक seams, फिर से लागू नहीं। हर बाइट
fs/write-intentwaterfall (निरीक्षण → संरक्षित लेखन → निरीक्षण) और प्रति-कॉल sandbox नीति से गुज़रता है; एस्केलेशन आधिकारिकwrite/editटूल्स से मेल खाता है। - ज़ोर से, तेज़ी से, संरचित रूप से विफल। खाली
servers+ बिनाctx.lspseam →LSP_ACTION_UNAVAILABLE; केवल-पठन सत्र किसी भी server दौर से पहले →LSP_ACTION_READ_ONLY; कमांड रूप रिपोर्ट होते हैं और कभी निष्पादित नहीं होते। - संघर्ष कभी कुछ नहीं मिटाते। पढ़े जाने के बाद डिस्क पर बदली फ़ाइल
LSP_ACTION_CONFLICTसे विफल होती है;lsp_renameपहली लेखन से पहले हर संपादित फ़ाइल को प्री-फ़्लाइट करता है। - सीमित कार्य। परिणाम सीमाएँ, बाइट सीमाएँ और प्लेटफ़ॉर्म की timeout नीति हर कॉल को सीमित करती हैं; डायग्नोस्टिक्स कैश एक सीमित LRU है।
- मॉडल पथ पर कुछ भी कैश नहीं। टूल परिणाम केवल सत्र लॉग में रहते हैं; डायग्नोस्टिक्स कैश रीस्टार्ट के बीच कभी स्थायी नहीं होता।
- ख़राब server ज़ोर से विफल होते हैं। ग़ैर-मौजूद निष्पादन योग्य लोड पर विफल होता है; स्टार्टअप पर मरने वाला server कॉल को
LSP_ACTION_SERVER_FAILED+ उसके stderr टेल से विफल करता है (एक नए-प्रक्रिया पुनर्प्रयास के बाद)। - प्रॉम्प्ट स्वच्छता। प्लगइन सत्र के system prompt में कोई persona या प्रॉम्प्ट गद्य नहीं डालता — उसकी मॉडल-सामना सतह आठ टूल schemas हैं।
एक्शन पहले आधिकारिक seam से चलते हैं और प्लगइन के अपने न्यूनतम stdio क्लाइंट पर गिरते हैं:
lsp_diagnostics / lsp_format / lsp_completion / lsp_code_action /
lsp_symbols / lsp_signature / lsp_inlay_hints / lsp_rename
│
▼
ctx.lsp seam (विस्तारित: diagnostics / formatDocument / completion)
│ अनुपस्थित · पुराना · इस फ़ाइल के लिए कोई provider नहीं
▼
अंतर्निहित stdio क्लाइंट ← servers तालिका (ctx.subprocess.spawn + JSON-RPC)
seam विस्तार upstream प्रस्तावित है (upstream/lsp-action-seam.patch, PR विवरण upstream/PR-description.md में)। जब वह आ जाएगा, प्लगइन बिना बदलाव के काम करता रहेगा — अंतर्निहित क्लाइंट का उपयोग बस बंद हो जाएगा। अंतर्निहित क्लाइंट servers तालिका के लिए स्वतंत्र fallback के रूप में बना रहेगा। एडिटर प्रोटोकॉल उसी runner, उसी लेखन पथ और उसी अनुमति मशीनरी का उपयोग करता है। पूर्ण शोध और डिज़ाइन नोट्स: docs/seam-extension-notes.md।
- क्षणिक दस्तावेज़। हर एक्शन फ़ाइल खोलता है, एक अनुरोध चलाता है और फिर बंद कर देता है (आधिकारिक stdio host की तरह)। बिना-दस्तावेज़ अनुरोधों के लिए निवासी खुली फ़ाइल माँगने वाले प्रोजेक्ट-आधारित server (tsls बिना खुली फ़ाइल के
workspace/symbolमना करता है) कोlsp_symbolsमेंfile_pathदेकर सेवा दी जाती है। tsls इस जीवनचक्र मेंtextDocument/signatureHelpका उत्तरnullसे भी देता है; अन्य server (gopls, pyright, rust-analyzer) इसे सामान्य रूप से परोसते हैं। - रेंज फ़ॉर्मेटिंग के लिए server का range provider चाहिए। केवल पूर्ण-दस्तावेज़ फ़ॉर्मेटिंग विज्ञापित करने वाले server रेंज अनुरोधों को
LSP_ACTION_UNSUPPORTEDसे विफल करते हैं। - रिनेम केवल टेक्स्ट edits लागू करता है। server के रिनेम उत्तर में रिसोर्स ऑपरेशन (फ़ाइल बनाना/मिटाना/नाम बदलना)
LSP_ACTION_UNSUPPORTEDसे अस्वीकार होते हैं, और workspace से बाहर के edits कुछ भी लिखे जाने से पहलेLSP_ACTION_CONFLICTसे विफल होते हैं।
pnpm install # node ^22.19 || >=24
pnpm run lint # oxlint over src/ and tests/
pnpm test # vitest: unit + fixture-server integration + editor-protocol e2e + real tsls e2e
pnpm run test:coverage # coverage gate
pnpm build # tsc --noEmitOnError → lib/
pnpm run prepare # tsc --noEmitOnError (runs on install)
pnpm run prepublishOnly # tsc --noEmitOnError (runs before publish)dsh, dsh-plugin, deepseek-harness, lsp, language-server, diagnostics, formatting, completion, code-action, symbols, signature-help, inlay-hints, rename, refactor, ide, editor, vscode, acp, json-rpc
- @PerryLink — निर्माता और अनुरक्षक: LSP एक्शन क्लाइंट व server जीवनचक्र, सभी आठ टूल, एडिटर एक्शन प्रोटोकॉल, टेस्ट, CI और पाँच-भाषा दस्तावेज़ीकरण।
यह प्रोजेक्ट PerryLink द्वारा अनुरक्षित 33 DeepSeek Harness प्लगइनों में से एक है। अगर यह आपकी मदद करता है, तो बाकी भी करेंगे:
| Plugin | One-liner |
|---|---|
| dsh-dsh-auto-review | अनुमोदन श्रृंखला पर द्वितीय-मॉडल स्वतः-समीक्षा, डिफ़ॉल्ट रूप से विफल-बंद |
| dsh-dsh-background-agents | वेब UI साइडबार, संदेश और अवरोधन के साथ टिकाऊ पृष्ठभूमि चाइल्ड एजेंट |
| dsh-dsh-budget | DeepSeek Harness के लिए लागत प्रशासन: बजट, कार्बन और विलंबता एक पैनल में। |
| dsh-dsh-checkpoint-rewind | Claude Code /rewind-समतुल्य: स्नैपशॉट, सत्र फ़ॉर्क, एक-बार पुनर्स्थापना |
| dsh-dsh-claude-move | Claude Code सत्र, मेमोरी, कौशल और CLAUDE.md को DSH में स्थानांतरित करें |
| dsh-dsh-click | DeepSeek Harness के लिए क्रॉस-प्लेटफ़ॉर्म नेटिव डेस्कटॉप नियंत्रण — Windows पहले। |
| dsh-dsh-composer-history | वेब कंपोज़र के लिए टर्मिनल-शैली इनपुट इतिहास: तीर, Ctrl+R खोज |
| dsh-dsh-data-quality | डेटासेट गुणवत्ता जाँच व उद्धरण सत्यापन (यहाँ उपभोग किया गया वैकल्पिक संख्या-सेतु) |
| dsh-dsh-defend | DeepSeek Harness के लिए प्रॉम्प्ट-इंजेक्शन, जेलब्रेक और सीक्रेट-लीक रक्षा। |
| dsh-dsh-doublecheck | इंजीनियरिंग-अनुशासन रक्षक: आवश्यकताओं की पूछताछ, परीक्षण द्वार, प्रतिद्वंद्वी समीक्षा |
| dsh-dsh-draw | DeepSeek Harness के लिए एकीकृत स्थैतिक-छवि निर्माण रूटिंग। |
| dsh-dsh-fast | DeepSeek Harness के लिए रीड-ओनली प्रदर्शन डायग्नोस्टिक्स। |
| dsh-dsh-fund-research | चीनी सार्वजनिक म्यूचुअल फंड के लिए नियतात्मक अनुसंधान रिपोर्ट |
| dsh-dsh-github | DSH के लिए GitHub PR/issues एकीकरण, हर लेखन अनुमोदन-द्वारित |
| dsh-dsh-industry-research | उद्योग-अनुसंधान ऑर्केस्ट्रेशन जो इस प्लगिन के ctx.researchReport.assemble से डिलीवरेबल सील करता है |
| dsh-dsh-library | DeepSeek Harness के लिए स्थानीय दस्तावेज़ ज्ञानकोश। |
| dsh-dsh-local-ai | DeepSeek Harness के लिए स्थानीय-मॉडल (Ollama) एकीकरण। |
| dsh-dsh-mask | PII मास्किंग मिडलवेयर: मॉडल सीमा पर अनाम करें, डिस्प्ले लेयर पर पुनर्स्थापित करें |
| dsh-dsh-mcp-panel | केवल-पढ़ने वाला MCP रनटाइम पैनल: /mcp कमांड + स्थिति, टूल और त्रुटियों वाला Settings टैब |
| dsh-dsh-memento | अनुमोदन-द्वारित क्रॉस-सत्र मेमोरी: ctx.memory सीम + SQLite + मेमोरी टूल |
| dsh-dsh-observe | DeepSeek Harness के लिए OpenTelemetry और Langfuse अवलोकनीयता निर्यातक। |
| dsh-dsh-output-styles | Claude Code outputStyles-समतुल्य रनटाइम शैली बदलाव |
| dsh-dsh-permission-rules | ऑडिट के साथ Claude Code-शैली घोषणात्मक allow/deny/ask अनुमति नियम |
| dsh-dsh-plugin-guide | माँग पर एजेंट कौशल के रूप में प्लगइन-विकास ज्ञान आधार |
| dsh-dsh-research-report | सामग्री-पता साक्ष्य और सीलबंद संस्करणों वाला सत्यापन-योग्य अनुसंधान-रिपोर्ट इंजन |
| dsh-dsh-score | DeepSeek Harness प्लगिनों की बहु-आयामी गुणवत्ता स्कोरिंग। |
| dsh-dsh-session-pin | टिकाऊ क्रम के साथ वेब साइडबार में सत्र पिन करें |
| dsh-dsh-session-sync | DeepSeek Harness के लिए क्रॉस-डिवाइस सत्र सिंक — आपके सत्र स्टोर का एक समर्पित git मिरर। |
| dsh-dsh-skill-pack-security | सुरक्षा-ऑडिट कौशल पैक: गुप्त स्कैन, निर्भरता और आपूर्ति-श्रृंखला समीक्षा |
| dsh-dsh-talk | DeepSeek Harness के लिए आवाज़-प्रथम सत्र लूप: बोलें और उत्तर सुनें। |
| dsh-dsh-test-drive | DeepSeek Harness प्लगिनों के लिए पृथक इंस्टॉल-एंड-स्मोक टेस्ट ड्राइव। |
| dsh-dsh-translate | DeepSeek Harness के लिए वेंडर पैरामीटर अनुवाद और नियतात्मक JSON मरम्मत। |
Apache License 2.0 © 2026 dsh-lsp-actions contributors
सभी PerryLink प्लगइन DSH Desktop के बिल्ट-इन मार्केट में देखे जा सकते हैं: Market → Sources → add source → पेस्ट करें https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → चुनें। इंस्टॉलेशन मार्केट के npm-identity सत्यापन और आपकी पुष्टि से ही होता है।
