DSH 插件 dsh-workspace-enhance:把 Web 侧栏改成工作区文件夹列表

前言

DSH(DeepSeek Harness)的插件体系强调“一切皆插件”。在 Web 界面里,默认侧栏主要承担工作区浏览的职责。dsh-workspace-enhance 把这个侧栏替换为工作区文件夹列表:每个文件夹展开后有任务、文件、Git 三个子 Tab,并提供右侧文件预览面板。

对于需要在任务会话、文件内容和 Git 状态之间频繁切换的开发者,这类侧栏增强可以让信息集中在同一界面查看。社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不建议把它理解为官方应用商店。

这是什么

dsh-workspace-enhance 是一个 DSH 插件,仓库 owner 为 luis1232023。它的定位是 DSH Web 界面的侧栏工作区增强插件:将默认 DSH 工作区浏览器替换为工作区文件夹列表,并在每个工作区文件夹下提供任务、文件、Git 三个子 Tab,另加右侧文件预览面板。

它要求 node >= 18,许可证为 MIT。插件包含 client 半边和 node 半边:client 半边运行在浏览器中,node 半边运行在宿主进程中。插件声明 dsh.bundle.patch,安装时会自动向 profile 配置树注入一行插件配置。

核心功能

任务列表

  • 每个工作区文件夹展开后,可以看到该工作区下的任务。
  • 任务列表按最近更新排序。
  • 任务行支持打开、重命名、归档、彻底删除会话。
  • “彻底删除”由 host 直接删除会话日志目录,不可恢复。
  • 文件夹支持新建任务、重命名、删除工作区。
  • 顶部按钮可用于添加工作区。

文件树与预览

  • 文件树以工作区文件夹为根,支持懒加载、逐目录缓存、展开折叠。
  • 隐藏文件默认过滤,可通过工具栏菜单显示或隐藏 dot 文件。
  • 文件列表上限为 2000 条。
  • 点击文件后,在右侧预览面板打开。
  • 预览支持代码语法高亮与行号。
  • Markdown 支持渲染和源码切换。
  • 图片可预览,二进制文件显示占位提示。
  • 大文件预览仅取前 512 KB。
  • 源码预览中的原始 HTML 会被转义,用于防 XSS。

Git 视图

  • Git 子 Tab 提供 Changes 与 Graph 只读视图。
  • 支持分支切换、提交详情和 diff 语法高亮。
  • Git 功能只读,覆盖 logshowstatusbranches,没有写操作。
  • Git diff 超过 256 KB 时会提示截断。

侧栏与视图

  • 侧栏支持搜索。
  • 支持按工作区视图和平铺列表视图切换。
  • 支持排序和折叠 rail 模式。
  • 视图模式与每个文件夹的子 Tab 选择会持久化。
  • 每个文件夹的子 Tab 有错误边界隔离;出错时会显示错误和重试入口。

安装与启用

先在插件目录的上级目录执行添加命令。这里的 file:./dsh-workspace-enhance 表示使用本地目录安装:

dsh plugin --profile web add file:./dsh-workspace-enhance

添加插件后,停止当前 web 实例,再执行下面命令重启生效:

dsh web

重启后,可以用下面两个命令确认 bundle 和配置树:

Invoke-WebRequest http://127.0.0.1:3080/plugins/dsh-workspace-enhance/client.js
dsh --profile web --dump-config

如果要禁用插件,在 profile 的 cordis.patch.yml 中写入插件 id 和 disabled: true

- id: dsh-workspace-enhance
  disabled: true

写入后重启 dsh web

典型用法

1、启动 DSH Web 后,在左侧查看工作区文件夹列表。

2、展开某个工作区文件夹,选择任务、文件或 Git 子 Tab。

3、在文件树中点击文件,右侧会打开预览面板;按 Esc 或关闭按钮可关闭预览。

4、在 Git 子 Tab 中切换分支,查看提交详情和 diff。

5、开发 client 半边时,可以先执行构建或监听:

npm run build

或者:

npm run watch

client 半边改动通过 HMR 热加载;node 半边(lib/index.js)改动必须重启 dsh web

适用场景与注意

适合在 DSH Web 中同时管理工作区任务、文件浏览和 Git 只读查看的开发者。如果只是想替换默认工作区浏览器为更结构化的文件夹列表,这个插件比较直接。

使用前建议检查源码和 MIT 许可证。插件的 node 半边会运行在当前 dsh 进程权限下,因此不要在不信任的目录或不明来源的插件包上直接启用。

需要注意的边界如下:

  • node 运行环境要求 node >= 18
  • Git 功能只读,不执行写操作。
  • 任务彻底删除不可恢复。
  • 文件列表上限 2000 条。
  • 大文件预览仅取前 512 KB。
  • Git diff 超过 256 KB 会提示截断。
  • 原生目录选择器在远程或进程内部署可能不可用,添加工作区会回退为手动输入路径。
  • pnpm 安装 file: 依赖是打包拷贝,不是符号链接;构建会同步 lib 到 profile node_modules

链接

  • GitHub 仓库:https://github.com/luis1232023/dsh-workspace-enhance
  • 插件目录线索:https://www.skillhub.cn/plugins/luis1232023/dsh-workspace-enhance
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜