kalynnka/vscode-deepseek-harness

Unofficial: drive your own DeepSeek Harness (dsh) as a native VS Code chat agent, beside Claude Code and Codex

An unofficial VS Code extension that registers DeepSeek Harness as a chat session target in VS Code's native agent sessions view — the same surface that hosts Claude Code and Codex — instead of shipping another webview chat panel. Once you pick DeepSeek Harness in the composer's agent picker, the ordinary composer drives dsh: your editor selection arrives pinned as a chip with its file, line range and lines; a dragged or #-referenced file arrives as a path relative to the session working directory; a pasted image becomes a real attachment when the model accepts one; and a /-line naming a dsh command runs through dsh's own registry rather than being sent to the model. Model, reasoning and permission pickers map to session.selectModel, the selected model's efforts and dsh's read-only / workspace-write / danger-full-access presets. The SESSIONS list is the real dsh session history — the same sessions the dsh web UI shows — with live turns, tool cards, inline questions and approvals, per-turn token usage with cache split, context percentage, and stop/fork/new-session controls.

Coding & Development ★ 3 updated 2026-08-20 ✅ runtime-tested
View on GitHub ↗

Install

code --install-extension deepseek-harness-sessions-<version>.vsix

README install: the extension is not on the Marketplace and cannot be — declaring enabledApiProposals is refused at publish time — so installing the VSIX by hand is the only route. Get it either from the repository's Releases (every release carries the .vsix built from that exact tag) or build your own with npm install, npm run build, npm run package (producing deepseek-harness-sessions-<version>.vsix), then run the command above. The proposed-API opt-in is not optional: Command Palette → Preferences: Configure Runtime Arguments, add the extension id to enable-proposed-api in argv.json, and restart VS Code (not reload) because argv.json is read once at startup. Upgrading means installing the newer VSIX over the old one; the grant is keyed to the extension id and survives.

Compatibility

VS Code with proposed APIs enabled for this extension (the README warns that without the opt-in the contribution is skipped in silence). Registers a local DeepSeek Harness (dsh) as a chat session target; no second sidebar or webview is used.

Details

Recent updates

The README links the architecture decision record (docs/plans/0001-vscode-chat-session-provider.md) and a gaps document explaining what the chat UI wanted, what dsh's /api could not provide, and the workarounds chosen — notably that a selection is sent as text because dsh has no structured reference type, and a saved file is sent as a path because dsh would rather open it with its own read tools. Slash commands proxied from the composer and Command Palette include plan, compact, feedback, export, permission and goal, plus /models for dsh's own catalog.

FAQ

Why isn't this in the VS Code Marketplace?
Because it declares enabledApiProposals, which is refused at publish time — the README states installing the VSIX by hand is the only route. Download it from Releases or build it with npm run package.
Nothing appears after installing — what did I miss?
The proposed-API opt-in. Add the extension id to enable-proposed-api in argv.json via Command Palette → Preferences: Configure Runtime Arguments, then restart VS Code (not reload) — without it the contribution is skipped silently and nothing appears anywhere.
Does it run its own copy of the harness?
No. It registers the dsh on your machine as a chat session target, so the SESSIONS list and transcripts are the same sessions the dsh web UI shows, rebuilt from the harness's own session log.

More plugins in Coding & Development

Browse more in Coding & Development

Guides for Coding & Development plugins