前言¶
在 DSH 的 Web 会话页里,对话、工具调用和工作区文件经常需要来回切换:一边要查看当前会话正在操作的文件,一边又要确认 Git 状态与变更差异。dsh-ui-workbench 是 DeepSeek Harness 的 WebUI 插件,它把当前会话工作区的文件树、文件查看器和 Git 审查面板放到会话页右侧,让 Web 端不需要额外打开本地编辑器也能完成基础审查。
下面介绍这个插件的定位、功能、安装方式和适用边界。
这是什么¶
LoftyTao/dsh-ui-workbench 由 LoftyTao 维护,许可证为 MIT,状态为 Experimental。它属于 DSH 的 Client 类插件,面向 web profile 下的 DSH Web Client,能力范围是当前会话工作区的文件浏览与 Git 审查。
简单来说,它做的事情是在 DSH 会话页右侧增加一个 Workbench 面板:
- Host 侧提供
/sidebar/api/*路由。 - Browser 侧提供 Workbench 面板。
- 通过会话作用域的 DSH Host 工作区服务访问文件与 Git 状态。
- 不保存凭据。
- 提供工作区审查界面,不承担 Git 提交、凭据保存或通用文件编辑职责。
核心功能¶
文件树与文件查看¶
插件可以在当前会话工作区内展示文件树,并支持按文件名搜索。打开文件后,提供带行号、语法高亮和长行换行的 UTF-8 文件查看器。
这个能力主要用于在会话过程中快速确认文件内容,尤其是当模型正在修改某个文件、导入某个资源或生成某个结果时,可以在右侧直接查看对应文件。
Git 差异审查¶
插件支持查看 Git 状态与差异,覆盖:
- 已暂存文件。
- 未暂存文件。
- 未跟踪文件。
- 提交引用。
差异视图支持统一视图和并排视图,也可以按变更文件筛选,并折叠上下文。这样在会话中审查一次代码改动时,不需要切到终端手动执行 Git 命令后再回来看。
主题与语言适配¶
插件支持中英文与亮暗主题适配,主题跟随 DSH 外观设置实时切换。
内置了霞鹜新晰黑屏幕阅读版补全字体,用于改善屏幕阅读体验。
Typst 实时预览¶
插件支持 .typ 文件的 Tinymist 风格 rich SVG 实时预览。
Typst 预览依赖 Harness Host 环境中的 typst 可执行文件。通常要求 typst 位于 Harness Host 的 PATH 中;如果不在 PATH 中,也可以通过 DSH_TYPST_BIN 指定 Typst 可执行文件的绝对路径。
如果还需要加载其他字体目录,可以使用 Typst 标准环境变量 TYPST_FONT_PATHS 显式增加目录。
安装与启用¶
安装前需要准备:
- Node.js
22.19+ - 带
webprofile 的 DeepSeek Harness
然后使用下面的命令安装 v0.3.0 tag:
npx -y --package @deepseek-ai/dsh dsh plugin --profile web add github:LoftyTao/dsh-ui-workbench#v0.3.0
该命令会把插件加入 web profile。使用 v0.3.0 tag 可获得 Typst 实时预览、热重载、Git 审查和亮暗主题特性。
如果在源码仓库中进行本地检查或源码安装,也可以使用下面的命令:
dsh plugin --profile web add ./plugins/client/dsh-ui-workbench
安装或构建后,可以用下面的命令查看 web profile 的配置:
dsh --profile web --dump-config
典型用法¶
下面是一个比较直接的使用路径。
1、启动带 web profile 的 DeepSeek Harness,进入 DSH Web Client 的会话页。
2、在会话页右侧打开 Workbench 面板,查看当前会话工作区的文件树。
3、在文件树中搜索文件名,或打开某个文件,使用带行号、语法高亮和长行换行的查看器查看内容。
4、切换到 Git 审查相关视图,查看已暂存、未暂存、未跟踪文件或提交引用中的差异。
5、如果工作区中有 .typ 文件,打开该文件查看 Typst 实时预览。预览依赖 Harness Host 可执行文件 typst,或依赖 DSH_TYPST_BIN 指定的绝对路径。
6、切换 DSH 外观设置或语言设置时,面板会跟随 DSH 主题与语言状态进行适配。
源码边界与本地检查¶
插件的代码边界比较明确:
- 浏览器端只能通过
src/client/api.ts访问 Host。 - Git 命令集中在
src/git.ts。 - 文件系统访问集中在
src/fs.ts。
Host Config 当前为空对象。面板宽度由 Browser 状态管理;主题读取可用的 DSH theme 服务并观察 DSH DOM 主题标记;语言读取 DSH 文档状态。
在源码仓库中,可以运行下面的检查和打包校验命令:
pnpm check
pnpm pack:check
这些命令用于源码侧的类型、测试和包产物检查。具体验收以仓库内脚本与文档为准。
适用场景与注意¶
适合使用 DSH web profile、希望在 Web 会话页直接查看当前工作区文件和 Git 差异的开发者。如果你的工作流中经常出现以下情况,这个插件会比较有用:
- 需要在会话过程中快速查看模型正在操作的文件。
- 需要确认当前会话工作区内的文件变化。
- 需要查看未暂存、未跟踪文件或提交引用中的差异。
- 需要预览
.typ文件。
需要注意几点:
- 该插件状态为
Experimental,许可证为MIT。 - 适用范围是
webprofile、DSH Web Client 和当前会话工作区。 - 它提供工作区审查界面,不承担 Git 提交、凭据保存或通用文件编辑职责。
- 插件以当前 DSH 进程权限访问工作区文件与 Git 状态,安装前应检查源码和许可证。
- 不保存凭据。
- Typst 预览以当前会话工作区作为
--root,因此导入和资源访问不会越过工作区边界。 - 需要 Node.js
22.19+与带webprofile 的 DeepSeek Harness。
结尾¶
dsh-ui-workbench 的价值在于把文件查看、Git 差异审查和 Typst 预览放进 DSH WebUI 的会话页右侧,让 Web 端在同一个会话界面里完成一部分工作区审查。
相关链接:
- GitHub:
https://github.com/LoftyTao/dsh-ui-workbench - 社区插件目录线索:
https://www.skillhub.cn/plugins/LoftyTao/dsh-ui-workbench(该 URL 来自插件线索,未在本次资料中直接确认)