在 DeepSeek Harness(DSH)的生态中,处理代码维护或复杂任务时,开发者往往需要在对话、文件编辑器和浏览器之间频繁切换。@yishengjun8/dsh-workspace-studio 插件旨在解决这一痛点,它将 DSH 的界面重构为左中右三栏布局,在对话流中直接提供类似 VS Code 的开发体验。
插件简介¶
该插件由用户 yishengjun8 维护,是一个单包客户端插件。它提供了工作区内的文件树浏览、内置编辑器、会话分支导图以及编辑器上下文注入能力。通过 CodeMirror 6 驱动的编辑器和智能的三方合并机制,插件确保在 AI 辅助开发过程中的文件修改安全可控。
基本信息¶
- 名称:
@yishengjun8/dsh-workspace-studio - 维护者:
yishengjun8 - 分类: 客户端
- Star 数: 2
- 版本: 1.0.30
- 许可证: 未定义
核心功能¶
1. 工作区文件浏览与预览标签页¶
插件将文件树融合进左侧栏,与会话列表通过顶部按钮互切。文件预览栏默认位于对话左侧,可在设置中切换到右侧。
- 标签页管理: 预览标签页按 Session 保存,支持关闭、拖拽重排、滚轮横向滚动。单击文件为临时预览(斜体),双击才转为正式标签。右键标签可固定或在新窗口打开。
- 渲染视图: 支持 Markdown(源码/预览切换)、HTML(源码/页面预览)、图片、只读文本。PDF 与 Office 文档需由 Host 提供文档转换服务。
- 编码支持: 自动检测 14 种编码(UTF-8, GBK, Big5 等),支持右键切换编码或另存为编码。
2. 打开即改的内置编辑器¶
编辑器基于 CodeMirror 6,打开文件即进入编辑状态,无需额外点击。
- 暂存盘机制: 所有编辑操作先写入暂存盘(
~/.dsh-plugin/dsh-workspace-studio/drafts/<workspaceId>/),源文件全程不被触碰。 - 三方合并: 保存时,插件会比较源文件与暂存盘内容。若源文件未改则静默写回;若双方修改位置不同则自动合并;若冲突则弹窗展示对比,供用户选择保留哪一版。
- 差异可视化: 编辑器提供行号、语法高亮和差异色标(绿色新增、蓝色修改、红色删除),以及类似 VS Code 的折叠箭头。
- 滚动条刻度: 预览列右侧滚动条加宽,并在轨道背景上绘制变更刻度(绿色段、蓝色段、红色线),仅支持 Chromium 内核。
3. 会话分支导图¶
点击会话头部的「导图」按钮进入导图模式,将对话流转化为可视化的思维导图。
- 分支管理: 首次进入时将会话转换为导图会话。点击中间轮次的卡片可 fork 新分支。右键卡片可重命名或删除(真截断,移除该卡片及之后的所有内容)。
- 流式可视化: 生成中的会话会显示带有炫彩渐变光环的卡片,流式输出完成后恢复正常状态。
- AI 摘要: 支持为每轮提问生成摘要(可在设置中启用),支持单独重新生成。
4. 编辑器上下文注入¶
允许将当前打开的文件或选中的代码片段直接注入到对话中。
- 注入方式: 使用
<opened_file>标签注入整个文件内容,使用<selection>标签注入选区内容。 - 命令支持: 以
/plan等命令开头的提示同样携带上下文,确保模型看到的是文件/选区与用户输入的结合。
典型用法¶
-
浏览与编辑:
在左侧栏切换到文件浏览视图,双击打开项目中的配置文件或代码文件。在预览区直接修改代码,保存时插件会自动处理与磁盘文件的合并。 -
导图模式:
点击会话列表中的「导图」按钮,进入导图视图。此时右侧聊天保持可见,可继续对话。在导图中点击任意轮次卡片可 fork 新分支,进行针对性的修改。 -
上下文引用:
在编辑器中打开文件后,模型会自动获取文件内容。你也可以手动在输入框中使用<opened_file>或<selection>标签来明确引用特定内容。
限制与依赖¶
在使用该插件时,请注意以下限制:
- 文件类型限制: 拒绝二进制文件、非 UTF-8 编码文件以及工作区外的符号链接。
- 只读文件: 截断的大文件、混合换行文件以及经过符号链接的路径在编辑器中为只读。
- Host 服务依赖: PDF 与 Office 文档(.doc, .ppt, .xls 等)的预览需要 Harness Host 提供文档转换服务。
- 浏览器内核依赖: 滚动条刻度功能依赖 Chromium 内核(Chrome / Edge / 桌面端),在 Firefox 上仅显示基本滚动条。
结尾¶
@yishengjun8/dsh-workspace-studio 为 DSH 用户提供了一个从对话到代码编辑的完整工作流解决方案。如果你正在寻找一种能将 AI 对话与本地文件编辑无缝结合的开发环境,可以查阅其 GitHub 仓库 或 社区目录 获取更多信息。