dsh-lsp-actions

DSH PLUGIN模型与账号接入

仓库 PerryLink/dsh-lsp-actions · npm dsh-lsp-actions

模型与账号接入 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 补齐 LSP 动作面:诊断、格式化、补全、代码操作、符号、签名帮助、内联提示与重命名,让 Agent 在真实语言服务器反馈下写改代码。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 27 复刻 4 · 未关闭 issue 未标注
最近更新 2026-10-10 创建于 2026-08-13
README 29.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 13 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-lsp-actions可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-lsp-actions:为 DeepSeek Harness 补齐语言服务器动作能力

  • 八个 lsp_* 工具覆盖诊断与补全
  • 编辑器动作协议 lsp.actions.*
  • 真实语言服务器验证测试
  • 可配置服务器与结果上限

适用场景

代码评审文件读写

上游标签

acpai-agentai-agentsclicode-actioncompletiondeepseek-harnessdeveloper-toolsdiagnosticsdshdsh-plugineditoridejson-rpclanguage-serverlsp

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方PerryLink仓库 dsh-lsp-actions · 默认分支 未标注
分类模型与账号接入ai
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证Apache-2.0商用或二次分发前请确认条款原文
星标 / 复刻 / issue27 / 4 / 未标注收录时的数值,非实时
创建 / 更新2026-08-13 · 2026-10-10最后推送 未标注
本站收录2026-10-08首次进入本站目录的时间

README 全文

29.5 KB
作者原文,中文版优先;只做安全转义,不改内容

🛰️ dsh-lsp-actions

  • 1024 store channel: npm i -g dsh1024 once, then dsh1024 plugin --profile web add dsh-lsp-actions (counts toward the deepseek1024.com install ranking).


The LSP action surface for DeepSeek Harness — real language servers, real feedback, and the IDE integration backend for editors.

Diagnostics, formatting, completion, code actions, symbols, signature help, inlay hints, and rename for your agent's editor loop — plus the stable editor action protocol (lsp.actions.*) that lets any editor consume them directly.









English · 简体中文 · Español · Português · हिन्दी


📖 Ecosystem knowledge base — measured data, not marketing: plugin development guide · plugin-selection data · maintenance criteria.

<!-- star-cta -->

⭐ 如果它帮到了你

这个插件是 DSH 插件家族的一员(40+ 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。

English: part of a 40+ plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.

What is dsh-lsp-actions?

The LSP action surface for DeepSeek Harness — real language servers, real feedback, and the IDE integration backend for editors.

Diagnostics, formatting, completion, code actions, symbols, signature help, inlay hints, and rename for your agent's editor loop — plus the stable editor action protocol (lsp.actions.*) that lets any editor consume them directly.

The same run, animated.

Compatibility

Surface Status
Harness DeepSeek Harness dsh-v0.2.1-alpha.1 (compat declared for &gt;=0.1.2-rc.1 &lt;0.2.0 \|\| &gt;=0.1.5-alpha.1 &lt;0.2.0 \|\| &gt;=0.1.6-0 &lt;0.2.0 \|\| &gt;=0.1.7-0 &lt;0.2.0); the plugin writes no session events itself - the host records the standard tool/call + tool/result events. The released seam still carries only the four legacy operations, so the plugin keeps its own client and records that vintage on the first action call. Verified 2026-09-24 (dual typecheck rulers + full test suite + self-contained/artifacts gates).
Node ^22.19.0 \|\| &gt;=24.0.0
Platforms All (pure host; subprocess + filesystem, no network)
Model Any (tools are model-agnostic; the plugin never calls a model)

What you get

dsh-lsp-actions mounts as a single host row (id: lsp-actions, name: dsh-lsp-actions, inject: [tools, fs, subprocess]). The official DeepSeek Harness ctx.lsp seam covers navigation (go-to-definition, references, implementation, hover); this plugin completes the action surface — the feedback loop an agent needs while it writes and fixes code:

  1. Eight lsp_* tools — diagnostics, formatting, completion, code actions, symbols, signature help, inlay hints, and rename, all served by the same language servers your IDE uses.
  2. Editor action protocol v1 — a stable JSON-RPC surface (lsp.actions.list / lsp.actions.run / lsp.events) that lets any editor (VS Code first) consume those capabilities directly.
  3. Real-server verification — a real typescript-language-server run is part of the test suite (self-contained, CI on Node 22/24 across Linux, Windows, and macOS), not just mocks.

Quick start

dsh plugin --profile web add github:PerryLink/dsh-lsp-actions
# 1. install the bundle into your profile
dsh plugin --profile web add github:PerryLink/dsh-lsp-actions

# 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 &#x27;id: lsp-actions&#x27;

Install & uninstall

  • git channel (latest main): dsh plugin --profile web add github:PerryLink/dsh-lsp-actions — the prepare script builds (tsc --noEmitOnError &amp;&amp; node scripts/fix-dts.mjs).
  • npm channel (published releases): dsh plugin --profile web add dsh-lsp-actions.
  • tarball channel: pnpm pack in this repo, then dsh plugin --profile web add ./dsh-lsp-actions-.tgz.
  • uninstall: dsh plugin --profile web remove dsh-lsp-actions (or remove the row from the profile patch).

Configuration

All tunables are Schemastery Config fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. cordis.patch.yml documents each key inline.

Key Default Meaning
servers {} Named language servers; an empty table activates no servers
editor.enabled false Serve the editor action protocol over JSON-RPC stdio (headless backend only)
editor.requestTimeoutMs 60000 Per-run timeout budget (ms) for the editor protocol
editor.diagnosticsCacheMaxFiles 64 Bounded LRU diagnostics-cache size (files)
maxDiagnostics 200 Diagnostics cap per result
maxCompletionItems 20 Completion-items cap per result
maxCodeActions 50 Code-actions cap per result
maxSymbols 100 Symbol-results cap
maxSignatures 10 Signature-help cap
maxInlayHints 200 Inlay-hints cap
maxResultChars 16000 Rendered-result cap (chars)
maxDocumentBytes 4000000 Document-read cap (bytes)
timeoutMs 60000 Per-call timeout, enforced by the official timeout policy

Each servers entry is an LspServerEntry: command (executable resolved on PATH at load) and extensionToLanguage (&quot;.ts&quot; → typescript) are required; optional fileGlobs, projectMarkers, args, env, initializationOptions, configuration, formattingOptions, maxMessageBytes, maxStderrBytes, killGraceMs, shutdownTimeoutMs, diagnosticsSettleMs, diagnosticsDebounceMs, and idleTimeoutMs (0 = keep the server process alive) tune the built-in stdio client.

Routing is deterministic and configuration-driven. Every file takes the first match from: (1) a server entry whose fileGlobs match the path; (2) the nearest ancestor directory — walking up to the workspace root — that holds a project config file listed in some entry's projectMarkers, matched against the entries that also map the file's extension; (3) the entry whose extensionToLanguage maps the file's extension, in config order. A workspace holding apps/node-app/{package.json,tsconfig.json,src/main.ts} and apps/deno-app/{deno.json,src/main.ts} therefore serves each main.ts from its own project's server, with no path rule to maintain and nothing to change when a project is added, renamed, or moved:

servers:
typescript:
command: typescript-language-server
args: [&quot;--stdio&quot;]
extensionToLanguage: { &quot;.ts&quot;: typescript, &quot;.tsx&quot;: typescriptreact }
projectMarkers: [&quot;package.json&quot;, &quot;tsconfig.json&quot;]
deno:
command: deno
args: [&quot;lsp&quot;]
extensionToLanguage: { &quot;.ts&quot;: typescript, &quot;.tsx&quot;: typescriptreact }
projectMarkers: [&quot;deno.json&quot;, &quot;deno.jsonc&quot;]

A project marker only decides among servers that already map the file's extension (it never widens an entry's file types); the walk never leaves the workspace root, and a project config in one directory never applies to a sibling directory. Step (1) outranks a project marker: an entry whose fileGlobs match the path still wins, so drop project-level globs when you adopt projectMarkers — a lingering **/*.ts glob keeps claiming those files. These rules govern the built-in stdio client — a mounted ctx.lsp seam provider decides its own routing.

Tools & surfaces

Surface Kind Notes
lsp_diagnostics tool `` — compiler/analyzer errors, warnings, and hints with severity, range, message, and source server (read-only)
lsp_format tool [range?] — formats a file/selection through the language server and applies it, returning the diff (writes via fs/write-intent)
lsp_completion tool — completion suggestions at a cursor position, including the insertion text (read-only)
lsp_code_action tool [range?] [only?] — server-verified quickfixes/refactorings with their edits, for a range or the first diagnostic (reference-only)
lsp_symbols tool — workspace-wide symbol search by name, or one file's outline (read-only)
lsp_signature tool — signature help (parameters and documentation) inside a call (read-only)
lsp_inlay_hints tool [range?] — type annotations and parameter-name hints from the server (read-only)
lsp_rename tool — server-verified rename, applied workspace-wide with per-file diffs (writes via fs/write-intent)
lsp.actions.* protocol Editor action protocol v1: lsp.actions.list / lsp.actions.run / lsp.events over JSON-RPC
examples/vscode/ extension UI-only VS Code extension plus the headless backend composition it connects to

Editor action protocol v1

When editor.enabled: true is set in a dedicated headless composition, dsh-lsp-actions serves a stable editor protocol over newline-delimited JSON-RPC 2.0 (the same wire framing as the official SDK/ACP transports):

Method What it does
lsp.actions.list Returns the lsp-actions/v1 protocol version, the action catalog (diagnostics.get, completion.get, quickfix.apply, format — each flagged writes), and the addressable DSH sessions
lsp.actions.run Executes one action with a structured { requestId, action, status, result \| error } envelope; errors carry the stable LSP_ACTION_* codes
lsp.events Subscribes to the streamed lsp.event notifications: diagnostics.updated, action.status, file.changed, sessions.changed

All write actions (quickfix.apply, format) go through the official permission presets and approval: a read-only session is refused with LSP_ACTION_READ_ONLY before any server round-trip, edits ride the fs/write-intent waterfall, and the sandbox_permissions + justification escalation pair resolves through the official approveEscalation ask (fail-closed when no answerer can decide). Full wire spec, bilingual: docs/editor-protocol.md · docs/editor-protocol.zh-CN.md.

Versioning and the backward-compatibility promise

  • The protocol is versioned — lsp.actions.list returns protocol: &quot;lsp-actions/v1&quot;, version: 1. v1 is frozen: field names, action ids, event kinds, and error codes stay stable forever.
  • Evolution is additive only: new actions, fields, and event kinds arrive without a version bump; existing semantics never change in place; a breaking change ships under a new protocol version, which servers may serve side by side.
  • Clients must ignore unknown fields, unknown event kinds, and unknown actions, and route on the stable error code, never on message text.

Error codes

Every failure carries a stable code; models and callers route on the code, never on message text.

Code Meaning
LSP_ACTION_UNAVAILABLE No server entry and no seam provider handles this file
LSP_ACTION_UNSUPPORTED The server (or seam provider) does not advertise the operation
LSP_ACTION_SERVER_FAILED The server failed (with its stderr tail); startup failures retry once
LSP_ACTION_MALFORMED_RESPONSE The server sent a structurally invalid payload
LSP_ACTION_CONFLICT The file changed since it was read, or the edits overlap / go out of bounds / leave the workspace
LSP_ACTION_READ_ONLY The session's sandbox mode forbids the formatting/rename write
LSP_ACTION_WORKSPACE_REQUIRED The calling session has no workspace cwd to root the server in
LSP_ACTION_NO_SYMBOL The server found no renameable symbol at the cursor position
LSP_ACTION_UNKNOWN Editor protocol: unknown action id, or no code action matched title/index
LSP_ACTION_INVALID_ARGS Editor protocol: malformed action parameters
LSP_ACTION_APPROVAL_UNAVAILABLE Editor protocol: the approval path could not grant a wider sandbox mode (fail-closed)
LSP_PROTOCOL_VERSION_UNSUPPORTED Editor protocol: the declared protocol version is not supported

VS Code extension

examples/vscode/ ships a UI-only extension (sidebar with the DSH sessions, the diagnostics list, one-click quickfix apply, open-at-range, and format) plus the headless backend composition (backend/cordis.yml) it connects to over ACP-style JSON-RPC. The extension implements zero LSP logic — every capability and every byte written belongs to the plugin. Install steps, settings, and the demo-gif recording script are in examples/vscode/README.md.

Permissions & data

  • Permissions: formatting and rename ride the official permission presets and approval — the fs/write-intent waterfall and the sandbox_permissions / justification escalation pair resolved through ctx.approval. The plugin declares fs:read, fs:write, subprocess:spawn, and network:none in its workshop manifest.
  • Data: nothing is stored on disk; tool results live only in the session log (no cross-session persistence). The editor protocol keeps one bounded in-memory LRU diagnostics cache, freshness-stamped and never persisted across restarts.
  • No network: the plugin makes no network requests; it talks to language servers over local subprocess stdio.

Security boundaries

  • Read-only by default. Six of the eight tools are reference-only; only lsp_format and lsp_rename mutate, and they do so as real write/edit mutations.
  • Official seams, not re-implemented. Every byte goes through the fs/write-intent waterfall (observation → guarded write → observation) and the per-call sandbox policy; escalation matches the official write/edit tools.
  • Fail loud, fast, structured. Empty servers + no ctx.lsp seam → LSP_ACTION_UNAVAILABLE; read-only sessions → LSP_ACTION_READ_ONLY before any server round-trip; command forms are reported and never executed.
  • Conflicts never clobber. A file changed on disk after it was read fails with LSP_ACTION_CONFLICT; lsp_rename pre-flights every edited file before the first write.
  • Bounded work. Result caps, byte caps, and the platform's timeout policy bound every call; the diagnostics cache is a bounded LRU.
  • Nothing cached on the model path. Tool results live only in the session log; the diagnostics cache never persists across restarts.
  • Bad servers fail loudly. A missing executable fails at load; a server that dies at startup fails the call with LSP_ACTION_SERVER_FAILED plus its stderr tail (after one fresh-spawn retry).
  • Prompt hygiene. The plugin injects no persona or prompt prose into the session system prompt — its model-facing surface is the eight tool schemas.

Architecture

Actions run official-seam-first and fall back to the plugin's own minimal stdio client:

lsp_diagnostics / lsp_format / lsp_completion / lsp_code_action /
lsp_symbols / lsp_signature / lsp_inlay_hints / lsp_rename
│
▼
ctx.lsp seam (extended: diagnostics / formatDocument / completion)
│  absent · legacy · no provider for this file
▼
built-in stdio client  ←  servers table (ctx.subprocess.spawn + JSON-RPC)

The seam extension is proposed upstream (upstream/lsp-action-seam.patch, PR description in upstream/PR-description.md). Once it lands, the plugin keeps working unchanged — the built-in client simply stops being used. The built-in client stays as the standalone fallback for the servers table. The editor protocol rides the same runner, the same write path, and the same permission machinery. Full research and design notes: docs/seam-extension-notes.md.

The action backend is behind a public provider interface — ActionRunner (exported from the package) — implemented by the bundled runner and open to third-party providers: the eight tools consume only that interface, never a concrete client.

Known limitations

  • Resident documents. Each document opens once and stays open for the server instance's lifetime — a later request with changed source sends one full-document didChange, and the process shutdown closes every document — so project-based servers like tsls serve textDocument/signatureHelp and document-free workspace/symbol instead of answering null on a freshly-closed document. The resident set is bounded by the workspace and cleared with the instance (idle eviction or plugin disposal).
  • Range formatting requires the server's range provider. Servers that only advertise whole-document formatting fail range requests with LSP_ACTION_UNSUPPORTED.
  • Rename applies text edits only. Resource operations (create/delete/rename files) in a server's rename answer are refused with LSP_ACTION_UNSUPPORTED, and edits outside the workspace fail as LSP_ACTION_CONFLICT before anything is written.

Development

pnpm install            # node ^22.19 || &gt;=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 &amp;&amp; node scripts/fix-dts.mjs → lib/
pnpm run prepare        # tsc --noEmitOnError &amp;&amp; node scripts/fix-dts.mjs (runs on install)
pnpm run prepublishOnly # tsc --noEmitOnError &amp;&amp; node scripts/fix-dts.mjs (runs before publish)

Interoperability with other DSH plugins

Verified against DSH 0.2.0-rc.2 (the runtime this README ships for) and the high-star plugin set surveyed on 2026-10-05.

This plugin does not interfere with other plugins, including the widely installed high-star ones:

  • No tool-name collision. Every tool is namespaced; no bare name owned by a shipped tool or another plugin is registered.
  • No service-key collision. It provides no service key at all, so it cannot collide on one.
  • No slot collision. It registers no client slot key, so it cannot contend for a shadows-shipped-ui seat.
  • No HTTP route collision. It registers no webServer prefix.
  • No patch-layer collision. The bundle patch only inserts its own row; it never overrides a built-in row's config.
  • No global mutation. It does not patch prototypes, rewrite process.env, or replace the global fetch dispatcher.

Shared event listeners are non-interfering by construction. It observes the ordering-sensitive event fs/write-intent with ctx.on() — Cordis's broadcast registration, where every listener runs and none can starve another. Every listener here delegates through next(), so the chain is never short-circuited, and a mutation is applied to the value next() produced rather than returned in its place:

Static evidence: dsh-plugin-doctor K10–K13 report pass for every check on this repository.

Topics

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

Contributors

  • @PerryLink — creator and maintainer: the LSP action client and server lifecycle, all eight tools, the editor action protocol, tests, CI, and the five-language docs.

PerryLink DSH Plugin Family

This project is one of the 33 actively maintained DeepSeek Harness plugins from PerryLink — the roster is 42, of which 6 are frozen and 3 retired; every one keeps its row below, with the reason in the Status column. If this one helps you, the others likely will too:

Plugin One-liner Status
dsh-auto-review Second-model auto-review on the approval chain, fail-closed by default
dsh-autotier Automatic strong/cheap model-tier routing with deterministic risk guards and a /tier command
dsh-background-agents Durable background child agents with a Web UI sidebar, messaging and interrupt 🚫 RETIRED — see the note above
dsh-budget Cost governance for DeepSeek Harness: budgets, carbon, and latency in one panel. 🧊 FROZEN — see the repo README
dsh-catalog DSH Desktop Market standard catalog source for the PerryLink family
dsh-cert-mcp Read-only MCP server exposing the certification registry: grades, snapshots and five-dimension evidence
dsh-checkpoint-rewind Claude Code /rewind-equivalent: snapshots, session forks, one-shot restore
dsh-claude-move Migrate Claude Code sessions, memory, skills and CLAUDE.md into DSH 🧊 FROZEN — see the repo README
dsh-click Cross-platform native desktop control for DeepSeek Harness — Windows first.
dsh-composer-history Terminal-style input history for the web composer: arrows, Ctrl+R search
dsh-data-quality Dataset quality checks and citation cross-checks (the optional numeric bridge consumed here)
dsh-defend Prompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness. 🧊 FROZEN — see the repo README
dsh-doublecheck Engineering-discipline guard: requirements grill, test gates, adversary review
dsh-draw Unified static-image generation routing for DeepSeek Harness. 🧊 FROZEN — see the repo README
dsh-fast Read-only performance diagnostics for DeepSeek Harness.
dsh-fund-research Deterministic research reports for Chinese public mutual funds
dsh-github GitHub PR/issues integration for DSH, every write gated by approval
dsh-industry-research Industry research orchestration that seals its deliverables through this plugin's ctx.researchReport.assemble
dsh-laya Laya typed decisions (noul/choice/score) as a first-class Cordis service and model-visible tools
dsh-library Local document knowledge base for DeepSeek Harness.
dsh-local-ai Local-model (Ollama) integration for DeepSeek Harness.
dsh-lsp-actions LSP diagnostics, formatting, completion, code actions and rename over language servers
dsh-mask PII masking middleware: anonymize at the model boundary, restore at the display layer
dsh-mcp-panel Read-only MCP runtime panel: /mcp command + Settings tab with status, tools and errors
dsh-memento Approval-gated cross-session memory: ctx.memory seam + SQLite + memory tool 🧊 FROZEN — see the repo README
dsh-observe OpenTelemetry and Langfuse observability exporter for DeepSeek Harness.
dsh-output-styles Claude Code outputStyles-equivalent runtime style switching
dsh-permission-rules Claude Code-style declarative allow/deny/ask permission rules with audit
dsh-plugin-certification Community certification registry with repro-checkable grades and badges
dsh-plugin-doctor Zero-dependency static + sandbox smoke detector for DSH plugins
dsh-plugin-guide Plugin-development knowledge base as an on-demand agent skill
dsh-plugin-kit Shared zero-runtime-dependency toolkit for the PerryLink DSH plugins
dsh-plugin-upgrade One-package, one-corridor-index plugin upgrade skill: routes a repository to the matching closed corridor card
dsh-plugin-upgrade-015 Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner 🚫 RETIRED — corridors carried by dsh-plugin-upgrade
dsh-reach Multi-channel approval/question bridge: WeChat/Telegram/Feishu, session console 🧊 FROZEN — see the repo README
dsh-research-report Verifiable research-report engine: content-addressed evidence ledger and sealed versions
dsh-score Multi-dimensional quality scoring for DeepSeek Harness plugins.
dsh-session-pin Pin sessions in the Web sidebar with durable ordering 🚫 RETIRED — see the note above
dsh-session-sync Cross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store.
dsh-skill-pack-security Security-audit skill pack: secret scan, dependency and supply-chain review
dsh-talk Voice-first session loop for DeepSeek Harness: talk to it, hear it answer.
dsh-team-rooms Cross-session team rooms: shared message bus, task board and timeline 🚫 RETIRED — see the note above
dsh-test-drive Isolated install-and-smoke test drives for DeepSeek Harness plugins.
dsh-ticktick TickTick/Dida365 task bridge: session-header panel + 11 tools
dsh-translate Vendor parameter translation and deterministic JSON repair for DeepSeek Harness.

Install from the DSH Desktop Market

All PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.

License

Apache License 2.0 © 2026 dsh-lsp-actions contributors

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-lsp-actions 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-lsp-actions`。

dsh-lsp-actions 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-lsp-actions 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-lsp-actions 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2。版本较多,只列出前 8 个。

dsh-lsp-actions 用的是什么许可证?

上游标注为 Apache-2.0。商用或二次分发前请到仓库确认许可证原文。

dsh-lsp-actions 有哪些功能?

八个 lsp_* 工具覆盖诊断与补全、编辑器动作协议 lsp.actions.*、真实语言服务器验证测试、可配置服务器与结果上限。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

模型与账号接入
按星标排序,可作替代方案

archify

archify

从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

L4 · 沙盒安装通过 8.0 万 星

nocobase

nocobase

L3 · 安装规范通过 2.5 万 星

dsh-our-free-model

dsh-our-free-model

为 DeepSeek Harness 挂载免登录、免 API Key 的免费前沿模型通道,装完即用,并附用量看板与 OpenAI 兼容本地转

未标注验证等级 8,064 星

dsh-purge

dsh-purge

dsh-purge 是一款 DeepSeek Harness 设置插件,可修改默认副本、权限策略和工具限制,并添加规则卡片以分组应用补丁,支

L5 · 运行验证通过 4,573 星

PerryLink 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。