全部插件

DSH / BUNDLE / CLIENT-UI

@michengai/dsh-archive-manager

v0.1.33MichengAI / dsh-archive-manager104430e44d

可安装组合包UI 与客户端插件社区 · Topic 自动分析Web UI

概览

@michengai/dsh-archive-manager

NPM-installable DSH Web plugin for managing archived sessions.

README / ZH

插件文档

DSH Archive Manager

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

English · 更新日志 · Apache-2.0

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

功能概览

把暂时不用的会话收起来,需要时再找回。集中搜索、恢复和清理归档记录,让日常任务列表更清爽。

  • 收起已完成的任务:归档单条聊天,也可归档整个工作区的未归档聊天。
  • 快速找回历史:在「设置 → 归档会话」搜索标题、按项目筛选,或按时间和标题排序。
  • 恢复继续工作:恢复单条会话、整个项目或全部归档会话。
  • 按需清理记录:支持单条或批量永久删除,执行前会要求确认。永久删除无法撤销。

界面预览

在侧栏会话菜单中选择「归档会话」:

在「设置 → 归档会话」中搜索、排序、按项目筛选、取消归档或永久删除:

DSH 产品生态

想直接使用完整工作台,可下载 DSH Codex Desktop;已有 DeepSeek Harness 环境,可按需独立安装以下 8 个自研插件。桌面端已随附这些插件。

插件 你可以用它做什么
Codex UI 整理项目与会话、搜索任务、跳转对话轮次
IM Connect 从微信、飞书、钉钉等消息平台下任务、收回复
Automation 按计划执行任务,查看每次运行的结果
Skills Manager 统一查找、启停、创建和导入本机技能
Archive Manager 搜索、恢复或清理已归档会话
Agency Agents 按任务选择并召唤专业角色
BTW 在当前上下文中临时旁问,不打断主任务
Simplify 用 /simplify 整理 Git 改动范围内的代码

前置条件

  • 从插件 0.1.33 起支持 DeepSeek Harness 0.1.3-alpha.2(官方 master c389f96),同时兼容下表中已验证的旧版宿主。后续 master 提交需另行验证。

  • 已可正常运行 DeepSeek Harness Web,且可在 PowerShell 中使用 dsh

  • 以下示例使用 web profile;请替换为实际目标 profile。

  • 从源码安装或二次开发需要 Node.js 22+ 与 pnpm;仅从 npm 安装无需另外执行 pnpm install

安装

源码回归使用 pnpm test:compat,在隔离依赖环境中运行同一份插件产物,已验证以下组合(不代表覆盖所有中间版本):

  • pnpm test:构建并执行本地常规测试,不包含 test/fixtures;实际依赖可能受本机宿主链接影响。
  • pnpm test:matrix:先构建,再隔离安装三个宿主版本,执行完整矩阵。
  • pnpm test:latest:先构建,再隔离运行最新版的 6 项真实存储回归。
  • pnpm test:compat:旧缓存迁移验证加完整矩阵。

不要直接执行 test/fixtures/*.mjs;夹具会在加载宿主前检查隔离入口、依赖版本及实际路径。若本机依赖脱节,可先执行 pnpm install --frozen-lockfile 恢复声明的开发依赖;它不保证清理未声明包或 test/node_modules 的宿主链接,兼容性验收以隔离命令为准。

DSH Cordis 自动回归
0.1.1-rc.2 4.0.1 134 项通过,另含旧缓存迁移验证
0.1.2-rc.1 4.0.2 134 项通过
0.1.3-alpha.2 4.0.2 137 项通过

覆盖客户端 Remote、归档/恢复、真实 JSONL/Zstandard 删除与子会话级联、删除后重新查询及重新打开存储。验证环境为 Windows / Node.js 24;尚未执行完整 DSH Web 浏览器人工验收。新版存储夹具仅隔离上游无法在 Windows 加载的 POSIX fs-ext 导入,实际文件操作与 Windows 原生锁仍使用官方实现。

以下安装命令使用官方 npm 源。

让 Agent 帮你安装(推荐)

把下面这段话发给任意能够执行本机终端命令的 Agent。将 web 替换为实际使用的 profile;安装完成后,在 DSH 中使用本插件。

请将 DSH 插件 @michengai/dsh-archive-manager 安装到本机 web profile,执行:dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/。安装后执行 dsh --profile web --dump-config,确认配置包含 workspace-archive-manager, ui-workspace-archive-manager,并告诉我如何重新加载 DSH 和开始使用。

从官方 npm 安装最新版

在任意 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 --profile web --dump-config

需要钉死某一版时,把 @latest 换成具体版本,例如 @x.y.z

配置输出中应包含 workspace-archive-managerui-workspace-archive-manager。安装后重启 DSH Web 并在浏览器硬刷新;请勿手工复制客户端文件,否则设置页和归档菜单不会被挂载。

在线更新

设置标题会显示当前版本和“检查更新”按钮。发现新版后,只有检测到 DSH CLI 或 Desktop 更新服务时才可使用“自动更新”;其他环境会在弹窗中提供可复制、与当前 Profile 对应的手工更新命令。

使用

  1. 在侧栏右键或打开会话菜单,选择「归档会话」。
  2. 打开「设置 → 归档会话」,按工作区查看归档会话。
  3. 按标题搜索,按更新时间、创建时间或标题排序,或按项目筛选列表。
  4. 点击「取消归档」恢复单个会话,或在顶部点击「全部恢复」。
  5. 打开项目标题右侧菜单,可恢复或删除该项目的全部已归档聊天。
  6. 点击删除图标永久移除单个会话;删除前确认提示。删除无法撤销。

安装或升级后找不到入口时,重启 DSH Web 并硬刷新浏览器;入口位于「设置」中,连接器之后。

数据处理边界

  • 删除操作始终需要确认。
  • 删除会移除工作区记录、归档标记和投影缓存。官方 JSONL 后端在目录布局校验通过后,会一并删除会话专属目录及其中的附件等内容;其他后端或未知布局仅删除定位到的转录工件,不删除其父目录。
  • 不清理项目分组目录或存储根目录。官方布局的项目/会话目录若为符号链接或 Windows junction,会拒绝删除并保留可重试状态。
  • 布局校验优先使用官方后端初始化时确定的绝对根路径,相对路径配置不再受宿主工作目录变化影响;若无法取得该字段,则只接受绝对路径配置。官方 JSONL 布局校验失败时,会记录包含会话 ID 和工件路径的警告,再降级为仅删除工件。
  • 目录校验不是跨进程文件锁:删除期间不要由其他进程迁移、替换存储目录或改写目录链接。插件不将可被不可信进程改写的存储路径视为安全隔离边界。
  • 正在写入的会话会在完成写入后清理,避免截断数据。
  • 本插件替换 DSH 默认的工作区和会话投影服务;请仅通过 DSH profile 安装,避免手工拼接补丁配置。

二次开发

从源码安装

适用于调试或使用未发布改动。克隆后的目录会直接作为插件安装路径:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
Set-Location D:\Repository\deepseek-harness-plugin
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 --profile web --dump-config

完成后重启 DSH Web 并硬刷新浏览器。dsh plugin ... add . 会读取当前目录的包信息和 cordis.patch.yml;不要改为直接复制 lib 目录。

src 是唯一可维护源码目录,pnpm build 使用 esbuild 将其编译为可发布的 lib。请勿直接修改 lib,否则下次构建会覆盖改动:

修改 src 后,执行测试并确认生成的 libsrc 一同提交,再用本地目录重新安装:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
pnpm test
pnpm pack:check
dsh plugin --profile web add .

pnpm test 会先执行 pnpm build。构建在临时目录中从 src 生成全部 lib 产物;仅在生成成功后才原子替换旧产物,构建失败时会保留旧的 lib

验证

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
pnpm verify

prepublishOnly 会在发布前执行完整验证,并确认提交的 lib 与当前 src 构建结果一致。

许可证

本项目采用 Apache License 2.0