前言¶
DeepSeek Harness (DSH) 的插件机制允许开发者通过叠加功能扩展系统能力。dsh-vscode-workbench 插件旨在 DSH 环境中叠加一个 VS Code 风格的本地开发工作台。它将资源管理、代码编辑、Git 操作和终端集成在一个统一的界面中,解决了在智能体开发过程中需要频繁切换窗口或使用外部工具来管理本地文件与代码状态的问题。
插件简介¶
插件名称:dsh-vscode-workbench
维护者:tingfeng347
许可证:MIT
该插件通过 DSH 的扩展点挂载,不替换或卸载 ui-layout,而是作为叠加层存在。它提供了一套完整的本地开发环境体验,包括 Monaco 编辑器、可视化 Git 工作流、多会话终端以及与 DSH 对话能力的无缝集成。
核心功能¶
文件与编辑器¶
- Monaco 编辑器:支持多标签页、脏状态标记、原子保存与冲突检测。
- 文件类型支持:支持文本、Markdown、图片、PDF 和 Word 文档的直接打开与预览。
- 文件操作:支持创建、上传、拖放、重命名、删除以及查看 Git 状态。
可视化 Git 工作流¶
- 提供覆盖状态、暂存、提交、分支、差异等 Git 操作的图形化界面。
- 支持提交文件查看和泳道式提交图。
- 搜索功能基于
@vscode/ripgrep,支持大小写、全词匹配、正则表达式及路径筛选。
终端¶
- 基于
node-pty和 xterm.js 实现。 - 支持最多 8 个终端会话,支持会话重命名、右侧切换和分屏。
- 支持 ANSI 输出和
Ctrl+C信号处理。
布局与 DSH 集成¶
- 布局管理:左侧视图、终端面板和右侧 DSH 对话栏可独立显示和调整宽度。
- 主题与设置:主题与布局集中在工作台设置中管理。
- 上下文同步:刷新后可恢复活动视图、标签页、目录展开状态、面板显示及布局配置。
安装与配置¶
基础安装¶
使用官方命令安装插件:
dsh plugin --profile web add dsh-vscode-workbench
首次安装终端支持¶
终端依赖 node-pty。在 DSH 环境中,如果使用 pnpm 11,首次安装时构建脚本可能会被拦截,导致安装失败。这是预期的安全检查行为。
解决步骤如下:
- 进入插件配置目录:
cd ~/.dsh/profiles/web
- 批准构建脚本并重新安装依赖:
pnpm approve-builds --all
- 重启
dsh web服务。 - 如果终端仍提示加载失败,可执行:
pnpm approve-builds --all && pnpm rebuild node-pty
使用说明¶
安装完成后,可以通过快捷键或左侧活动栏按钮切换视图。
典型的项目开发流程示例:
cd ~/.dsh/profiles/web
pnpm install && pnpm typecheck && pnpm test && pnpm build
快捷键参考¶
| 快捷键 | 操作 |
|---|---|
Ctrl+Shift+E |
打开资源管理器 |
Ctrl+Shift+F |
打开搜索 |
Ctrl+Shift+G |
打开源代码管理 |
Ctrl+S |
保存当前文件 |
Ctrl+Alt+B |
显示或隐藏 DSH 对话栏 |
| `Ctrl+`` | 显示或隐藏终端 |
| `Ctrl+Shift+`` | 新建终端 |
注意事项¶
安全性¶
- 路径限制:Host 只接受当前 DSH 会话工作目录内的相对路径,并阻止目录穿越与符号链接越界。
- 命令执行:Git 与 ripgrep 使用参数数组启动,不拼接 Shell 命令,防止命令注入。
- 终端安全:终端只接受同源 loopback 请求,固定在会话工作目录启动,并移除 API key、token、secret 等敏感环境变量。
- 数据一致性:保存操作使用版本校验与原子替换,避免静默覆盖。
环境依赖¶
- Node.js:要求
^22.19 || >=24 - pnpm:要求
11.7 - 系统工具:需要安装系统 Git。
附录¶
- GitHub 仓库:https://github.com/tingfeng347/dsh-vscode-workbench
- DSH 插件目录:https://www.skillhub.cn/plugins/tingfeng347/dsh-vscode-workbench