前言¶
DSH 的会话越攒越多之后,最常见的问题是找不回来。某次排障的结论只存在一个已经归档的聊天里,标题记不清,只能翻列表或者重跑一遍。没有插件时,归档、搜索、备份这些动作要么只能靠 Host 自身能力零散处理,要么就得手动去数据目录里翻文件。下面介绍的 dsh-archived-chats 就是针对这个缺口的插件,由 Ultroncn 维护,把归档会话的搜索、整理和备份收到一个界面里。
它定位是本地优先的会话归档中心:不上传、不云同步,数据留在 DSH 主机上。仓库 README 对 1.6.0 的描述是「会话搜索、整理与备份」,社区目录将其归入「记忆」分类。
基本事实¶
- 插件名:
dsh-archived-chats,当前版本 1.6.0。 - 维护者:Ultroncn(npm 包 author 字段写作 Ultronen)。
- 许可证:MIT。
- 运行环境:Node.js 18 与 24,DSH 引擎要求
>=0.1.0-rc.7。 - 仓库:https://github.com/Ultroncn/dsh-archived-chats
- 目录页:https://www.skillhub.cn/plugins/Ultroncn/dsh-archived-chats
核心功能¶
插件的能力分三块:找、整理、备份。
1、搜索。在已归档会话中按标题、消息、工具结果、标签和备注做全文检索,命中后可以打开上下文。内容搜索的最小词长是两个字符,按批次扫描所选范围,显示进度、命中和失败项,支持停止与重试。未归档列表只搜标题或会话 ID。
2、整理。已归档和未归档两个视图分开管理,支持工作区分组、未分组会话、批量操作、标签和备注。归档与取消归档走 Host 的官方操作,删除类动作(单条、批量、工作区 Delete all、全局 Delete all)都需要确认,工作区删除不会动项目目录。
3、备份。导出 JSON + Markdown 的 ZIP;导入前可预览,遇到已存在的 ID 会跳过而不是覆盖。
页面划分如下:
| 页面 | 用途 |
|---|---|
| Archived | 搜索、过滤、预览、标签备注、导入导出、取消归档、确认后永久删除 |
| Unarchived | 普通工作区和未分组会话、预览、单个/工作区/全局归档 |
| Origins & Branches | 只读查看与归档会话相关的来源、fork 和子代理 |
| About | 自动更新检查、主机与本地检出检测、可复制的安装信息、主机支持的更新、手动残留检查 |
| Recycle Bin(有记录时出现) | 把旧版记录恢复到 Archived、导出保护快照、确认永久删除 |
Recycle Bin 只在存在记录时显示。1.6.0 起不再新增移入回收站的操作,也不再做自动过期清理,旧版记录和快照保留,需要时手动处理。
安装与启用¶
安装方式有两种。图形方式是在 DSH 插件市场里找到 dsh-archived-chats,确认作者是 Ultroncn 后安装,按提示重启宿主,再打开「设置 → 归档管理」。命令行方式如下,web 是示例 profile,换成你实际在跑的 DSH profile,更新和移除时用同一个 profile:
dsh plugin --profile web add dsh-archived-chats@latest
如果安装时报 ERR_PNPM_ADDING_TO_ROOT,在 add 后面加 -w。更新用:
dsh plugin --profile web update dsh-archived-chats
启用后数据落在 $DSH_HOME/plugin-data/archived-chats/,默认是 ~/.dsh/。插件不会上传或云同步聊天。
典型用法¶
README 给出的首次使用流程,按这个顺序走一遍即可验证插件是否正常:
- 打开 Unarchived,点会话标题预览,把想留的归档。空白新会话会被排除;正在运行的会话需要显式确认 Stop and archive。
- 在 Archived 里搜索,打开命中的标题或片段,从预览里编辑标签和备注。
- 点 Select,勾选会话,再点 Export selected;窄屏下这个动作在三点菜单里。导出后到浏览器下载目录确认 ZIP 是否拿到。
- 需要继续聊就 Unarchive。删除前先决定要不要留备份,删除是永久的,无法撤销。
残留会话检查是手动维护,不在打开页面时自动跑。路径是 About → Maintenance → Check residual chats,用来找出那种显式引用了父会话、但父会话已不存在的子代理。先预览或导出,再勾选并确认永久删除,执行时会重新校验资格。未分组会话、独立 fork、普通未归档会话和空白会话不在范围内。
备份有两种格式,用途不同:
| 格式 | 内容 | 用途 |
|---|---|---|
| 会话备份 ZIP | JSON、Markdown、标签、备注和附件引用;不含附件二进制,也不自动打包后代 | 用 Import backup 预览后恢复,已存在的 ID 跳过 |
| 旧版保护快照 ZIP | 旧版记录、校验过的会话负载和图片附件,每条 64 MiB | 留存旧版数据,普通会话导入器不接受这种格式 |
导出成功时,下载开始前会用和导入相同的格式与预算校验一遍,这适用于普通会话备份;保护快照走单独格式。看到「下载已开始」并不等于文件已保存,需要去浏览器下载目录确认。
适用场景与注意¶
适合自己维护大量 DSH 会话、需要在归档里检索旧结论、或者删除会话前习惯留一份本地备份的开发者。插件以当前 DSH 进程的权限运行,安装前建议先核对源码和许可证。
几条需要留意的边界:永久删除只移除会话和相关插件数据,不会清除全局的附件、缓存或外部备份;没有工作目录的会话仍留在 Archived 里;失败会保留可重试的任务。另外本插件属于社区目录收录的第三方插件,目录站点是独立站点,与 DeepSeek 无官方从属关系,需要自行确认来源可信度。
小结¶
dsh-archived-chats 解决的是会话「找得到、理得清、删之前有备份」这三件事,逻辑上是把本地数据整理到统一界面,不引入云依赖。如果已经在用 DSH 且会话积累到需要检索的程度,可以先按上面的安装命令试用,再根据自己的归档习惯调整标签和备份策略。
目录页:https://www.skillhub.cn/plugins/Ultroncn/dsh-archived-chats
GitHub:https://github.com/Ultroncn/dsh-archived-chats