在设置里增加已归档会话页,可按工作区搜索、恢复和删除已归档会话。
安装
# npm 包(预构建)
dsh plugin --profile web add @michengai/dsh-archive-manager
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:MichengAI/dsh-archive-manager
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH Archive Manager
在 DeepSeek Harness 中安全管理已归档会话
English · 更新日志 · Apache-2.0
DSH Archive Manager 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。
你可以用它做什么
把暂时不用的会话收起来,需要时再找回,让日常任务列表更清爽。
- 归档会话:收起单条聊天,或整个工作区的未归档聊天。
- 找回历史:搜索标题与正文,组合项目、收藏和日期筛选,按时间、标题或轮次排序。
- 恢复任务:恢复单条、选中的会话或整个项目;可全选当前筛选结果后批量操作。
- 清理记录:确认后永久删除不再需要的归档会话,查看批量进度并重试剩余项。
- 整理重要会话:收藏常用聊天,预览闲置归档候选,保护收藏与活跃任务。
- 查看与排障:不恢复即可快速预览,复制会话 ID/路径,诊断异常并定向修复支持的旧日志。
本文对应 1.0.0 版本,完整功能清单与升级边界见更新日志。
异常会话诊断与修复
归档页自动汇总读取异常,展开「诊断与修复」可查看原因和处理建议。点击「诊断会话」,符合规则时再点击「确认修复」。当前支持旧自动化来源,以及早期的参考文档提示和工作约定来源,保留原日志与正文。修复要求会话已归档且未在任何 DSH 进程中打开;文件缺失、权限问题与未知损坏只给出处理建议,不删除或截断日志。
检索与预览
已归档与未归档统一支持标题/正文搜索、日期、项目、收藏及创建时间排序;两边均可通过星标收藏和取消收藏。未归档的正文命中点击打开完整会话。
快速预览默认以 Markdown 排版展示,支持表格、引用与代码块,区分用户和助手;可切换为原文与关键词高亮。
在搜索框左侧选择「标题与正文」,可搜索当前页签会话中的用户和助手文本;默认仍只搜索标题。
搜索框右侧「日期」可选择或清除更新时间范围;项目、收藏和更新时间范围可组合使用;结束日期包含本地当天。已归档和未归档页均支持正文搜索与这些筛选条件。
正文命中显示片段和关键词高亮;已归档页点击片段或「更多 → 快速预览」查看上下文,不恢复会话;未归档页点击片段打开完整会话。没有关键词时预览最近八条消息,有关键词时定位首个命中附近。
检索逐批读取,每批最多 20 条会话,批内逐条读取;关键词最多 200 字符。预览每条最多 2000 个 UTF-16 码元,截断保留完整 Unicode 字符,较长内容请打开完整会话。
搜索与预览不包含工具输出、附件、推理、系统或插件注入消息;读取失败会显示详情并支持重试。检索的是持久化原始文本,不等同于模型当前上下文。
未建立持久化全文索引,大量或超长会话可能需要较久,建议先缩小项目、日期或收藏范围;尚无可承诺的会话数量上限或响应时延;更改条件会停止后续批次,正在读取的单批仍会完成,但旧结果不会覆盖新筛选。
轮次与定位
- 已归档和未归档列表均在时间旁显示轮次。每条用户提交消息算一轮,包括图片消息;助手回复、工具调用和插件注入不计入。
- 排序菜单新增「轮次最多/轮次最少」,轮次相同按更新时间及标题排序。读取失败显示「轮次未知」,放在已知轮次之后,并提供失败明细和重试。
- 每行「更多」菜单提供「复制会话 ID/复制会话路径」。官方 JSONL 存储复制会话目录,其他后端复制宿主提供且存在的文件路径;路径缺失会提示,不猜测路径。
- 详情每批读取最多 20 条,不激活或恢复会话。统计来自原始日志;分支中继承的用户消息也计入。较多长日志可能需要等待,未建立持久化轮次索引。
- 剪贴板需要 HTTPS 或本机地址及浏览器权限;复制失败会明确提示,不显示成功。
界面预览
在「设置 → 归档会话 → 已归档」检索、收藏、预览、恢复和清理:

切换到「未归档」,使用相同筛选条件整理会话,预览闲置归档或按项目批量归档:

截图来自发布前开发版,界面中版本标识为 0.1.44;本次发行版本为 1.0.0。侧栏由当前安装的 UI 插件提供,不代表本插件新增的侧栏功能。
前置条件
- 已能正常使用 DeepSeek Harness Web,并可在终端运行
dsh。 - 当前支持 DSH
0.1.2-rc.1、0.1.5-rc.1、0.1.5-rc.2、0.1.5-rc.3、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2;其他版本暂未纳入支持范围。 - Node.js 版本需满足
^22.19.0 || >=24.0.0;从源码安装还需要 pnpm。
安装
以下示例使用 web profile,请替换为你实际使用的 profile。
让 Agent 帮你安装
把下面这段话发给能执行本机终端命令的 Agent:
请将 @michengai/dsh-archive-manager 最新版安装到本机 DSH 的 web profile,使用官方 npm 源。安装后检查插件配置,并告诉我如何重新加载 DSH、进入归档会话管理页。
手动安装
在 PowerShell 中执行:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/
安装后重启 DSH Web,并按 Ctrl+Shift+R 硬刷新浏览器。打开「设置 → 归档会话」即可使用。
使用
| 你想做什么 | 操作 |
|---|---|
| 归档一条会话 | 打开侧栏会话菜单,选择「归档会话」 |
| 归档整个工作区 | 打开工作区菜单,选择归档该工作区的会话 |
| 查找归档 | 打开「设置 → 归档会话」,选择标题/正文搜索,组合项目、收藏和日期筛选 |
| 调整排列顺序 | 按更新时间、创建时间、标题、轮次最多/最少排序 |
| 恢复一条会话 | 点击会话右侧的恢复图标;更多菜单可「恢复打开」 |
| 归档某个项目或未分组 | 在「未归档」页点击分组右侧“…”菜单,确认归档该组全部聊天;不受搜索筛选影响 |
| 收藏会话 | 点击行右侧星标,使用收藏下拉菜单筛选 |
| 快速查看归档内容 | 点击命中片段或「更多 → 快速预览」 |
| 整理闲置会话 | 在未归档页设置天数,预览、检查候选后确认归档 |
| 定位会话文件 | 在更多菜单复制会话 ID 或路径 |
| 处理读取异常 | 展开诊断与修复,先诊断,再按资格确认修复 |
| 跨项目批量归档 | 切换到「未归档」,跨项目勾选会话后点击「归档」并确认 |
| 批量恢复或删除 | 勾选会话后使用批量操作;也可使用项目菜单;页面不再提供独立的全部恢复/全部删除按钮 |
页面默认打开「已归档」,右侧「未归档」用于批量归档。切换 TAB 会清空选择;切换搜索或项目筛选会保留已选会话。批量操作前留意隐藏的已选数量,或先清空选择。
收藏与闲置整理
会话使用紧凑分组列表,点击项目标题可以折叠;右侧提供星标和恢复/归档图标,已归档会话的「更多」菜单提供恢复打开和删除。折叠只影响展示,「全选当前筛选结果」仍包含折叠组内符合筛选的会话。
- 在已归档或未归档会话行右侧点击星标,通过收藏下拉菜单中的「只看收藏」找回重要会话。收藏保存在宿主数据中,归档、恢复或更换浏览器不会清除;其他页面修改的收藏可在重新打开管理页后读取。
- 在「未归档」设置 1~36500 的整数闲置天数,结合当前项目、搜索、日期和收藏筛选,点击「预览闲置归档」。确认清单允许逐条取消,默认排除收藏、当前打开、正在执行(含子代理)以及等待交互的会话;缺少有效最后活动时间的会话不参与。
- 归档前再次检查收藏和活动状态。批量归档、恢复、删除显示进度与成功/跳过/失败/未处理数量;首个失败后停止,支持只重试剩余项。删除重试仍需确认。
- 「撤回本次归档」只恢复最近一批实际归档成功的会话,包括该批重试成功的部分。仅在本次打开管理页期间有效,关闭页面或刷新会清除记录;不会撤回原有归档,也不能恢复永久删除的会话。
- 收藏会话仍可手动归档;收藏保护只针对闲置整理。没有定时自动归档,不会在后台自行整理。
「全选当前筛选结果」只选择符合当前条件的会话。项目菜单的整体操作仍作用于该项目全部会话,不受搜索筛选影响。未归档页排除子代理和空白占位会话。
设置页与侧栏的批量归档、批量恢复均串行调用单条接口:归档在所有支持的宿主走官方 ctx.workspaces.archiveSession;恢复在 DSH 0.1.6+ 走官方 ctx.workspaces.unarchiveSession,更早宿主回退到本插件的 workspaceRegistry.unarchiveSession。
查看并继续归档对话
原生会话导航自 0.1.40 起提供,1.0.0 的操作入口如下:
- 点击会话标题:打开 DSH 原生会话页,查看消息、附件和工具详情;可直接继续聊天,保持归档状态。
- 更多菜单 → 恢复打开:取消归档后进入原会话,继续工作。
检索接口兼容约定(集成开发者)
正式入口为 workspaceRegistry.searchSessionContent({ sessionIds, query }),支持已归档与未归档会话。输入为 1~20 个会话 ID 和 1~200 字符非空关键词,ID 去重后处理。成功返回 { items: [{ sessionId, seq, snippet }], failures: [{ sessionId, message }] };单条读取失败进入 failures,参数不合法则拒绝整个调用。
searchArchivedContent 是旧客户端兼容入口,仅接受归档范围,保持原有语义。两者通过宿主 Typert 的既有连接与权限边界调用,无新增 HTTP 端点或鉴权配置。当前受支持版本范围内保留旧描述符,不在补丁版本移除;只有未来明确收窄兼容范围、完成客户端迁移并发布弃用说明后才删除。新客户端优先使用正式入口,旧入口仅用于旧版本回退;不应向两个入口重复发送同一检索。
更新
在归档管理页标题处点击「检查更新」。支持自动更新的 DSH CLI 或 Desktop 环境可直接更新;其他环境会提供适用于当前 profile 的手动命令。也可重新执行上面的安装命令。
常见问题
安装后找不到入口?
先重启 DSH Web 并硬刷新浏览器,确认安装到了当前使用的 profile。仍未显示时,执行:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh --profile web --dump-config
配置中应包含 workspace-archive-manager 和 ui-workspace-archive-manager。DSH 0.1.6+ 上官方 ui-settings-unarchive-sessions 应为 disabled: true,设置里只保留本插件的「归档会话」。若曾在 profile 的 cordis.patch.yml 中手动将官方 ui-workspace 设为 disabled: true,请移除该禁用覆盖,再重启。
归档和删除有什么区别?
归档只是收起会话,可以恢复。永久删除无法撤销,并可能一并清理该会话的附件;不会删除你的项目工作目录。删除前会要求确认。
可以和 Codex UI 一起使用吗?
可以。保留 Codex UI 的侧栏样式和交互,归档管理仍在「设置 → 归档会话」中。
遇到其他问题,请提交 Issue,附上 DSH 与插件版本、复现步骤和错误信息。
从源码安装
在你选择的源码目录中执行以下命令。未推送的本地改动需使用已有工作副本。
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
git clone https://github.com/MichengAI/dsh-archive-manager.git
Set-Location .\dsh-archive-manager
pnpm install --frozen-lockfile
pnpm build
dsh plugin --profile web add .
完成后重启 DSH Web 并硬刷新浏览器。业务源码统一在 src 中使用 TypeScript 严格模式;共享协议在 contracts.ts,宿主版本适配在 host-compat.ts、client-compat.ts,客户端组件与状态类型在 client-types.ts。lib 是本地构建目录,不纳入 Git,也不直接编辑;prepack 会在打包前自动构建,npm 包仍包含 lib。pnpm typecheck 检查业务源码和类型负例,pnpm test 先检查类型、构建再执行回归,pnpm verify 还执行兼容矩阵、打包和生成物不被 Git 跟踪的检查。测试与构建脚本继续使用 .mjs;对外发布仍为 JavaScript,不要求宿主加载 TypeScript。
DSH 产品生态
想使用桌面工作台,可下载 DSH Codex Desktop;已有 DeepSeek Harness 环境,可按各项目 README 按需安装。以下列出 11 个自研插件;桌面端实际随附范围以对应版本的发行说明和内置清单为准。
| 插件 | 你可以用它做什么 |
|---|---|
| Codex UI | 整理项目与会话、搜索任务、跳转对话轮次 |
| Agency Agents | 按任务选择并召唤专业角色 |
| Skills Manager | 统一查找、启停、创建和导入本机技能 |
| Archive Manager | 搜索、恢复或清理已归档会话 |
| IM Connect | 从消息平台下任务、收回复 |
| Automation | 按计划执行任务,查看每次运行的结果 |
| BTW | 在当前上下文中临时旁问,不打断主任务 |
| Simplify | 用 /simplify 整理 Git 改动范围内的代码 |
| PUA | 引导 Agent 在失败时换方法、查原因,并在完成前验证结果 |
| Code Review | 用 /review 发起独立 Agent 代码审查,在当前会话接收报告 |
| Codex Pet | 通过桌面宠物查看会话提醒、处理工具审批和问题回答 |
许可证
本项目采用 Apache License 2.0。
链接
同类插件
Minglink/dsh-infinite-gen-4★ 2222
DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
liangmianya/dsh-synapse★ 463
DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
ranxianglei/billion-context★ 450
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
Nwflower/dsh-chat-import★ 207
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
Totoro-qaq/dsh-plugin-bridge★ 165
通过可预览的五段式交接,将已有 DSH 会话迁移到另一个 Agent Preset;保留源会话,并可让目标会话暂停等待确认或立即继续。
Anionex/dsh-turn-rewind★ 125
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。