DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

MichengAI /

MichengAI/dsh-archive-manager

Verified

DSH Archive Manager — 在 DeepSeek Harness 中安全查看、恢复和管理已归档会话 · Safely view, restore, and manage archived sessions in DSH

★ 356 Stars19 Forks1 IssuesN/A Community rating1 Confirmed installs
View on GitHubProject homepage
READMESource: main@0663b5ef

DSH Archive Manager

DSH Archive Manager

在 DeepSeek Harness 中安全管理已归档会话

English · Русский · 更新日志 · Apache-2.0

许可证:Apache-2.0 npm package npm 下载量 DSH Web Plugin DSH 支持至 0.2.2-rc.1

DSH Archive Manager 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。

本文描述 1.1.17。已发布变更见更新日志。

功能概览

把暂时不用的会话收起来,需要时再找回,让日常任务列表更清爽。

  • 多视图与侧栏直达:支持开启主侧边栏直接导航入口,在主工作区以 960px 居中版心 展开「已归档」与「未归档」完整大面板,告别狭窄弹窗。
  • 全生命周期管理:支持单条会话归档、全工作区一键归档、跨项目批量归档、单条/批量恢复并打开会话。
  • 侧栏全行右键操作:支持直接右键点击侧栏工作区行或会话行空白处唤起专属操作菜单;未分组工作区行与空白未落盘会话行优雅放行系统原生右键菜单,杜绝误触新建或星标。
  • 侧栏星标对齐与状态点共存(#90, #92):收藏星标对齐 16×16px 宿主标准尺寸,通过绝对定位精确复用前导插槽位置,消除侧栏会话标题左右微小抖动;当会话处于运行中或等待交互时,原生状态指示点保持 100% 可见,星标自适应转为右下角 10px 金色角标,实现状态与收藏完美共存,保护原生选择器与第三方皮肤插件兼容性。
  • 工作区快捷操作菜单:侧栏工作区提供快速「复制目录」、「打开目录」(在系统文件管理器 Windows Explorer / macOS Finder 中直接打开)及一键「归档会话」。
  • 会话跨工作区移动:会话操作菜单支持级联悬停子菜单直接跨工作区迁移会话,采用进程锁静默停靠与原子级改写校验,投影缓存即时预热彻底消除临时“未命名”,安全兼容含冒号的 IM 会话。
  • 一体化抽屉与 40px 超紧凑列表:工作区分组采用与技能管理同款的一体化卡片抽屉设计,折叠顶栏(高 38px)与下方列表融为一体;会话列表项行高超紧凑化至 40px,信息密度显著提升。
  • 暗黑模式原生复选框规范:复选框严格回归宿主原生原语 Checkbox 规范,使用原生 accent-color 完美适配深色模式(深暗底色与品牌蓝选中态),根除白底白勾刺眼方块 bug。
  • 模态弹窗防穿透与本地化无障碍:宽版预览弹窗直挂 body 根节点消除局部包含块限制,配合实色底与毛玻璃高斯模糊彻底杜绝文字穿透重叠;全量弹窗右上角 X 关闭按钮完整支持三语本地化无障碍标签(common.close)。
  • 纯净自适应单行工具栏:采用宿主原生 Input 原语,内置官方放大镜图标与绿色呼吸聚焦边框,自适应弹性撑满;控件按「输入框、查询条件、所有项目、时间选择」极简单行排列,锁死盒模型杜绝溢出重叠。
  • 全文联合检索与 Codex 复合菜单:默认自动联合搜索标题与正文历史(用户与助手消息);将会话筛选(全部/只看收藏)与排序收归为 Codex 风格两段式复合菜单,完全采用宿主原生对勾原语。
  • 轻量单字段日期胶囊与日历浮层:彻底告别原生日期选择器的暗黑模式反白与失焦缺陷(#74),单行展示时间范围;浮层支持快捷预设、中英俄三语原生排版,以及完备的 WAI-ARIA 键盘无障碍漫游(上下左右键、Home/End、PageUp/Down 及月末夹紧)与高亮区间实时拉伸预览。
  • 智能闲置会话整理:自定义闲置天数,自动分析并排除正在运行、等待交互及已收藏的关键会话,支持预览候选后确认归档,并提供误操作撤回机制。
  • 永久彻底清理:确认后永久删除不再需要的会话,彻底清除物理日志、索引与缓存,支持错误项独立重试。
  • 无主孤儿子代理检测与物理清理:自动探测母会话已被外部物理删除的残留子代理,在会话整理中直观展示空间占用并支持一键物理释放。
  • 设置页 ID 规范与第三方插件共存(#91):设置页注册 ID 调整为团队统一规范的 archive-manager 并带 fail-soft 运行时保护,支持与社区第三方归档插件和平共存。
  • 可控在线更新与反向代理适配:提供独立在线更新开关与企业级宿主配置硬锁定;原生适配反代子路径前缀部署。

手动重建列表缓存(#88)

打开归档管理后,仅从头部及官方缓存轻量检测登记工作区、未分组及归档中的普通冷会话(前置排除 IM 渠道特殊会话)。官方缓存缺失、生命周期或格式不兼容、或标题投影不可用时,整理区域显示「重建列表缓存」卡片;没有候选就不显示。

点击后逐条只读完整日志,调用官方 coldSnapshot 重建全部已注册投影,并保存至官方 session_projcache。不扫描旧插件域、不搬运 JSON、不激活会话/Agent、不调用模型,也不改变归档和定时任务。活动会话跳过,失败项可单独重试;操作反馈提供「完成」按钮并支持自动收起;完成后刷新官方列表并重新检测。保存确认超时表示结果未知,不代表已取消;删除操作仍与迟到写入安全排队。关闭页面只停止后续请求,已发送的那一条会在服务端完成。

孤儿子代理清理

当母会话在外部或通过系统被物理删除后,其衍生生成的子代理可能残留于磁盘中。归档管理器在「会话整理」面板中会自动检测是否存在此类无主残留,精准识别并展示占用空间,支持一键安全释放磁盘。

检索与预览

  • 已归档与未归档统一支持标题/正文搜索、日期、项目、收藏及创建时间排序;两边均可通过星标收藏和取消收藏。未归档的正文命中点击打开完整会话。

  • 快速预览默认以 Markdown 排版展示,支持表格、引用与代码块,区分用户和助手;可切换为原文与关键词高亮。

  • 搜索框默认直接联合搜索当前页签会话中的标题与正文历史(包含用户和助手文本),无需手动切换范围。

  • 搜索框右侧「日期」可选择或清除更新时间范围;项目、收藏和更新时间范围可组合使用;结束日期包含本地当天。已归档和未归档页均支持正文搜索与这些筛选条件。

  • 正文命中显示片段和关键词高亮;已归档页点击片段或「更多 → 快速预览」查看上下文,不恢复会话;未归档页点击片段打开完整会话。没有关键词时预览最近八条消息,有关键词时定位首个命中附近。

  • 检索逐批读取,每批最多 20 条会话,批内逐条读取;关键词最多 200 字符。预览每条最多 2000 个 UTF-16 码元,截断保留完整 Unicode 字符,较长内容请打开完整会话。

  • 搜索与预览不包含工具输出、附件、推理、系统或插件注入消息;读取失败会显示详情并支持重试。检索的是持久化原始文本,不等同于模型当前上下文。

  • 未建立持久化全文索引,大量或超长会话可能需要较久,建议先缩小项目、日期或收藏范围;尚无可承诺的会话数量上限或响应时延;更改条件会停止后续批次,正在读取的单批仍会完成,但旧结果不会覆盖新筛选。

界面预览

1. 归档设置管理面板(一体化抽屉与暗黑模式适配)

在「设置 → 归档会话 → 已归档」体验一体化抽屉卡片、40px 超紧凑行高、原生暗黑 Checkbox 及统一检索筛选:

已归档会话:统一检索筛选、收藏与超紧凑列表

切换到「未归档」,智能分析并预选闲置会话,支持一键安全归档与项目批量操作:

未归档会话:智能闲置整理与项目批量归档

2. 主工作区大面板(侧边栏直达)

开启侧边栏入口后,点击左侧主导航即可在主工作区以 960px 居中版心展开完整大面板:

主工作区大面板:侧边栏独立入口展开 960px 居中视图

3. 原生侧边栏全行右键与级联菜单

在侧边栏任意工作区行或会话行上直接右键,即可唤起快捷操作菜单与跨工作区移动级联子菜单:

工作区快捷菜单(复制/打开目录) 会话跨工作区移动(悬停级联)
工作区操作菜单 会话移动菜单

截图展示核心功能面板、主工作区大视图与侧边栏原生右键增强,采用高保真无损 WebP 格式。

安装

需要已安装并能正常运行 DeepSeek Harness。以下命令使用 web profile,请按实际环境替换。

插件安装支持 npm registry、本地构建的 .tgz 包和 GitHub。GitHub 与 npm 都包含可直接运行的 lib。改动源码后,提交前请先运行构建。

让 Agent 帮你安装

把这段话发给能够操作本机终端的 Agent:

请把 @michengai/dsh-archive-manager 最新版安装到我的 DSH web profile,使用官方 npm 源,安装后确认生效并告诉我如何重新加载。

手动安装

[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 硬刷新浏览器),打开「设置 → 归档会话」即可使用。更新时可点击「检查更新」,或重新执行安装命令。

  • 宿主支持范围:DeepSeek Harness 0.2.x 全系列(>=0.2.0-rc.1 <0.3.0-0),已在 0.2.x 的全部 RC(0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.1~0.2.1-rc.5、0.2.2-rc.1)上验证。同一 RC 线中间的 alpha 不在支持范围内,请使用 RC 或最新 alpha。
  • 不再支持 0.2.0-rc.1 之前的早期宿主,遇到 0.3.0 代际破坏性更新时将被版本门安全拦截。仍在使用 0.1.x 的用户请安装插件 1.0.20。
  • 反向代理部署:支持将 DSH 部署在带路径前缀的反向代理后面(如 /app/dsh/),插件 API 与更新检查端点统一自动按页面基址(document.baseURI)相对解析,避免丢失代理路径前缀导致 404。

插件配置与可选开关

插件遵循 DSH 官方扩展配置规范,配置项位于:

主界面侧边栏「插件」→ 点击 Archive Manager 详情页(对应宿主 plugins.bundle.config 槽位)。

此处提供原生配置项:

1. 入口展示位置 (entryLocation)

  • 选项范围:
    • 全部显示 (both):在左侧主导航栏显示「归档」图标,同时在「设置 → 归档会话」中保留菜单。
    • 仅侧边栏 (sidebar):仅在左侧主导航栏显示「归档」图标,设置菜单中自动卸载隐藏,界面更精炼。
    • 仅设置 (settings)(默认):仅在「设置 → 归档会话」中显示,侧边栏保持极简。
  • 防止失联保障:采用互斥的三选一分段选择器,杜绝两处入口同时关闭导致面板失联的痛点。
  • 生效效果:
    • 侧边栏开启时,点击即可直达归档中心,并在主工作区以 960px 居中版心(对齐官方插件管理与市场规范)展开完整大面板,彻底告别在设置弹窗狭窄视口内滚动的局限;
    • 切换为「仅设置」关闭侧栏时安全注销侧栏槽位(若当前正停留在归档大面板,会自动安全切回默认视图,防止悬空和白屏);
    • 向后完全兼容旧版 sidebarEntry 配置(true 自动映射为 both,false 自动映射为 settings)。

2. 在线更新 (onlineUpdate / updater)

  • 默认状态:开启(true)
  • 功能说明:控制是否允许在线检查并安装归档管理器的新版本。
  • 生效效果:
    • 界面联动:关闭开关后,归档管理面板标题旁的「检查更新」按钮与版本提示徽标将即时隐藏,无需刷新页面;开启后自动恢复展示;
    • 接口安全拦截:关闭后,服务端的更新路由对任何版本检查和安装请求均返回 HTTP 403 禁用状态,彻底杜绝在插件内安装未审核版本;
    • 宿主/平台级锁定:面向精选插件索引(如 VibeDev)或企业安全合规环境,支持直接在 Cordis 配置文件(bundle patch)中声明,无需进入界面手动配置:
      updater: false # 或 onlineUpdate: false
      
      配置生效后,更新器在启动时即被完全禁用,更新入口隐藏,详情页在线更新开关置灰。宿主锁定优先于本地配置中的用户选择,界面不能解除锁定;宿主移除锁定后,重新按已保存的用户选择生效。

使用指南

核心操作 操作方式
归档一条会话 打开侧栏会话菜单,选择「归档会话」
归档整个工作区 打开工作区菜单,选择归档该工作区的会话(弹出就地确认卡片)
检索与筛选 打开「设置 → 归档会话」或点击侧边栏「归档」,搜索框自动联合检索标题与正文;使用 Codex 风格视图菜单切换「全部会话 / 只看收藏」与排序;按「所有项目」下拉过滤特定项目;使用单字段日期胶囊选择时间范围
自研日历与键盘漫游 点击日期胶囊展开轻量日历浮层,提供全部时间与常用预设;支持完整键盘无障碍漫游(上下左右键移动、Home/End 周首周末跳转、PageUp/Down 跨月切换、Enter/Space 选定),并提供区间高亮实时拉伸预览
快速预览 点击命中片段或「更多 → 快速预览」,无需恢复即可查看上下文与原文高亮
调整排序 统一在视图菜单中按最近归档、更新时间、创建时间、按字母顺序排序
恢复会话 点击会话右侧恢复图标;「更多」菜单可「恢复打开」直接进入原会话继续对话
项目整体归档 在「未归档」页点击分组右侧“…”菜单,确认归档该组全部聊天(不受搜索影响)
收藏会话 点击行右侧星标,使用视图菜单「只看收藏」快速过滤重要会话
整理闲置会话 在未归档页设置闲置天数,自动排除运行中、等待交互与收藏的会话,预览并确认归档
撤回归档 批量归档后可在关闭页面前点击「撤回本次归档」,安全恢复误归档会话
永久彻底删除 勾选单条或多条会话后点击「删除」,二次确认后彻底清除日志与缓存,支持错误项重试
清理孤儿子代理 在「会话整理」面板中检测外部删除残留的无主子代理并一键物理释放
复制会话标识 在更多菜单选择「复制会话 ID」快捷复制

页面默认打开「已归档」,右侧「未归档」用于批量归档。切换 TAB 会清空选择;切换搜索或项目筛选会保留已选会话。批量操作前留意隐藏的已选数量,或先清空选择。

收藏与闲置整理

会话使用紧凑分组列表,点击项目标题可以折叠;右侧提供星标和恢复/归档图标,已归档会话的「更多」菜单提供恢复打开和删除。折叠只影响展示,「全选当前筛选结果」仍包含折叠组内符合筛选的会话。

  • 在已归档或未归档会话行右侧点击星标,通过收藏下拉菜单中的「只看收藏」找回重要会话。收藏保存在宿主数据中,归档、恢复或更换浏览器不会清除;其他页面修改的收藏可在重新打开管理页后读取。
  • 在「未归档」设置 1~36500 的整数闲置天数,结合当前项目、搜索、日期和收藏筛选,点击「预览闲置归档」。确认清单允许逐条取消,默认排除收藏、当前打开、正在执行(含子代理)以及等待交互的会话;缺少有效最后活动时间的会话不参与。
  • 归档前再次检查收藏和活动状态。批量归档、恢复、删除显示进度与成功、跳过、失败数量;某一条失败后继续处理后续,只重试失败项。删除重试仍需确认。
  • 「撤回本次归档」只恢复最近一批实际归档成功的会话,包括该批重试成功的部分。仅在本次打开管理页期间有效,关闭页面或刷新会清除记录;不会撤回原有归档,也不能恢复永久删除的会话。
  • 收藏会话仍可手动归档;收藏保护只针对闲置整理。没有定时自动归档,不会在后台自行整理。

「全选当前筛选结果」只选择符合当前条件的会话。项目菜单的整体操作仍作用于该项目全部会话,不受搜索筛选影响。未归档页排除子代理和空白占位会话。

设置页与侧栏的批量归档、批量恢复均串行调用官方单条接口 ctx.workspaces.archiveSession 和 ctx.workspaces.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

配置中应包含 ui-workspace-archive-manager,且不应再禁用官方 workspace 或 session-projection-cache。若还留着 archive-manager-host 的禁用覆盖,可以删掉。当前 DSH 宿主已无官方 ui-settings-unarchive-sessions 入口,本插件不再对其 disable(否则 dump-config 会告警条目不存在)。若 profile 的 cordis.patch.yml 仍禁用 workspace、session-projection-cache 或 ui-workspace,请移除这些覆盖,再重启。

从旧版升级后,历史缓存如何处理?

插件不再接管官方投影缓存表,也不再扫描、核验或迁移旧插件缓存;打开归档列表不会为了补缓存而读取完整日志或写回官方投影。会话日志仍由宿主保存,标题等投影由官方按需重建;启用或停用插件不会切换缓存表,也不需要为导入旧缓存而额外启用一次。

官方缓存缺失的冷会话,列表可能暂时不显示已有标题;仅刷新列表不保证重建。 官方读取日志可恢复标题,恢复为活动会话后由原生写入路径持久化缓存。旧插件缓存文件保留原样,不自动读取或删除。完整变更见更新日志。

归档和删除有什么区别?

归档只是收起会话,可以恢复。永久删除无法撤销,并可能一并清理该会话的附件;不会删除你的项目工作目录。删除前会要求确认。

可以和 Codex UI 一起使用吗?

可以。保留 Codex UI 的侧栏样式和交互,归档管理仍在「设置 → 归档会话」中。

与其他归档插件共存说明

本插件设置页入口注册 ID 为 archive-manager。若当前环境同时安装了其他归档管理插件(例如 @linxin666/dsh-session-archive),设置侧边栏中会出现两个各自独立的「已归档会话」入口,均可在设置中正常访问,这属于正常预期表现。

遇到其他问题,请提交 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。GitHub 与 npm 都包含可直接运行的 lib。改了源码后,提交前运行 pnpm build,否则源码安装仍是旧的运行文件。pnpm typecheck 检查业务源码和类型负例,pnpm test 先检查类型、构建再执行回归,pnpm verify 还执行兼容矩阵和打包检查。测试与构建脚本继续使用 .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。

—/ 5

No ratings yet

Verified DSH bundle

Commit 0663b5efc4bb

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout