dsh-archive-manager:DeepSeek Harness 归档会话管理

DeepSeek Harness 自带“归档会话”操作,会将会话 ID 加入全局 archivedSessionIds 集合,使其从侧边栏隐藏。DSH 原生并未提供查看归档列表或恢复(取消归档)的界面。本文介绍的 dsh-archive-manager 插件正是为了填补这一缺口,它为侧边栏新增入口,列出所有已归档的会话(按工作区分组),并提供查看、恢复以及直接打开对话文件夹的能力。

核心能力

  • 按工作区分组查看:侧边栏底部新增按钮,弹出面板列出所有已归档会话,按所属工作区归类,显示标题、ID 和更新时间。
  • 恢复会话:点击恢复后,会话 ID 从归档集合中移除,会话在侧边栏恢复原位。
  • 打开会话:点击打开时,插件会先执行恢复操作,然后打开该会话。
  • 打开对话文件夹:直接在文件管理器中打开该会话的对话记录目录(包含 session.jsonl* 日志文件)。
  • 安全与轻量:代码防御性强,远程挂载失败时降级为只读面板;无编译步骤,纯 ESM/CommonJS 文件。

工作原理

插件通过注册一个远程服务 ctx.archiveManager 来实现核心逻辑。

  • 恢复:archiveManager/unarchive 接口通过注册表的操作队列移除会话 ID,从而实现恢复。
  • 打开文件夹:archiveManager/openSessionFolder 接口利用 ctx.sessionPersistence 定位持久化目录并在本地打开。
  • 设计边界:由于 DSH 的持久化接口(dsh-session-persistence-jsonl)不支持删除,且日志文件为追加式存储,该插件不提供物理删除会话文件的功能,仅支持从归档集合中移除(软删除)。

安装与启用

使用官方 CLI 安装(无需全局安装 dsh):

npx --yes @deepseek-ai/dsh plugin --profile web add https://github.com/Earnest02522/dsh-archive-manager.git

安装完成后,重启 DeepSeek Harness(或等待热更新重载配置),并刷新浏览器(Ctrl+Shift+R)。

注意事项

  • 删除限制:根据 DSH 设计,删除对话(物理删除文件)不受支持,持久化接口本身无删除接口,因此该插件也不提供物理删除功能。
  • 文件清理:若需彻底清理会话,需停止 DSH 进程,手动删除 ~/.dsh/sessions/ 下的目录,由后续扫描索引自行清理。

相关资源

  • 插件目录:https://www.skillhub.cn/plugins/Earnest02522/dsh-archive-manager
  • 项目仓库:https://github.com/Earnest02522/dsh-archive-manager
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜