dsh-archived-session-delete:为归档会话提供永久删除

前言

在 DSH Web 侧边栏里,会话归档后通常会以灰色行保留在列表中,便于日后查阅,但本地仍会占用日志目录、归档登记与投影缓存等空间。宿主默认侧重「归档」而非「从本机彻底移除」,若你只想清理已归档且确认不再需要的对话,往往缺少一条带预检、可二次确认的官方式入口。下面介绍的客户端插件 dsh-archived-session-delete(维护者 HuiHuanYe)在归档会话的右键或 ⋯ 菜单中增加「删除归档会话」,经确认后在本机永久删除权威日志及相关登记,并通知已连接页面更新列表。

这是什么

dsh-archived-session-delete 是分类为「客户端」的 DSH Web 插件:在侧边栏归档会话的上下文菜单中增加永久删除操作;删除采用 fail-closed 策略,会拒绝仍在使用中的会话,并清理子 agent 日志、归档项与派生缓存。仓库:github.com/HuiHuanYe/dsh-archived-session-delete;社区目录页:skillhub.cn/plugins/HuiHuanYe/dsh-archived-session-delete。许可 MIT,与 DSH 0.2.2-rc.1 对齐验证,运行环境要求 Node ≥ 24;README 记载 35 个测试通过。插件以当前 DSH 进程权限操作本机会话存储,安装前宜自行审阅源码与许可证。

核心功能

  1. 入口与交互:仅在归档会话的右键菜单或行尾 ⋯ 中显示;菜单由 DSH 原生菜单服务承载(键盘导航、焦点、危险样式由宿主处理)。确认框说明永久删除且不可撤销,支持 Esc、遮罩关闭与焦点循环。
  2. 删除范围:删除权威会话日志目录(含历史代际)、origin: 'subagent' 子会话日志、workspace 归档登记、session_projcache 投影缓存,并广播 api-session/removed,使已连接页面即时移除该行。
  3. 删除前预检:校验归档状态;全程持有写声明;检查后台 jobs 与定时 schedule;目录内存在未知文件则放弃删除。子会话先删、祖先最后;子会话失败会阻塞祖先以便重试。
  4. 明确不删除:附件为内容寻址且可能跨会话共享,无删除 API;SQLite 搜索索引为派生库,下次搜索时会自动对账。
  5. 安全边界:不提供 agent 工具,不可撤销操作仅保留用户手势入口;中英双语界面。

Host 端通过认证通道注册 POST /api/archived-sessions.delete,仅接受已认证的 owner Peer。常见结构化错误码包括 session-not-archived、session-pending、session-in-use、session-scheduled、work-check-unavailable、storage-unsupported 等,客户端按码做本地化提示。

安装与启用

插件无构建步骤。任选其一:

从 GitHub 安装(CLI profile)

dsh plugin --profile <name> add github:HuiHuanYe/dsh-archived-session-delete

从本地目录安装(已持有仓库副本时)

在 DSH → 设置 → 插件 → 从目录安装 中选择插件目录;或使用:

dsh plugin --profile <name> add 'link:<绝对路径>'

说明:桌面 profile 由 Electron 独占管理,宜用插件设置页操作。安装后若未热加载,重启一次 DSH;在插件页移除 Bundle 即可卸载,已删除的会话不会恢复。

典型用法

  1. 侧边栏打开 视图选项 → 会话筛选,选「全部对话(显示已归档)」或「仅显示已归档」。
  2. 在灰色归档会话上右键,或点行尾 ⋯,选择 删除归档会话。
  3. 在确认框中点击 永久删除;成功后会有释放空间类提示,该行从列表消失。

若浏览器请求超时,删除可能在 Host 端仍会继续;稍后刷新侧边栏确认状态。

适用场景与注意

适合:长期在本机使用 DSH、归档会话积累较多、且需要在二次确认后彻底释放日志与归档登记空间的用户。

限制(以 README 为准):

  • 新建后未发消息的未落盘会话会拒绝删除(session-pending)。
  • 旧格式需迁移的会话会拒绝删除(migration-required)。
  • 请求体按 64 KiB 上限处理;/api 桥接层另有总量限制,且仅 owner 可访问。

DSH 生态强调「一切皆插件」;SkillHub 等社区目录由社区维护,与 DeepSeek / 幻方无官方从属关系。本插件在分类上属于客户端扩展,星标数为目录所示当前值,能力以仓库 README 与 release 为准。

结尾

dsh-archived-session-delete 补足了归档会话在本机的「可确认、可预检、不可通过 agent 误触」的永久删除路径,与 DSH 0.2.2-rc.1 会话持久化、workspace 登记模型一致。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。

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

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

小夜