c-ling / dsh-plugin-toolbox

Listed

DeepSeek Harness Web GUI 工具箱插件:打开工作区目录并置顶会话。

mainToolSession View source

Installation

npx @deepseek-ai/dsh plugin --profile web add "github:c-ling/dsh-plugin-toolbox#v1.0.0"

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit f1e1e0fSynced Aug 18, 2026

工具箱(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

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v1.0.0
Last updated
Aug 16, 2026, 3:38 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.