前言¶
DeepSeek Harness(DSH)的 Web GUI 侧边栏支持两种会话展示方式:按工作区分组(workspace)与平铺会话列表(flat)。默认路径通常要经过视图选项菜单才能切换。若你经常在多工作区与平铺列表之间来回看会话,多几次菜单操作会打断节奏。下面介绍的 dsh-sidebar-toggle 是维护者 john-walks-slow 发布的客户端插件:用全局快捷键或点击侧边栏分组标题,直接调用宿主原生 setGroupBy,与菜单切换保持同一套状态。
这是什么¶
dsh-sidebar-toggle 面向 DSH Web 界面,解决「侧边栏分组模式切换路径偏长」的问题。插件不新增分组逻辑,只复用 Cordis 槽位 sidebar.workspaces 上的 WorkspaceViewStoreHandle,在 workspace 与 flat 之间来回切换。Host 侧 apply 为空实现,交互全部在浏览器端 lib/client.js 完成;npm 包当前版本为 0.1.0,许可证 MIT。
核心功能¶
快捷键 Alt+R¶
在页面任意位置按下 Alt+R 即可切换分组模式(workspace ↔ flat)。插件会检测输入法组合输入状态(e.isComposing || e.keyCode === 229),避免在中文等 IME 选词时误触发。
点击分组标题¶
侧边栏顶部标题(中文「会话」/「工作区」,英文 Sessions / Workspaces,对应选择器 [class*="sectionHeader"] [class*="sectionLabel"])会显示手型指针,悬停时透明度变为 0.8。单击标题文本即可切换;若标题处于隐藏态 sectionLabelHidden,则忽略点击。
状态与日志¶
每次切换调用宿主 actions.setGroupBy(),并在浏览器控制台输出一行日志,例如:
[dsh-sidebar-toggle] groupBy: workspace -> flat
[dsh-sidebar-toggle] groupBy: flat -> workspace
安装与启用¶
推荐从 npm 安装预构建包,无需额外改配置;自带的 cordis.patch.yml 会自动挂载,刷新 Web 页面即可使用:
dsh plugin --profile web add dsh-sidebar-toggle
若要从 GitHub 源码安装(包内含 prepare 构建,pnpm ≥ 10 首次安装可能需要放行构建脚本):
dsh plugin --profile web add github:john-walks-slow/dsh-sidebar-toggle
# 若 pnpm 拦截构建脚本,按提示执行 pnpm approve-builds 或将 dsh-sidebar-toggle
# 加入 ~/.dsh/profiles/web/pnpm-workspace.yaml 的 allowBuilds / onlyBuiltDependencies 后重跑
典型用法¶
- 安装并刷新 DSH Web 页面。
- 需要平铺看全部会话时,按
Alt+R,或点击侧边栏「会话」/「Sessions」等分组标题。 - 需要按工作区分组时,再按一次
Alt+R或再次点击同一标题。 - 打开开发者工具控制台,可核对
[dsh-sidebar-toggle] groupBy: ...日志是否与界面一致。
本地调试可将插件以 link: 接入 web profile:
dsh plugin --profile web add link:/path/to/dsh-sidebar-toggle
适用场景与注意¶
适合谁:长期在 DSH Web GUI 中管理多工作区、又需要快速在平铺列表与分组视图之间切换的开发者。
权限与兼容:纯客户端插件,零 npm 运行时依赖;无外部服务、无网络请求、无本地文件读写、不读取会话内容。Store 解析带 try/catch;侧边栏未挂载或 DOM 结构变化时操作静默空转,不阻断页面。停用或热重载时通过 ctx.effect 与 window.__dshSidebarToggle.dispose() 移除监听与注入样式。
安装前建议:插件随当前 DSH 进程与 Web 环境加载,安装前应自行查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的使用习惯。DSH 社区插件目录(SkillHub 插件页)由社区维护,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-sidebar-toggle 把侧边栏 workspace / flat 切换收成 Alt+R 或一次标题点击,并与宿主视图菜单共用同一状态。更多信息见目录页 skillhub.cn/plugins/john-walks-slow/dsh-sidebar-toggle 与源码 github.com/john-walks-slow/dsh-sidebar-toggle。