前言¶
在 DeepSeek Harness (DSH) 中,归档是用户手动触发的操作。当一个工作区的未归档会话被归档后,该工作区在侧栏的行并不会自动消失,导致列表中残留大量空工作区,挤占真正在用的工作区位置。
dsh-hide-empty-workspace 插件旨在解决这一问题。它将“工作区变空”转化为一个被动触发的信号:当某个工作区的未归档会话数从 1+ 掉到 0 时,侧边栏对应的行自动隐藏。该插件仅负责视觉上的清理,不触碰任何数据层。
插件定位¶
- 名称:
dsh-hide-empty-workspace - 维护者:
d0ublecl1ck - 定位:DSH Web 客户端插件,用于自动清理侧边栏中的空工作区。
- 核心逻辑:通过监听会话归档事件,检测未归档会话数量归零,仅通过修改 DOM
display属性实现隐藏。
安装与启用¶
安装该插件需要使用 DSH 的插件管理命令。
dsh plugin --profile web add dsh-hide-empty-workspace
安装完成后,刷新页面即可生效。如果需要从 GitHub 源码安装或本地开发调试,可以使用以下命令:
# 从 GitHub 直接安装
dsh plugin --profile web add https://github.com/d0ublecl1ck/dsh-hide-empty-workspace/tar.gz/refs/heads/main
# 本地路径安装
dsh plugin --profile web add /绝对路径/dsh-hide-empty-workspace
使用方式¶
插件提供多种触发和恢复机制:
- 自动隐藏:当某个工作区的最后一个未归档会话被归档时,该工作区行自动隐藏。
- 手动隐藏:悬停任意工作区行,点击行内「…」菜单中的「隐藏工作区」,立即生效。
- 恢复隐藏:点击侧栏底部的「已隐藏 N」按钮,打开官方恢复对话框,逐个恢复。
- 自动恢复:当某个被隐藏的工作区重新有了未归档会话时,插件自动取消隐藏状态。
安全边界¶
插件在设计和实现上严格遵守安全边界,不承担任何破坏性操作:
- 数据安全:不归档、不取消归档、不删除任何会话或工作区。
- 注册安全:不改写工作区注册,不动用
workspaces服务或settings.yaml。 - 网络隔离:插件不联网,不发送任何请求。
- 写入范围:唯一的数据写入操作是在浏览器
localStorage中记录隐藏集合(键名为dsh-hide-empty-workspace.hidden.v1)。清空该数据可恢复默认显示。 - UI 替换:不替换官方 UI。仅在官方已渲染的行上切
display属性,在工作区行菜单中追加选项,恢复入口使用官方Modal。若官方 UI 改版导致行标记失配,侧栏底部会显示提示信息。
结语¶
dsh-hide-empty-workspace 是一个轻量级的侧边栏清理工具。它通过“空即隐藏”的规则,帮助开发者保持侧边栏整洁,同时通过仅修改 display 属性和限制 localStorage 写入,保证了极高的安全性和兼容性。