dsh-session-actions: DeepSeek Harness 会话列表操作插件

前言

DeepSeek Harness (DSH) 的 Web 界面左侧会话列表在默认情况下只有重命名、分叉和归档操作,且必须点击行尾的 ⋯ 按钮才能唤出。dsh-session-actions 插件在不修改 DSH 源码的前提下,为该列表补充了快捷操作。

核心功能

该插件为 DSH Web 界面左侧会话列表提供了三项核心操作:

  1. 双击重命名:双击会话行(按钮除外),直接唤起 DSH 自带的重命名弹窗。
  2. 复制会话 ID:在行菜单中选择“复制会话 ID”,将 ID 写入剪贴板。菜单会自动关闭;若复制失败则保持打开状态。
  3. 永久删除会话:在行菜单中选择“删除会话”(红色高亮),二次确认后永久删除会话及其存储数据。这与“归档”不同,归档仅隐藏列表项,而删除会从物理存储上抹除数据。

安装与启用

该插件以 DSH bundle 形式提供。安装后,其 patch 层会在启动时自动插入 Loader 行。

dsh plugin --profile desktop add dsh-session-actions

安装完成后,在会话列表行上右键即可看到新增的菜单项。

典型用法

  1. 重命名会话:直接双击会话列表中的行,无需寻找行尾的 ⋯ 按钮。
  2. 复制 ID:在会话行上点击右键,选择“复制会话 ID”。
  3. 清理会话:在会话行上点击右键,选择“删除会话”。系统会弹出二次确认框,确认后该会话将从列表中移除,且磁盘上的日志和投影缓存文件也会被清空。

注意事项

  • 正在运行的会话不可删除:如果会话的 Agent 状态为 running,插件会拒绝删除操作。已打开但未运行的空闲会话可以正常删除。
  • 附件不会被删除:插件仅删除会话日志、投影缓存和工作区记录,不会删除 $DSH_HOME/attachments/v1/objects/ 下的共享附件对象。
  • 仅对 Web 界面生效:该插件仅对 DSH Web 界面生效。在无头 profile 下,宿主半边会作为空操作加载。
  • 依赖渲染后的 DOM:插件通过读取 React fiber 的 props 获取会话 ID。若 DSH 更改行组件的 props 命名,插件功能会退化。
  • 工作区记录回滚:直接修改 workspace.json 可能被后续操作回滚,但 DSH 的会话索引有对账逻辑,列表不会残留幽灵行。

结尾

对于需要频繁整理会话列表的开发者,该插件通过提供右键菜单和双击操作,降低了管理会话的路径成本。所有操作均通过 DSH 自带的 API 进行,不依赖外部系统。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜