UI Enhancements

deepseek-harness-vscode

urwff/deepseek-harness-vscode · ★ 1

urwff

Run DeepSeek Harness in the VS Code sidebar, Claude Code for VS Code style

README body is shown in Chinese.

License
MIT
Added
2026-08-23
Maintenance
active
Install kind
github

No manifest check is available; listing does not imply compatibility or security review.

安装

dsh plugin --profile web add github:urwff/deepseek-harness-vscode

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: zh · Read Chinese README

Table of contents
  1. 架构
  2. 环境要求
  3. 使用
  4. 安装(推荐:GitHub Release)
  5. 调试运行(开发)
  6. 打包
  7. 功能
  8. 设置(settings.json)
  9. 开发
  10. 已知限制
  11. 故障排查
  12. 路线图
  13. License

在 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:扩展按以下顺序自动定位,优先使用本机已有的安装,不会重复下载
    1. 设置 dsh.dshCommand 指定路径(最稳,支持直接填 bin.js 路径);
    2. 本机已安装的 dsh 运行入口(npm i -g @deepseek-ai/dsh 后的全局目录、或 npx 缓存中的完整副本)→ 用 node 直接拉起,秒开;
    3. 都没有则回退 npx --yes @deepseek-ai/dsh@0.1.0-rc.6(首次需下载,耐心等几分钟,侧边栏会有提示)。

使用

安装(推荐:GitHub Release)

  1. 到 Releases 下载最新 .vsix;
  2. 在 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 分发。

故障排查

  1. 侧边栏一直"启动中":输出面板选择 DeepSeek Harness (server) 查看日志。常见原因:dsh 不在 PATH 且 npx 拉取失败 → 在设置里填 dsh.dshCommand。
  2. 界面空白/白屏:重启服务(标题栏重启按钮);DSH 页面首次启动较慢(几十个插件),给 10–30 秒。
  3. headless 任务没反应:确认终端可以手动跑 dsh --profile headless "echo 测试"。
  4. 端口冲突:设置 dsh.port 为固定端口,或保持 0 自动分配。

路线图

  • 侧边栏 iframe 嵌入 + 进程生命周期管理 + 右键 headless 任务
  • IDE 上下文实时注入侧边栏会话(当前文件/选区/诊断 → postMessage 桥)
  • dsh --profile tui 终端面板(原生终端版交互)
  • 审批通知与 diff 原生集成
  • 多窗口共享同一 dsh 实例

License

MIT © DeepSeek Harness for VSCode contributors