deepseek-harness-vscode
by bingchengle
Claude Code 风格的 VSCode 侧边聊天面板 ,由 DeepSeek Harness( dsh web )驱动。在 VSCode 活动栏点开图标,即可在侧栏内嵌完整的 DSH 智能体界面:对话、工具调用轨迹、设置、模型选择、子代理 / goal / plan 面板全部可用——而 agent 的工作区根就是当前打开的项目文件夹。
安装
dsh plugin --profile web add github:bingchengle/deepseek-harness-vscodeGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
目录
Claude Code 风格的 VSCode 侧边聊天面板,由 DeepSeek Harness(dsh web)驱动。在 VSCode 活动栏点开图标,即可在侧栏内嵌完整的 DSH 智能体界面:对话、工具调用轨迹、设置、模型选择、子代理 / goal / plan 面板全部可用——而 agent 的工作区根就是当前打开的项目文件夹。
仓库:https://github.com/bingchengle/deepseek-harness-vscode · MIT 协议 当前为 路线 A(iframe 内嵌):扩展以子进程启动
dsh web,侧栏 Webview 用 iframe 加载其完整界面。零 npm 运行时依赖,纯 JavaScript,无需编译。
快速使用(推荐)
前置条件
- VSCode 1.85 及以上;
- Node.js 18 及以上(扩展用它运行 dsh 的入口脚本);
- dsh 无需手动安装:扩展会自动探测(npx 缓存 → 全局 → 工作区 → PATH),都没有时会用
npx --yes @deepseek-ai/dsh现场拉取(仅首次较慢); - 一个 DeepSeek API key:装好后在侧栏的 DSH 设置面板里配置(key 只保存在你本机的
~/.dsh,不会进入本仓库)。
方式一:安装预打包的 vsix(最简单)
到 Releases 页面下载最新的
dsh-vscode-chat-<版本号>.vsix;命令行安装:
code --install-extension .\dsh-vscode-chat-0.1.3.vsix --force完全关闭并重开 VSCode,点活动栏的 DeepSeek 蓝鲸图标,侧栏即出现聊天面板。
方式二:从源码运行(开发者 / 尝鲜)
- 克隆本仓库并用 VSCode 打开本目录;
- 按
F5(已配置.vscode/launch.json),弹出 Extension Development Host; - 在新窗口点活动栏的蓝鲸图标打开聊天。
方式三:从源码打包 vsix(离线,无需 npm/网络)
powershell -NoProfile -ExecutionPolicy Bypass -File .\pack.ps1
code --install-extension .\dsh-vscode-chat-<版本号>.vsix --force
打包由
pack.ps1离线完成(VSIX 本质是一个特定结构的 zip),不依赖 vsce、npm 或网络。
工作原理
VSCode 扩展(Node.js 扩展宿主)
│ spawn 子进程(cwd = 当前工作区)
▼
dsh web 服务器(127.0.0.1:OS随机端口,--port 0)
│ /api(HTTP POST 一元 RPC,Typert 协议)
│ /api/events.mux、/api/events.host(下行 WebSocket)
▼
VSCode WebviewView 侧边栏(Chromium)
└─ iframe(sandbox=allow-scripts allow-same-origin …)→ 加载 DSH SPA
- 扩展解析子进程 stdout 中打印的
dsh web:URL 行拿到端口; - iframe 文档的 origin 就是
http://127.0.0.1:<port>,与正常浏览器访问完全一致,能通过 DSH/api的回环信任栅栏(这是allow-same-origin必须保留的原因:去掉后 origin 变 opaque,WebSocket 升级会被拒); - 外层 Webview 的 CSP 只放行
frame-src http://127.0.0.1:*,iframe 内部由 DSH 服务器自己的响应头管辖(即"服务器在本地、页面从服务器加载"的正常浏览器语义)。
dsh 自动探测顺序
- 当前工作区的
node_modules/@deepseek-ai/dsh(项目内安装) - npx 缓存(
%LOCALAPPDATA%\npm-cache\_npx\*\node_modules\@deepseek-ai\dsh/~/.npm/_npx/...,取最新) - 全局 npm 根(
npm root -g) - PATH 上的
dsh命令 - 兜底:
npx --yes @deepseek-ai/dsh(首次拉取较慢,状态栏会提示)
探测到 bin.js 后,扩展用解析到的真实 Node(node)运行它,绕开 PATH / shell 差异;只有第 4、5 种才走命令 spawn。
命令
| 命令 | 作用 |
|---|---|
DSH: 打开侧边聊天 |
聚焦侧边栏并确保服务在跑 |
DSH: 重启服务 |
杀掉旧进程树、等待锁释放、重新拉起(侧栏标题按钮) |
DSH: 在浏览器中打开 |
在系统浏览器打开完整窗口版 DSH(侧栏标题按钮) |
DSH: 移动到右侧辅助侧边栏 |
把聊天视图移到右侧辅助侧边栏,位置会被记住(侧栏标题按钮) |
把聊天放到右侧
VSCode 的活动栏视图容器只能固定在左侧主侧边栏(平台限制,且没有公开 API 能程序化移动视图)。要让聊天显示在右侧:
- 打开 DSH 聊天视图后,点视图标题栏的 → 按钮(
DSH: 移动到右侧辅助侧边栏),它会打开右侧辅助侧边栏; - 把左侧 "Chat" 视图拖进右侧(按住 "Chat" 标题栏拖到窗口右边缘,出现高亮后松手),或在 "Chat" 标题栏上右键 → 移动视图(Move View) → 辅助侧边栏(Secondary Side Bar);
- 只需一次,之后每次打开 VSCode 聊天都在右侧辅助侧边栏(可拖动其左边缘调宽度)。
视图移到右侧后,活动栏图标可能不再作为入口;此时用
DSH: 打开侧边聊天命令或状态栏 DSH 按钮调出。
侧栏标题栏有 重启 / 浏览器 / 移到右侧 三个按钮;状态栏右侧常驻服务状态;所有服务日志输出到 DSH Server 输出面板(视图 → 输出)。
已知限制(预览版)
- DSH 前端按全窗口设计:侧栏较窄时布局会被挤压,建议拉宽侧栏或配合"在浏览器打开"使用。
- 依赖本机 Node 与 dsh:v1 自动探测用户环境的 dsh;把 dsh 打进扩展(vsix 自带)属于后续工作。
- 代码块复制按钮:VSCode webview 对嵌套 iframe 的剪贴板有平台限制(见 microsoft/vscode#182642),已加
allow="clipboard-*"授权,多数环境可用;若仍失败,用鼠标选中 +Ctrl+C原生复制即可。 - 进程即会话:VSCode 关窗 / 扩展重载会杀掉 dsh 子进程,但会话已持久化到
$DSH_HOME(默认~/.dsh),下次启动可恢复。 - 信任模型:DSH web 目前只有回环信任栅栏、无认证层;本扩展只绑定 127.0.0.1,符合其安全姿态。
- 模型配置:需按 DSH 常规方式配置 DeepSeek API key(侧栏设置面板里操作)。
后续路线
- 路线 B:原生协议客户端 + 自绘侧栏 UI(更接近 Claude Code 扩展的观感):扩展实现 Typert 客户端(
@deepseek-ai/dsh-api-gateway/client、@deepseek-ai/dsh-client-connection等包已在 npm),webview 里画轻量聊天界面,不再依赖 DSH 前端 dist。 - 打包 dsh 进 vsix(内置 Node 运行时 / 懒加载 npx 安装)。
- 编辑器联动:选中代码 → 发送到侧栏(
editor/context菜单)。
原始 README: https://github.com/bingchengle/deepseek-harness-vscode/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent