我把 DeepSeek Harness 装进了 VS Code:不中转、原生直连的右侧聊天面板(附安装教程)
> 开源地址:https://github.com/auspiceflow/dsh-vscode (MIT 协议,欢迎 Star ⭐)
> 一句话:给 dsh 原生加一个 VS Code 的窗口——上下文管理、工具调用、任务执行全部由 dsh 自己完成,不经过任何中间层。
## 一、为什么要做这个插件
DeepSeek Harness(`dsh`)本身就是一个完整的 Agent 框架:**统一上下文管理、工具调用、任务执行、子代理、审批流**全部内置。但它的原生入口是 Web GUI 和终端——写代码时,你不得不离开编辑器,在浏览器和 IDE 之间反复切换。
市面上的常见做法,是把 dsh「塞进」另一个框架:比如通过 Claude Code 或其他 Agent 客户端间接调用。这条路的问题在于**每多一道中转,就要多付一道成本**:
- dsh 的输出要被翻译成另一套协议,prompt 被改写、上下文在两个系统之间来回搬运
- 翻译层本身就是 token 消耗——你花的每一分钱里,都有一部分在给「转接」买单
- 更糟的是语义损耗:dsh 的上下文管理策略(压缩、skill、预设)经过中间层曲解后,能力会打折扣
**这个插件的思路反过来了:不引入任何中间层,给 dsh 原生加一个 VS Code 的窗口。** 扩展直接复用 dsh 官方 Web GUI 的同一套主机 API,把整个框架原样搬进编辑器侧边——dsh 的上下文管理、工具调用、任务执行**原封不动地工作**,零适配、零翻译、零额外 token。

## 二、核心创新点
**1. 协议级原生,不是桥接**
扩展通过 dsh 官方主机 API(RPC + WebSocket 事件流)驱动框架——这正是 dsh 网页客户端自己用的协议。没有抓包、没有 hack、没有协议翻译,dsh 升级新能力,扩展自动获得。
**2. 每个工作区一个独立 dsh 实例**
VS Code 打开哪个文件夹,扩展就为它启动一个 `dsh web`,工作区根 = 该文件夹。上下文、会话、工具操作天然隔离,安全边界清晰;关闭窗口实例自动退出。
**3. 会话在 dsh 侧原生持久化**
会话存在 dsh 自己那里。你在 VS Code 面板、浏览器 GUI、终端之间切换,看到的是**同一个会话**——历史、工具轨迹、目标状态完全一致。
**4. 流式体验 + 工程韧性**
token 级流式渲染、工具调用过程可视化、审批确认按钮、Agent 提问直接作答。底层还有 WebSocket 断线自动重连、失败降级轮询的兜底,网络抖也不丢对话。
**5. 零依赖、免编译、打 tag 即发版**
扩展本体零运行时依赖、纯 JS 免编译;仓库自带端到端冒烟测试和 GitHub Actions,推 `v*` tag 自动测试、打包、发布 Release。
## 三、功能一览
- **右侧聊天面板**:编辑器标题栏右上角 dsh 图标,点击弹出/收起,就像 Claude Code 一样

- **逐字流式输出**:token 级渲染,不用等一整段
- **多轮会话记忆**:会话持久化,关面板重开历史自动恢复
- **工具调用可视化**:bash、文件读写、搜索等工具的执行过程实时展示
- **审批确认按钮**:Agent 需要写文件/执行命令时,在聊天里点「允许/拒绝」
- **Agent 提问交互**:dsh 反问你时直接在面板作答
- **工作区绑定**:项目隔离互不干扰
- **Full GUI 侧边栏**:需要完整网页版功能(目标、任务、技能)时一键切换
## 四、三分钟安装
### 前置
- Node.js ≥ 18
- VS Code ≥ 1.85
- DeepSeek API Key(https://platform.deepseek.com 申请)
### 第 1 步:安装 dsh 命令行工具
```bash
npm install -g @deepseek-ai/dsh
dsh --version # 验证
```
### 第 2 步:配置 API Key(三选一)
方式一,环境变量(PowerShell):
```powershell
setx DEEPSEEK_API_KEY "sk-你的密钥"
```
方式二,可视化:运行 `dsh web` 打开 GUI → 设置 → Models 页填入密钥。
方式三,文件:在 `C:\Users\<用户名>\.dsh\.env` 写入 `DEEPSEEK_API_KEY=sk-...`。
验证:`dsh --profile headless "说一句你好"` 能回复即成功。
### 第 3 步:安装扩展
到 [Releases](https://github.com/auspiceflow/dsh-vscode/releases) 下载最新的 `dsh-vscode-x.y.z.vsix`:
```powershell
code --install-extension dsh-vscode-x.y.z.vsix
```
### 第 4 步:使用
1. `Ctrl+Shift+P` → `Developer: Reload Window`
2. 打开任意项目文件夹
3. 点编辑器**右上角 dsh 图标** → 右侧弹出聊天面板,开始对话
4. 选中代码 → `Ctrl+Shift+P` → `dsh: Ask About Selection…`,选区会作为上下文带给 dsh
更多推荐



所有评论(0)