
Ultronen/dsh-archived-chats
dsh-archived-chats
dsh-archived-chats is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-archived-chats@latestRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-archived-chats)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from Ultronen/dsh-archived-chats, cleaned of badges and images.
dsh-archived-chats
English | 中文
⚡ 删除即生效,无需重启。 即使会话仍驻留在后台,也会沿官方生命周期当场安全拆除并从磁盘彻底删除——点下删除的那一刻就删干净,而不是"停用后等下次重启"。
为 DeepSeek Harness 新增一个「已归档的聊天」设置页,把被归档的会话重新找回来。
在 DeepSeek Harness 里,聊天一旦归档就会从侧边栏消失,界面中没有任何入口可以再看到它,只有工作区存档(~/.dsh/storages/workspace.json)还记得它。这个插件在「设置」中补上一个「已归档的聊天」页面,让所有归档会话都可见、可搜索、可管理。
🚀 安装
dsh plugin --profile web add dsh-archived-chats@latest
安装后重启一次 DSH,然后打开 设置 → 已归档的聊天。
更新已有安装:
dsh plugin --profile web update dsh-archived-chats
兼容性
0.9.0 版本以 DeepSeek Harness 0.1.0-rc.7 作为自动化兼容性基线。插件注册的是顶层 settings.section,因此 rc.7 针对 settings.plugin.item 的 keyed-slot 变更不影响本插件;同时已在 Harness 0.1.0-rc.8 上完成真实宿主页面复核,覆盖归档列表、搜索、元数据编辑、批量与分组操作以及备份导入预览。以后 Harness 发布新版本时,仍应在发布插件更新前重跑冒烟测试并检查真实宿主页面,因为客户端插槽和设计令牌契约仍可能演进。
预览
以下截图均来自 0.9.0 在本地 DeepSeek Harness 0.1.0-rc.8 Web profile 中的实际操作。
使用流程
- 在 DSH 正常聊天的会话菜单中点击归档。归档只会把会话从侧边栏隐藏,工作区存档仍会保留会话数据。
- 打开 设置 → 已归档的聊天。页面按工作区分组,并在当前浏览器中记住分组的折叠状态。
- 搜索、筛选或排序会话;需要多选时点击 批量选择 显示复选框,完成后会自动恢复简洁列表。也可打开某一行的元数据编辑器添加标签与备注,或使用分组菜单执行项目级操作。
- 点击顶部 导入备份 选择本插件导出的 ZIP,预览后确认无冲突会话;点击 导出备份 导出当前选中项,未选择时导出全部归档会话。单条会话也可以从行内操作导出。
- 点击 取消归档 将会话放回侧边栏;只有确实需要永久删除时才点击 删除,确认弹窗会明确显示受影响的范围。全部删除 收纳在顶部 更多 菜单中。
功能
- 完整归档列表:按工作区(项目)分组并显示每组数量;每个分组都可折叠/展开,状态按浏览器记忆。
- 搜索与排序:按标题、项目名、标签和备注内容搜索,用类型(全部 / 普通会话 / 子代理会话)、项目和标签筛选,并按最新、最早或标题排序。
- 标签与备注:任意行打开编辑器即可添加最多 8 个标签(每个最多 24 个 Unicode 字符)和一条备注(最多 2,000 个 Unicode 字符)。每行渲染标签小徽章,超过 3 个折叠为
+N,标签筛选不区分大小写。 - 存储统计:概览条显示归档数量、已统计总大小与无法统计的会话数;每行显示各自占用。统计不会跟随符号链接,无法读取的会话目录显示为「无法统计」而非让请求失败。
- JSON + Markdown 备份:可导出单条、当前选中项或全部归档会话。每个 ZIP 都包含带版本的清单、用于机器恢复的完整会话 JSON,以及方便阅读的 Markdown 对话稿。
- 预览后导入与恢复:选择 ZIP 备份后先检查全部会话,默认选中无冲突 ID 的项目,确认后作为已归档聊天恢复。已有 ID 会跳过,绝不会覆盖。
- 紧凑顶部操作:常用的 导入备份 / 导出备份 直接可用,低频危险操作收纳在 更多;页面专注于 DSH 归档管理,不常驻来源选择器或冗余菜单。
- 按需多选:复选框默认隐藏,点击 批量选择 后才显示;可逐条选择、选择当前筛选结果或整个项目。选中后可一次导出、取消归档或永久删除,隐藏在其他筛选结果中的选择不会丢失。
- 取消归档单个聊天,或从分组的
⋯菜单整组取消——恢复的聊天会立刻回到侧边栏。 - 删除单个聊天、某个项目分组或全部(全部删除),均有确认弹窗。删除是彻底的:会话日志从磁盘移除、从工作区记录中摘除、注册表内存索引同步清理,主侧边栏的条目也会立即消失。
- 仍驻留后台的会话也当场删除:插件按官方生命周期的拆除顺序原地停用并注销会话(取消 → 静默 → 落盘 → 拆纤程 → 摘出注册表),持久层随之释放写入通道,同一次请求内即完成物理删除——无需重启。若当前 DSH 版本不提供所需内部接口,则自动回退为「永久停用 + 下次启动完成删除」,停用期间会话保持隐藏。
- 适配浅色/深色主题,支持中文和英文界面。
标签、备注与统计
标签和备注只保存在本机的 $DSH_HOME/plugin-data/archived-chats/metadata.json 中——不会被上传、同步或发送到任何其他地方。取消归档会保留元数据;物理删除完成后会移除它,而延后或失败的删除会保留它。元数据与统计失败永远不阻塞:即使元数据存储无法读取或某个会话目录无法统计,列表、取消归档和删除仍然可用。
导出与备份
导出只会触发本地浏览器下载。单条和批量使用同一种 ZIP 格式:
manifest.json
sessions/001-<安全标题>-<id>/session.json
sessions/001-<安全标题>-<id>/transcript.md
session.json 是权威备份记录:原样保存 Harness 持久层返回的完整元数据和事件,并附带归档标题、工作区、时间、来源、标签、备注和存储统计。transcript.md 是通过 Harness 官方消息投影生成的可读副本。ZIP 路径会净化并处理重名,批量导出逐个会话生成,不会同时把所有会话内容堆进内存。
JSON 会保留附件引用,但本版不复制附件二进制,也不包含子会话。需要带完整附件的会话树时,请使用 Harness 官方的 Session log 导出。
导入与恢复
导入只接受本插件版本一的导出 ZIP。浏览器会先上传并进行有界校验,然后展示标题、项目、标签、备注、存储信息、ID 冲突、项目不存在警告和附件引用警告;预览不会渲染原始事件或 Markdown。已有会话 ID 会被禁用并跳过,找不到的项目会恢复为未分组。确认令牌 10 分钟后过期且只能使用一次。标签和备注通过现有本地元数据限制恢复,不会恢复附件二进制。宿主没有可用的 Harness 写入能力时返回 restore-unsupported,不会写入任何数据。
常见问题
<b>归档会删除聊天吗?</b>
不会。DSH 只是把聊天从侧边栏隐藏,并保留归档会话记录。这个插件提供设置页,用来查找、导出、恢复、取消归档或删除这些记录。
<b>导入备份包含已存在的会话 ID 时会怎样?</b>
冲突行会在预览中明确标记,默认禁用并跳过。导入流程绝不会覆盖已有会话。
<b>ZIP 备份包含附件吗?</b>
session.json 会保留附件引用,但不会包含附件二进制或子会话。需要完整附件会话树时,请使用 Harness 官方 Session log 导出。
<b>删除仍在运行的会话需要重启吗?</b>
…

