DeepSeek Harness for VS Code
在 VS Code 侧边栏内嵌 DeepSeek Harness 的 Web UI,并把当前打开的文件夹作为 Harness 的工作区。
功能
- 活动栏(侧边栏)新增 DeepSeek Harness 图标,点击即打开面板,面板内直接显示
http://127.0.0.1:3080 的 Harness 界面——没有地址栏、没有浏览器工具栏,只有这一个页面。
- 打开面板时,如果端口上没有服务,扩展会以当前 VS Code 文件夹为工作区自动启动
dsh web;切换文件夹后再次打开面板,会自动以新文件夹重启服务。
- 面板标题栏提供「在当前文件夹重启服务」按钮;状态栏显示服务状态,点击可打开面板。
开发与调试
npm install
按 F5 启动 Extension Development Host(自动编译),点活动栏的 DeepSeek Harness 图标即可。
打包安装
npm run package # 生成 deepseek-harness-for-vscode-plugin-<version>.vsix
在 VS Code 中 Extensions → ... → Install from VSIX... 安装。
工作原理
- 面板是一个 Webview,宿主页面只含一个指向
http://127.0.0.1:<port> 的 iframe(CSP 只放行该源),因此没有浏览器外壳。
- 服务通过
dsh web --port <port> 启动,工作区即启动时的 cwd(VS Code 当前文件夹)。进程以独立进程组运行,关闭 VS Code 后服务仍在后台,下次打开直接复用;点「重启」会按进程组回收并重新启动。
- 若端口上已有服务(例如你在终端自己启动了
dsh web),扩展直接复用该实例,不会杀掉你的进程。
配置
| 设置 |
默认值 |
说明 |
dshVscode.port |
3080 |
Harness Web 服务端口 |
dshVscode.dshCommand |
dsh |
dsh 命令名或路径;留空则自动在 PATH 查找,找不到时回退 npx --yes @deepseek-ai/dsh |
dshVscode.startTimeoutSeconds |
120 |
等待服务就绪的超时(首次启动可能需安装 profile 依赖) |
已知限制
- 端口被其他进程占用时启动会失败,面板会展示日志并提示修改端口。
- Windows 下服务进程不脱离扩展宿主(关闭 VS Code 即停止)。
| |