deepseek-harness-vscode

by urwff

2 UI 增强github收录于 08-23

在 VS Code 侧栏运行 DeepSeek Harness,Claude Code for VS Code 风格

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

安装

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

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

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

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:扩展按以下顺序自动定位,优先使用本机已有的安装,不会重复下载
    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

原始 README: https://github.com/urwff/deepseek-harness-vscode/blob/main/README.md ↗