Skip to content

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-actions

This 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. [![Topic: dsh](https://img.shields.io/badge/Topic-dsh-4D6BFE?style=for-the-badge)](https://github.com/topics/dsh) [![Topic: dsh-plugin](https://img.shields.io/badge/Topic-dsh--plugin-8257D0?style=for-the-badge)](https://github.com/topics/dsh-plugin) [![CI](https://github.com/PerryLink/dsh-lsp-actions/actions/workflows/ci.yml/badge.svg)](https://github.com/PerryLink/dsh-lsp-actions/actions/workflows/ci.yml) [![npm downloads](https://img.shields.io/npm/dw/dsh-lsp-actions?style=flat-square)](https://www.npmjs.com/package/dsh-lsp-actions) [![npm](https://img.shields.io/npm/v/dsh-lsp-actions?style=flat-square)](https://www.npmjs.com/package/dsh-lsp-actions) [![License](https:

Read the full READMERepository license: Apache-2.0

dsh-lsp-actions DSH plugin questions

How do I install dsh-lsp-actions?

Run `dsh plugin --profile <name> add dsh-lsp-actions` in your terminal. This will download and register the plugin for the specified profile. You can replace `<name>` with your actual profile name, e.g., `default`.

What language servers are supported?

Any language server that communicates via stdio can be used. You configure them in the plugin's `servers` table under your profile's `cordis.patch.yml`. For example, you can add `typescript-language-server` for TypeScript or `pyright-langserver` for Python.

Is the editor protocol compatible with VS Code?

Yes, the plugin ships a minimal VS Code extension in `examples/vscode/`. It connects to the plugin's editor protocol backend (which must be enabled with `editor.enabled: true` in a dedicated headless composition) 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.