DeepSeek Harness for Web
把 DeepSeek Harness(dsh)的 Web 界面完整内嵌进 VS Code——自动检测并启动服务,在侧边栏/标签页里忠实呈现网页版全部能力;同时提供 @dsh 聊天参与者、发送选中代码、一键生成 Commit 消息等宿主侧增强。
使用前请先启动 DSH 服务:终端运行 dsh web,或让插件自动启动。

功能
- 忠实窗口:完整内嵌 DSH Web GUI(iframe),网页版全部功能原样可用——会话管理、模型切换、审批、workspace、trajectory、settings、插件等,与网页版一致。
- 自动连接与启动:探测
dsh.url,未运行时自动执行 dsh web(dsh → npx 回退)并轮询等待就绪,断线自动重连;状态栏实时指示。
- 顶部工具条:连接状态点 + 刷新页面 / 重启 dsh web / 在标签页打开 / 在浏览器打开(Lucide 风格图标)。
- 字号跟随编辑器:面板字号按
editor.fontSize / 16 等比缩放,跟随你的编辑器字体设置。
- 选中代码自动问答:选中代码 → 工具条即时显示「N 行已选中」,停止选择 0.6 秒后自动把
路径:起行-止行 引用插入 DSH 输入框(dsh-drop-caret),直接提问即可携带选中代码上下文;也可右键「发送选中内容到对话框」手动发送。
- 剪贴板桥接:内嵌 DSH 输入框里恢复 Cmd/Ctrl+C/V/X/A 复制、粘贴、剪切、全选(经扩展主机
vscode.env.clipboard 中转;首次启动自动安装 dsh-clipboard-bridge 插件)。
@dsh 聊天参与者:在 VS Code 原生 Chat(Ctrl+Alt+I / Cmd+Shift+I)输入 @dsh 提问,流式回复 + 工具调用 + 审批按钮;支持 /new、/session <ID>、/preset <名称>、/help。
- 选中代码询问:编辑器右键「用 @dsh 询问选中代码 / 询问此文件」。
- 一键 Commit 消息:Source Control 标题栏 ✨ 按钮,读 git diff 生成 Conventional Commits 消息并填入 SCM 输入框。

安装
npm install
npm run package # 输出 Releases/dsh-vscode.vsix
VS Code → 扩展 → … → 从 VSIX 安装 → 选 Releases/ 下的 .vsix → 重新加载窗口。
前置要求:VS Code ≥ 1.90(@dsh 参与者需 ≥ 1.95;插件使用 Node 22+ 全局 WebSocket,建议较新版本);dsh CLI 或 npx;模型凭据已配置(与 dsh web 相同)。
配置
| 键 |
默认值 |
说明 |
dsh.url |
http://127.0.0.1:3080 |
DSH Web 服务地址(兼容 SSH 隧道 / launchd 托管) |
dsh.autoStart |
true |
服务未运行时自动启动 |
dsh.command |
dsh |
启动命令(可用 npx @deepseek-ai/dsh) |
dsh.autoStartTimeoutSec |
60 |
自动启动等待就绪超时(秒) |
dsh.retryIntervalSec |
15 |
断线自动重连间隔(秒) |
dsh.participantSessionMode |
per-workspace |
@dsh 会话作用域:每个工作区 / 全局 |
使用要点
- 活动栏点「DeepSeek Harness」鲸鱼图标打开面板;面板顶部工具条可刷新 / 重启 / 标签页 / 浏览器打开。
- 侧边栏窄时建议用「在标签页中打开」(
dsh.openStandaloneChat)获得宽屏体验。
- 选中代码后 0.6 秒自动把
路径:起行-止行 引用插入 DSH 输入框(工具条显示「N 行已选中」),直接提问即携带上下文;右键「发送选中内容到对话框」可手动发送。
@dsh 提问时若模型需审批,聊天里会出现「允许 / 拒绝」按钮。
开发
npm install
npm run typecheck
npm run build # esbuild 打包 src/extension.ts → dist/extension.js(零运行时依赖)
npm run package # → Releases/
- 宿主:
src/extension.ts、src/hub.ts(中央枢纽)、src/client.ts(RPC + WS)、src/server.ts(启动/重连)、src/chatParticipant.ts、src/commitMessage.ts。
- UI:
src/webview/iframeHtml.ts(内嵌 DSH Web 的 HTML/CSS/脚本)+ src/webview/panel.ts / window.ts。
DSH 协议:POST /api/<method>(RPC 信封)+ WebSocket /api/events.mux、/api/events.host 事件流。
支持
如果这个扩展对你有帮助,欢迎到 Marketplace 给个 ⭐⭐⭐⭐⭐ 好评,让更多人发现它。
| |