lonelymoon87/dsh-vscode
VS Code client for the DeepSeek Harness SDK runtime.
项目介绍Project Overview
这是 DeepSeek Harness 的独立预发布 VS Code 客户端,内嵌官方 SDK 运行时,可在侧边栏流式显示会话日志、工具活动,并用原生差异编辑器打开文件工具结果。适合在受信任本地文件夹中运行 DSH 代理、查看工具调用与改动。注意:当前仅测试 macOS arm64,需 Node 22.19+ 和 API 密钥;不支持审批、取消或会话恢复。
This is an independent pre-release VS Code client for DeepSeek Harness. It embeds the official SDK runtime, streams durable session logs and tool activity in a sidebar, and opens file-tool changes in the native diff editor. Use it to run a DSH agent in a trusted local workspace and inspect tool results. Caveat: only macOS arm64 is tested; Node 22.19+, an API key, and a platform-specific VSIX are required, with no approval, cancel, or resume support.
请帮我了解并安装插件:【dsh-vscode】【https://github.com/lonelymoon87/dsh-vscode】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:lonelymoon87/dsh-vscode
把 lonelymoon87/dsh-vscode 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DeepSeek Harness for VS Code
English | 中文
An independent, pre-release VS Code client for DeepSeek Harness. Version 0.1.2 embeds the official 0.1.1-rc.1 SDK runtime, streams the durable session log into a sidebar, shows tool activity, and opens file-tool results in VS Code's native diff editor.
This community project is not maintained or endorsed by DeepSeek.
Real model demonstration

The recording uses the released extension architecture, official VS Code 1.133.0 arm64, the bundled official DSH SDK runtime, deepseek-official / deepseek-v4-flash, and a real bash tool call. No fixture or mock transport is involved.
Features
- Reusable, bundled
dsh-jsonrpc-agentsubprocess managed by@deepseek-ai/dsh-sdk-client. - Streaming root-session assistant messages and collapsible tool cards.
- Native before/after diff editors from durable
tool/result.data.meta.diffs. - Session state and input/output token totals.
- New-session, runtime-restart, and diagnostic-output commands.
- Fixed
workspace-writesandbox policy; operations that require interactive approval fail closed.
Prerequisites
- VS Code 1.100 or newer with a trusted local folder open.
- Node.js 22.19 or newer on
PATH. The runtime is a separate Node process because signed macOS editors cannot load third-party native modules into their Electron executable. - A VSIX built for the current operating system and CPU. The embedded runtime contains native subprocess dependencies, so release artifacts are platform-specific.
DEEPSEEK_API_KEYin the environment that launches VS Code.DEEPSEEK_BASE_URLis optional. The extension deliberately has no secret-valued setting.
On macOS, a VS Code process started from the Dock may not inherit shell variables. Launching code . from a configured shell is the simplest development setup.
Install
Download and install the tested macOS arm64 VSIX:
curl -fLO https://github.com/lonelymoon87/dsh-vscode/releases/download/v0.1.2/dsh-vscode-darwin-arm64-0.1.2.vsix
code --install-extension dsh-vscode-darwin-arm64-0.1.2.vsix
The first release provides a tested macOS arm64 build only. Other platforms are not yet available.
To build the extension from source instead:
pnpm install
pnpm run check
code --install-extension dsh-vscode-*-0.1.2.vsix
Open the DeepSeek Harness Activity Bar view and submit a prompt. Cmd+Enter or Ctrl+Enter also sends the prompt.
Settings
| Setting | Default | Meaning |
|---|---|---|
deepseekHarness.nodePath |
node |
Node 22.19+ executable for the bundled runtime; set an absolute path when the editor does not inherit the shell PATH. |
deepseekHarness.runtimeCommand |
empty | Optional external dsh-jsonrpc-agent executable that replaces nodePath and the bundled entrypoint. |
deepseekHarness.runtimeArgs |
[] |
Arguments appended to the resolved runtime executable. |
deepseekHarness.provider |
deepseek-official |
Provider route sent during initialize. |
deepseekHarness.model |
deepseek-v4-flash |
Model id sent during initialize. |
deepseekHarness.maxTokens |
49152 |
Positive output-token cap for each root-agent request. |
The extension passes its bundled runtime/launcher/cordis.yml through DSH_CORDIS_CONFIG, the first workspace folder through DSH_CWD, and extension-private storage through DSH_SESSION_ROOT. The VSIX includes the matching official runtime packages. runtimeArgs follow the bundled entrypoint or the configured external runtime command.
Security and failure behavior
Untrusted and virtual workspaces are unsupported. The runtime receives the first local workspace folder as its writable root, and the extension never sends webview HTML through innerHTML. SDK transport errors remain visible in the transcript and the DeepSeek Harness output channel; restarting replaces the failed process and re-reads settings.
The current SDK wire has no server-to-client approval request or client approval response. The included runtime therefore uses a fixed workspace-write policy, and the official approval service rejects operations that require an answerer. The extension does not silently broaden permissions.
Known limitations
- No mid-turn cancel, approval UI, session list, or session resume because the 0.1.1-rc.1 SDK protocol does not expose those operations.
- One active root session and one workspace folder are shown at a time; descendant notifications are not mixed into the root transcript.
- Markdown, image attachments, and structured non-diff tool presentations fall back to plain text.
- VS Marketplace publication and signed release artifacts remain pending; GitHub Release VSIX files are unsigned community builds.
Development
pnpm run test covers notification projection and the official SDK against a real scripted JSON-RPC subprocess. pnpm run package builds a VSIX. Product-visible pull requests must include a GIF captured from the branch's real extension, runtime, and model flow; fixtures are test inputs, not release evidence.
See CONTRIBUTING.md and SECURITY.md.
Release evidence
pnpm run checkcovers type checking, unit tests, production build, and VSIX packaging.- CI runs on Node 22.19 and Node 24.
- The bundled 0.1.1-rc.1 runtime completes its real SDK initialize and shutdown handshake; the v0.1.2 VSIX remains macOS arm64 until platform release automation is added.
- Bugs and compatibility reports are tracked in GitHub Issues.
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS