UI Enhancements
deepseek-harness-vscode
urwff/deepseek-harness-vscode · ★ 1
Run DeepSeek Harness in the VS Code sidebar, Claude Code for VS Code style
README body is shown in Chinese.
安装
dsh plugin --profile web add github:urwff/deepseek-harness-vscodeGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
在 VS Code 侧边栏中运行 DeepSeek Harness,交互形态类似 Claude Code for VS Code:活动栏图标 → 侧边栏内嵌完整会话界面,右键选区可发起一次性任务。
本扩展是"薄壳":真正的 agent 由 DeepSeek Harness(MIT)提供,扩展只负责进程管理、界面嵌入与 IDE 上下文。
架构
VS Code 扩展(薄壳)
├─ 进程管理:启动 dsh web / 探测端口 / 健康检查 / 清理 / 崩溃重启
├─ 侧边栏 WebviewView ──(iframe)──▶ http://127.0.0.1:<port> ← dsh web 进程
└─ 右键"用 DeepSeek Harness 处理…" ──▶ dsh --profile headless(一次性任务)
环境要求
- VS Code ≥ 1.90
- Node.js ≥ 20(扩展本身和 dsh 都需要)
- dsh:扩展按以下顺序自动定位,优先使用本机已有的安装,不会重复下载
- 设置
dsh.dshCommand指定路径(最稳,支持直接填bin.js路径); - 本机已安装的 dsh 运行入口(
npm i -g @deepseek-ai/dsh后的全局目录、或 npx 缓存中的完整副本)→ 用node直接拉起,秒开; - 都没有则回退
npx --yes @deepseek-ai/dsh@0.1.0-rc.6(首次需下载,耐心等几分钟,侧边栏会有提示)。
- 设置
使用
安装(推荐:GitHub Release)
- 到 Releases 下载最新
.vsix; - 在 VS Code 中:
扩展面板 →…→从 VSIX 安装…,选择下载的文件。
或命令行:
code --install-extension dsh-vscode-0.2.0.vsix
调试运行(开发)
npm install
# F5,或:
npm run compile
F5 会打开一个扩展开发宿主窗口:左侧活动栏出现 DeepSeek Harness 图标,点击打开侧边栏。
打包
npm run package # 生成 dsh-vscode-0.2.0.vsix
功能
| 入口 | 行为 |
|---|---|
| 活动栏图标 → 侧边栏 | 内嵌 DSH 完整界面(会话/审批/插件/设置) |
| 侧边栏标题栏按钮 | 启动 / 停止 / 重启 / 宽面板 / 浏览器打开 / 日志 |
| 编辑器右键 → "用 DeepSeek Harness 处理…" | 解释 / 审查 / 写测试 / 自定义,走 headless 一次性执行,输出到面板 |
状态栏 DSH :<port> |
服务状态,点击打开侧边栏 |
设置(settings.json)
| 键 | 默认 | 说明 |
|---|---|---|
dsh.dshCommand |
"" |
dsh 命令或绝对路径;留空自动探测 |
dsh.host |
127.0.0.1 |
服务绑定地址 |
dsh.port |
0 |
端口;0 自动分配(推荐) |
dsh.startOnActivation |
true |
启动 VS Code 时自动拉起服务 |
开发
src/manager.ts:DSH 进程生命周期(命令解析 / node 直跑 / 端口探测 / 健康检查 / 清理)src/sidebar.ts/src/panel.ts:侧边栏与宽面板(Webview 包装页见src/wrapperHtml.ts)src/headless.ts:右键一次性任务test/runtime-test.js:无需 VS Code 的运行时验证(用 vscode stub 驱动编译产物,覆盖启动→健康检查→停止全链路)
npm run compile
node test/runtime-test.js
已知限制
- 多窗口:VS Code 的每个窗口会各自拉起一个 dsh 实例(端口自动分配,互不冲突);后续版本会共享同一实例。
- 侧边栏较窄:DSH 界面为浏览器全宽设计,窄侧边栏可用标题栏的"在编辑器中打开(宽面板)"。
- 未上架 VS Code Marketplace;暂以 GitHub Release 的 vsix 分发。
故障排查
- 侧边栏一直"启动中":输出面板选择 DeepSeek Harness (server) 查看日志。常见原因:dsh 不在 PATH 且 npx 拉取失败 → 在设置里填
dsh.dshCommand。 - 界面空白/白屏:重启服务(标题栏重启按钮);DSH 页面首次启动较慢(几十个插件),给 10–30 秒。
- headless 任务没反应:确认终端可以手动跑
dsh --profile headless "echo 测试"。 - 端口冲突:设置
dsh.port为固定端口,或保持0自动分配。
路线图
- 侧边栏 iframe 嵌入 + 进程生命周期管理 + 右键 headless 任务
- IDE 上下文实时注入侧边栏会话(当前文件/选区/诊断 → postMessage 桥)
-
dsh --profile tui终端面板(原生终端版交互) - 审批通知与 diff 原生集成
- 多窗口共享同一 dsh 实例
License
MIT © DeepSeek Harness for VSCode contributors