前言¶
DeepSeek Harness (DSH) 的 Web 界面左侧会话列表在默认情况下只有重命名、分叉和归档操作,且必须点击行尾的 ⋯ 按钮才能唤出。dsh-session-actions 插件在不修改 DSH 源码的前提下,为该列表补充了快捷操作。
核心功能¶
该插件为 DSH Web 界面左侧会话列表提供了三项核心操作:
- 双击重命名:双击会话行(按钮除外),直接唤起 DSH 自带的重命名弹窗。
- 复制会话 ID:在行菜单中选择“复制会话 ID”,将 ID 写入剪贴板。菜单会自动关闭;若复制失败则保持打开状态。
- 永久删除会话:在行菜单中选择“删除会话”(红色高亮),二次确认后永久删除会话及其存储数据。这与“归档”不同,归档仅隐藏列表项,而删除会从物理存储上抹除数据。
安装与启用¶
该插件以 DSH bundle 形式提供。安装后,其 patch 层会在启动时自动插入 Loader 行。
dsh plugin --profile desktop add dsh-session-actions
安装完成后,在会话列表行上右键即可看到新增的菜单项。
典型用法¶
- 重命名会话:直接双击会话列表中的行,无需寻找行尾的
⋯按钮。 - 复制 ID:在会话行上点击右键,选择“复制会话 ID”。
- 清理会话:在会话行上点击右键,选择“删除会话”。系统会弹出二次确认框,确认后该会话将从列表中移除,且磁盘上的日志和投影缓存文件也会被清空。
注意事项¶
- 正在运行的会话不可删除:如果会话的 Agent 状态为
running,插件会拒绝删除操作。已打开但未运行的空闲会话可以正常删除。 - 附件不会被删除:插件仅删除会话日志、投影缓存和工作区记录,不会删除
$DSH_HOME/attachments/v1/objects/下的共享附件对象。 - 仅对 Web 界面生效:该插件仅对 DSH Web 界面生效。在无头 profile 下,宿主半边会作为空操作加载。
- 依赖渲染后的 DOM:插件通过读取 React fiber 的 props 获取会话 ID。若 DSH 更改行组件的 props 命名,插件功能会退化。
- 工作区记录回滚:直接修改
workspace.json可能被后续操作回滚,但 DSH 的会话索引有对账逻辑,列表不会残留幽灵行。
结尾¶
对于需要频繁整理会话列表的开发者,该插件通过提供右键菜单和双击操作,降低了管理会话的路径成本。所有操作均通过 DSH 自带的 API 进行,不依赖外部系统。