
PerryLink/dsh-lsp-actions
30Last commit Aug 15, 2026
dsh-lsp-actions DSH plugin
dsh-lsp-actions provides eight LSP-based tools (diagnostics, formatting, completion, code actions, symbols, signature help, inlay hints, rename) that complete the agent's feedback loop. It also includes an IDE integration backend that exposes a stable editor action protocol over JSON-RPC, enabling editors like VS Code to consume these capabilities directly.
How to install the dsh-lsp-actions DSH plugin
dsh plugin --profile <name> add dsh-lsp-actionsThis source command needs manual review. Copying does not run it.
dsh-lsp-actions DSH plugin data source
dsh-lsp-actions DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-lsp-actions DSH plugin can do
- `lsp_diagnostics` - Retrieve compiler/analyzer errors, warnings, and hints with severity, range, and source server.
- `lsp_format` - Format a file or selection through the language server and apply the result, returning the diff.
- `lsp_completion` - Get completion suggestions at a cursor position, including actual insertion text.
- `lsp_code_action` - Apply server-verified quickfixes and refactorings for a range or the first diagnostic.
- `lsp_symbols` - Search workspace-wide symbols by name or get a file's symbol outline.
- `lsp_signature` - Retrieve signature help (parameters and documentation) inside a call.
- `lsp_inlay_hints` - Get type annotations and parameter-name hints from the server.
- `lsp_rename` - Perform server-verified symbol rename workspace-wide with per-file diffs.
Where the dsh-lsp-actions DSH plugin fits
- Provide real-time diagnostics feedback to an AI agent while it writes code.
- Automatically format code according to project standards using the agent's editing capabilities.
- Offer inline completions and code actions to speed up development in agent-assisted environments.
- Enable cross-file symbol rename with conflict detection and safe application.
- Integrate with a VS Code extension to surface LSP actions directly in the editor UI.
Who the dsh-lsp-actions DSH plugin is for
- Developers using DeepSeek Harness who want agent-level code assistance with real language server feedback.
- AI agent frameworks that need an action surface for code editing, diagnostics, and IDE integration.
dsh-lsp-actions DSH plugin limitations
- Requires a configured `servers` table in the plugin config; with an empty server table and no `ctx.lsp` seam, all tools fail with `LSP_ACTION_UNAVAILABLE`.
- The editor protocol backend (`editor.enabled: true`) is intended for dedicated headless compositions and is disabled by default; it consumes stdout for the wire.
- Only supports language servers that communicate via stdio; the plugin never starts servers you did not configure.
- Write operations (format, rename) go through the official `fs/write-intent` waterfall and sandbox policy; read-only sessions are refused before any server round-trip.
dsh-lsp-actions DSH plugin: from the repository README
Quoted from the PerryLink/dsh-lsp-actions README, the upstream source of the dsh-lsp-actions DSH plugin. Copyright remains with the original authors.
**The LSP action surface for DeepSeek Harness — real language servers, real feedback, and the IDE integration backend for editors.** Diagnostics, formatting, code completion, quickfixes, symbols, signature help, inlay hints, and workspace-wide rename for your agent's editor loop, powered by the same language servers your IDE uses — plus a stable **editor action protocol** (`lsp.actions.list` / `lsp.actions.run` / `lsp.events`) that lets any editor (VS Code first) consume those capabilities directly over JSON-RPC. [](https://github.com/topics/dsh) [](https://github.com/topics/dsh-plugin) [](https://github.com/PerryLink/dsh-lsp-actions/actions/workflows/ci.yml) [](https://www.npmjs.com/package/dsh-lsp-actions) [](https://www.npmjs.com/package/dsh-lsp-actions) [ and provides a sidebar with diagnostics, quickfix actions, formatting, and more.
How does the plugin ensure safety when writing files?
All write operations (format and rename) go through the official `fs/write-intent` waterfall: observation, guarded write, observation. They also respect the per-call sandbox policy. If a file changes on disk, the write fails with `LSP_ACTION_CONFLICT`. Read-only sessions are refused before any server round-trip.
What happens if I don't configure any language server?
The plugin registers all eight tools, but any call to them will fail with `LSP_ACTION_UNAVAILABLE` and a message telling you to configure servers or enable the `ctx.lsp` seam. The plugin never starts servers you did not configure.