DeepSeek Harness (DSH) 采用插件化架构,日常开发中会积累大量会话。随着时间推移,未归档的会话会占据内存或存储空间,且难以检索。现有的归档机制较为基础。针对这一场景,出现了专门处理会话生命周期管理的插件。
dsh-archive-viewer 是一个归档增强插件,由 csiroqa 维护,归类于「记忆」类别。它的核心功能是自动定期归档空闲会话、整理文件夹、沉淀 LLM 摘要经验库,并提供归档会话的查看、恢复与一键关闭 dsh 的能力。
核心功能¶
- 自动定期归档:插件会扫描 host 半区,将处于非运行状态、最后活跃早于设定天数(默认 7 天)、未被 pin 且未被归档的会话自动移入归档区。归档操作是幂等的,日志、附件与工作区分组位置完整保留。
- 文件夹归档整理:提供树形文件夹结构,包含「全部归档」、「自定义文件夹」、「未分类」、「收藏」和「经验库」。支持新建、重命名、删除文件夹,并可将会话在文件夹间移动。归属关系持久化在
$DSH_HOME/archive_snapshots/folders.json。 - 批量操作:支持勾选多个会话后进行批量导出 ZIP、生成摘要、恢复(取消归档)或移动到指定文件夹。
- 查看与日志:支持直接读取归档会话日志(
session.history),也支持下载日志 ZIP 包,并支持分页加载更早的历史记录。 - 经验库沉淀:利用 LLM 生成结构化摘要(目标、关键决策、产出、可复用经验、遗留问题),以 Markdown + JSON 格式写入
$DSH_HOME/archive_snapshots/。面板提供「经验库」视图,支持全文检索与重新生成。 - 会话收藏与便签:支持对会话进行收藏标记和便签记录,收藏视图展示所有收藏会话(含未归档),数据持久化在
bookmarks.json。 - 皮肤全适配:插件使用 DSH 的 shell 设计令牌,自动跟随任意皮肤,避免面板被侧边栏样式覆盖。
- 系统控制:提供会话头部右上角的电源按钮,支持一键关闭 dsh(需核心补丁支持)。
安装与启用¶
前置要求:Node.js >= 22 和 pnpm。
git clone https://github.com/csiroqa/dsh-archive-viewer.git
cd dsh-archive-viewer
pnpm install
pnpm build
# 安装进 web profile(link: 指向本目录)
dsh plugin --profile web add link:$(pwd)
安装后需要重启 dsh web 并执行浏览器硬刷新。
典型用法¶
- 打开面板:在侧边栏底部(设置按钮上方)点击「已归档会话」打开管理面板。
- 浏览与操作:在左栏文件夹树中切换视图。点击会话卡片可查看对话、生成摘要、收藏/写便签、恢复或导出 ZIP。
- 批量操作:勾选多个会话后,底部会出现批量操作条,可进行批量生成摘要或导出。
- 经验库检索:在面板中切换到「经验库」视图,检索已生成的 LLM 摘要。
- 关闭 dsh:在会话头部右上角点击电源按钮,确认后关闭当前 dsh 进程。
注意与限制¶
依赖核心补丁:插件中的「恢复会话」和「一键关闭 dsh」功能依赖 DSH 核心补丁(workspace.unarchiveSession 和 host.shutdown RPC)。截至 2026-08,这两个 RPC 尚未包含在官方代码中。安装前需在 DSH 源码目录应用对应的 .patch 文件(位于插件目录的 patches/ 下),否则这些功能不可用。若 DSH 官方后续合入这两个 RPC,补丁将变为空操作,可安全跳过。
配置项:通过 cordis.patch.yml 中的 archive-viewer 插入行配置。
* autoArchiveEnabled: 控制自动归档开关(默认 true)。
* maxIdleDays: 设置空闲多少天后归档(默认 7 天)。
* scanIntervalMinutes: 扫描周期(默认 30 分钟)。
* summarizeEnabled: 控制自动生成摘要(默认 true)。
* provider / model: 配置用于生成摘要的 LLM 路由。
* 注意:生成摘要会消耗模型 token,每次会话完成或点击生成摘要都会发起一次请求。
数据存储:插件产生的数据(文件夹结构、书签、摘要)保存在本机 $DSH_HOME/archive_snapshots/ 目录下,请勿将该目录暴露给不可信进程。
总结¶
该插件通过结构化的归档管理,帮助开发者长期保存和检索会话内容。更多细节和源码请查看项目主页:GitHub。