c-ling
dsh-plugin-toolbox
DeepSeek Harness Web GUI 工具箱插件:打开工作区目录并置顶会话。
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
工具箱(dsh-plugin-toolbox)
DeepSeek Harness Web GUI 工具箱插件:在工作区行菜单中打开工作区目录,在会话行菜单中置顶会话,并在工作区列表上方显示独立置顶区。每个功能都能在「设置 → 工具箱」里独立开关。
功能
打开工作区目录
- 按工作区分组的侧边栏视图中,工作区行「更多」菜单首项增加 打开文件夹。
- 仅在页面为 loopback 且宿主声明
canOpenPath时显示;远程页面或 headless/容器宿主自动隐藏。 - 打开失败时在页面顶部显示短时 Toast。
会话置顶
- 分组视图和平铺视图的会话行「更多」菜单首项增加 置顶 / 取消置顶。
- 置顶集合是纯客户端偏好,不改写工作区原有的会话顺序。
- 置顶区位于工作区标题栏之下、会话列表之上,显示标题、所属工作区和状态点;点击打开会话,hover 显示取消按钮。
- 超过 5 条时显示「展开其余 N 项 / 收起」,展开状态持久化。
- 侧边栏收起时变为顶部图钉按钮,带置顶数,点击弹出置顶列表。
- 空白会话、未分组会话和已归档会话不可置顶;被归档或消失的会话自动取消置顶。
设置
- 设置弹窗左侧导航新增 工具箱 / Toolbox(顶层页面)。
- 两个独立开关,默认都开启:
- 打开工作区目录
- 会话置顶
- 关闭开关只隐藏对应 UI,保留已保存的置顶集合。
- 设置通过插件自有的 host 配置文件持久化(
$DSH_HOME/storages/dsh-plugin-toolbox/config.json)。
安装
从 GitHub 安装到 web profile(需要 pnpm 在 PATH 上;没有则用下面的 corepack 方式):
npx @deepseek-ai/dsh plugin --profile web add "github:c-ling/dsh-plugin-toolbox#v1.0.0"
或使用已有的 dsh 命令:
dsh plugin --profile web add "github:c-ling/dsh-plugin-toolbox#v1.0.0"
当 pnpm 不在 PATH 上时:
cd ~/.dsh/profiles/web
corepack pnpm add "github:c-ling/dsh-plugin-toolbox#v1.0.0"
dsh plugin把参数原样转发给 pnpm,直接从本仓库拉取包(pnpm 9+,本机需装有git)。 安装时若看到declares no dsh.bundle — installed as a plain dependency的提示属正常现象: 本插件不是 profile bundle 层,而是通过下面的 loader 行激活。
然后在 ~/.dsh/profiles/web/cordis.patch.yml 增加 loader 行:
- insert:
- id: dsh-plugin-toolbox
name: 'dsh-plugin-toolbox'
重启 dsh web(client-modules 对包判定缓存是进程级,新包必须重启宿主),然后硬刷新页面,
打开 设置 → 工具箱 即可看到两个开关。
验证
curl -s http://127.0.0.1:3080/plugins/dsh-plugin-toolbox/client.js | head -c 60
curl -s http://127.0.0.1:3080/dsh-plugin-toolbox/config
应打印以 window.__ModuleLoader__.load({ 开头的 factory bundle。
浏览器内确认:
- 打开 设置 → 工具箱,两个开关默认开启。
- 展开侧边栏,hover 工作区行,打开「更多」菜单,首项是「打开文件夹」。
- hover 会话行,打开「更多」菜单,首项是「置顶」;置顶后会话出现在工作区列表上方的置顶区。
- 在 设置 → General → Language 切换 English / 中文,工具箱页、菜单项和置顶区文案实时切换。
更新
dsh plugin --profile web add "github:c-ling/dsh-plugin-toolbox#v1.0.0"
# 或:npx @deepseek-ai/dsh plugin --profile web add "github:c-ling/dsh-plugin-toolbox#v1.0.0"
# 或:cd ~/.dsh/profiles/web && corepack pnpm add "github:c-ling/dsh-plugin-toolbox#v1.0.0"
用新的 #v<new-version> 重新执行安装命令即可升级依赖;cordis.patch.yml 中的 loader 行保持不变。
重启 dsh web,然后硬刷新页面。
卸载
cd ~/.dsh/profiles/web
corepack pnpm remove dsh-plugin-toolbox # 或 dsh plugin --profile web remove dsh-plugin-toolbox
同时删除 cordis.patch.yml 中对应的 insert 行,然后重启 dsh web。
已知限制
- 工作区行与会话行的「更多」菜单没有 SlotMap 槽位,本插件通过 DOM 注入菜单项,DSH 升级可能使其失效。详见
docs/adr/0001-dom-injected-row-menu-items.md。 - 「打开文件夹」只在按工作区分组的视图可见;平铺视图和搜索视图没有工作区行。
- 搜索视图的会话行没有更多菜单,因此不提供置顶入口。