前言¶
在 DeepSeek Harness (DSH) 的智能体开发流程中,频繁地在代码编辑器和对话会话之间切换以引用特定片段或文件路径,会造成上下文割裂。dsh-sidebar-vscode 插件通过将 VS Code Web 工作台嵌入到 DSH 官方右侧边栏中,将编辑器的代码选中或文件资源直接转化为对话中的原子引用芯片,简化了上下文传递的过程。
这是什么¶
这是 DeepSeek Harness (DSH) 的一个官方右侧边栏标签页类型插件。它由开发者 chendefine 维护,基于 MIT 许可证开源。
核心定位:提供一个名为 vscode 的官方右侧边栏标签页,嵌入 VS Code Web 工作台,并将编辑器的选择或文件操作转换为可被模型直接读取的原子引用标记。
运行环境:Web 平台(DSH Web GUI),引擎要求 Node.js ^22.19.0 || >=24.0.0。
核心功能¶
1. 官方右侧边栏标签页与持久化工作台¶
插件注册了官方的右侧边栏标签页类型 vscode。工作台逻辑通过 workbenchRuntime.ts 将 iframe 持久化在 document.body 下的容器中,而非标签页 Body。这确保了切换标签页时工作台及其 WebSocket 连接和编辑器状态保持不变,无需重载。只有关闭标签页或插件卸载时,工作台上下文才会被销毁。
2. 快捷键与右键发送¶
- 发送选中代码:在嵌入的 VS Code 中选中代码,按下
Ctrl/Cmd+Alt+C,或右键选择「DSH: 发送选中代码到会话」。代码以原子芯片形式插入到输入框当前光标处,提交时会展开为包含快照内容的<text-selection>标签。 - 发送文件/文件夹:在文件资源管理器中右键点击文件或文件夹,选择「DSH: 发送文件/文件夹到会话」。文件以路径芯片形式插入(如
@src/main.ts),提交时仅携带路径,不包含内容,模型按需读取。
3. 原子引用芯片与引用管理¶
- 插件将引用序列化为自包含的规范提及。引用管理轨道显示所有引用及其出现次数,支持一键删除某引用的所有芯片。
- 引用支持跨域回退:当同源桥不可用时,引用会降级到剪贴板粘贴识别,或纯文本回退,保证可用性。
4. 跨域支持与接管功能¶
- 通过插件内置反向代理实现同源,或配置网关子路径。默认路径为
/sidebar/vscode。 - 插件提供
openAsDefault开关。开启后,可以接管右侧边栏展开按钮的点击(在列折叠时),以及会话中文件链接和工具输出的文件点击,使其在嵌入的 VS Code 中打开,而非默认查看器。
5. 双语文本复制工具栏¶
工具栏提供中英双语文本的复制功能,并遵循 DSH 的外观风格(亮/暗/系统)。
安装与启用¶
此插件通过 DSH 的插件系统管理。无需额外的命令行安装步骤。
- 进入 DSH 设置页面。
- 导航至「插件」区域。
- 在
dsh-sidebar-vscode 的配置区编辑插件配置。配置项来源于插件入口的 volatileConfigschema。
典型用法¶
- 代码引用:在右侧边栏的 VS Code 工作台中选中一段代码,按
Ctrl/Cmd+Alt+C,代码片段会立即以芯片形式出现在对话框中。 - 文件引用:在文件资源管理器中右键点击项目中的
src/main.ts,选择发送,对话框中会出现@src/main.ts的引用芯片。 - 配置调整:在设置页面的对应配置区调整
openAsDefault等开关,以接管文件打开行为。
适用场景与注意¶
- 适用场景:需要频繁在对话中引用特定代码片段、文件路径或文件夹结构的智能体开发场景。特别是需要保持编辑器状态连续性(如未保存的修改)时,持久化工作台能显著提升效率。
- 注意:插件以当前 DSH 进程的权限运行。使用前请检查源码与许可证(MIT)。工作台逻辑依赖 iframe 的持久化渲染,若手动移除 iframe 上下文将导致工作台销毁。插件测试覆盖率为 477 passing (24 spec files)。
短结尾¶
dsh-sidebar-vscode 通过持久化嵌入和原子引用机制,将 VS Code 的开发体验无缝集成到 DSH 会话中,减少了上下文切换的开销。插件目录与 GitHub 仓库:https://github.com/chendefine/dsh-sidebar-vscode