Back to home

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 工具箱插件:在工作区行菜单中打开工作区目录,在会话行菜单中置顶会话,并在工作区列表上方显示独立置顶区。每个功能都能在「设置 → 工具箱」里独立开关。

English

dsh-plugin topic license

功能

打开工作区目录

  • 按工作区分组的侧边栏视图中,工作区行「更多」菜单首项增加 打开文件夹
  • 仅在页面为 loopback 且宿主声明 canOpenPath 时显示;远程页面或 headless/容器宿主自动隐藏。
  • 打开失败时在页面顶部显示短时 Toast。

会话置顶

  • 分组视图和平铺视图的会话行「更多」菜单首项增加 置顶 / 取消置顶
  • 置顶集合是纯客户端偏好,不改写工作区原有的会话顺序。
  • 置顶区位于工作区标题栏之下、会话列表之上,显示标题、所属工作区和状态点;点击打开会话,hover 显示取消按钮。
  • 超过 5 条时显示「展开其余 N 项 / 收起」,展开状态持久化。
  • 侧边栏收起时变为顶部图钉按钮,带置顶数,点击弹出置顶列表。
  • 空白会话、未分组会话和已归档会话不可置顶;被归档或消失的会话自动取消置顶。

设置

  • 设置弹窗左侧导航新增 工具箱 / Toolbox(顶层页面)。
  • 两个独立开关,默认都开启:
    • 打开工作区目录
    • 会话置顶
  • 关闭开关只隐藏对应 UI,保留已保存的置顶集合。
  • 设置通过插件自有的 host 配置文件持久化($DSH_HOME/storages/dsh-plugin-toolbox/config.json)。

安装

从 GitHub 安装到 web profile(需要 pnpmPATH 上;没有则用下面的 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 webclient-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。

浏览器内确认:

  1. 打开 设置 → 工具箱,两个开关默认开启。
  2. 展开侧边栏,hover 工作区行,打开「更多」菜单,首项是「打开文件夹」。
  3. hover 会话行,打开「更多」菜单,首项是「置顶」;置顶后会话出现在工作区列表上方的置顶区。
  4. 在 设置 → 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
  • 「打开文件夹」只在按工作区分组的视图可见;平铺视图和搜索视图没有工作区行。
  • 搜索视图的会话行没有更多菜单,因此不提供置顶入口。

许可证

MIT