dsh-archived-manager:在 DSH 设置页统一管理已归档会话

前言

DeepSeek Harness(DSH)里会话多了之后,「归档」会把会话从侧栏藏起来,但磁盘上的会话日志目录通常还在。本体可以取消归档、也可以继续归档,却缺少一个集中视图:哪些归档还占着空间、哪些只剩 id 没有目录、想「彻底不要这条会话」和「暂时藏起来但以后还能找回来」也不是同一回事。社区插件 dsh-archived-manager(维护者 chen1pengvincent,SkillHub 分类为「记忆」)在 设置 → 归档会话 提供列表、检索、批量操作,以及可恢复的隔离区与可选保留期,操作都在本机 DSH Host 内完成。

这是什么

dsh-archived-manager 是 DSH(DeepSeek Harness)插件,在设置页管理 archived sessions:调用 DSH 原生 unarchiveSession 取消归档、把会话移入可恢复隔离区、或仅删除会话日志目录;并支持搜索、筛选、排序与隔离区自动清理。仓库:github.com/chen1pengvincent/dsh-archived-manager;目录页:skillhub.cn/plugins/chen1pengvincent/dsh-archived-manager。当前资料中的版本为 v0.2.1,许可证 MIT。

插件说明里强调:DSH 的「归档」已是隐藏并保留文件;若只从归档集合移除,会话会重新出现在侧栏。因此「移入隔离区」会把目录移出 sessions/ 并从工作区账本解绑,使所有 DSH 列表(含「显示已归档」)都不再显示该会话,文件仍保留在隔离区并可恢复。

核心功能

已归档页签

  • 取消归档:与 DSH 本体一致,文件原地保留,会话回到侧栏。
  • 移入隔离区(保留文件):有文件的会话目录整体移到 ~/.dsh/archived-manager/trash/<批次>/,列表中不再出现,可恢复。
  • 彻底删除:只删除会话日志目录(不可恢复),并清理归档 id 与工作区归属;项目文件与共享附件不受影响。
  • 清理失效记录:目录已不存在、只剩归档记录时,仅清记录,不删任何文件。

列表每行展示标题、工作区、最后使用、归档于、会话目录体积(彻底删除可释放的空间),以及「文件在盘 / 文件缺失」等状态徽章。支持按标题、工作区、ID 搜索;按全部 / 有文件 / 文件缺失筛选;按最后使用、归档时间、体积、标题排序;全选仅作用于当前可见结果。批量与危险操作经模态确认;彻底删除需勾选「我已知晓不可恢复」,并显示数量与将释放体积。

隔离区页签

单条或批量恢复(文件移回原路径并挂回工作区)、单条或批量彻底删除、清空隔离区。可选隔离区自动清理保留期:永不(默认)或 7 / 30 / 90 天;保存策略后会清理过期条目。

本地与安全

所有操作在本机 Host 内完成,无遥测、无外部网络请求;HTTP 接口仅接受回环请求,POST 需带 x-archived-manager: 1 自定义头。插件使用 DSH 公开 API(如 unarchiveSession()),不手写 workspace.json。运行中的会话拒绝删除;恢复后需刷新页面或重启 DSH 侧栏才会更新。

归档时间由插件写入 archive-times.json(DSH 本身只保存 id 集合);首次运行前已存在的归档 id 显示「未记录」。附件目录 <DSH_HOME>/attachments/ 为跨会话共享,插件只展示总量,不随会话删除。

安装与启用

要求:DSH Desktop 2.0.17+(资料记载内核 0.2.1-rc.2 实测),Node.js 20+。

  1. 打开 设置 → 插件 → 安装,填入 GitHub spec:
github:chen1pengvincent/dsh-archived-manager#v0.2.1
  1. 安装完成后完全退出并重开 DSH(macOS 上为 ⌘Q),再 Cmd+Shift+R 硬刷新页面。
  2. 入口在 设置 → 归档会话。

升级时将上述 tag 换成新版本重新安装;卸载在 设置 → 插件 卸载 dsh-archived-manager 后重启。卸载后隔离区目录会保留,可手动删除。开发时可使用本地链接安装:link:/absolute/path/to/dsh-archived-manager(路径换成你的 checkout)。

典型用法

  1. 打开 设置 → 归档会话,在「已归档」页签查看指标卡(有数据时显示已归档会话数、可释放空间、文件缺失、隔离区等)。
  2. 用搜索与筛选缩小列表,勾选需要处理的会话。
  3. 需要回到侧栏且保留文件:确认 取消归档。
  4. 需要从一切列表中消失但保留文件以便日后恢复:确认 移入隔离区(仅处理有文件的记录)。
  5. 确认不再需要会话日志且接受不可恢复:勾选确认后 彻底删除;若所选全是「文件缺失」,改用 清理失效记录。
  6. 在「隔离区」页签恢复误移会话,或设置 7 / 30 / 90 天保留策略后保存;也可手动删除或清空隔离区。

Host 还提供本机 HTTP API(如 GET /archived-manager/list、POST /archived-manager/unarchive 等),仅供回环调用,一般用户以设置页为准。

适用场景与注意

适合长期使用 DSH、归档会话较多、需要看清磁盘占用并在「恢复侧栏」「可恢复隐藏」「永久删日志」之间明确区分的开发者。SkillHub 等社区目录与 DeepSeek / 幻方无官方从属关系,安装前建议阅读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限操作本机 DSH_HOME 下的 sessions 与插件数据目录。

已知限制(来自 README):隔离区默认不自动清理;同一 DSH_HOME 仅建议单实例;运行中会话须先停止再删;多实例并发时文件移动可能互相影响。

结尾

dsh-archived-manager 把归档会话从「只能在本体里零散取消归档」扩展为可检索、可批量、带隔离区与保留策略的管理页,并在界面与安全策略上区分会话日志、共享附件与项目文件。详情与 issue 见 GitHub:https://github.com/chen1pengvincent/dsh-archived-manager;插件介绍页:https://www.skillhub.cn/plugins/chen1pengvincent/dsh-archived-manager。

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

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

小夜