dsh-session-archive: Retrieve archived sessions from DeepSeek Harness

前言

DeepSeek Harness(DSH)的思路是「一切皆插件」,宿主没覆盖的能力交给插件补。Web profile 里有一个典型空档:会话一旦归档,就会从工作区分组、搜索等所有界面中消失,而 harness 本身没有提供查看或恢复这些会话的入口。归档成了一个单向操作,误归档的会话找不回来,想确认某个已归档会话里聊过什么也没有办法。

下面介绍的 dsh-session-archive 补的就是这块:它在侧边栏加一个入口,把注册表全局的已归档会话列出来,支持预览、恢复(取消归档)与删除。

这是什么

dsh-session-archive(包名 @kiligzzz/dsh-session-archive)是 kiligzzz 维护的 DeepSeek Harness Web 插件,当前版本 0.1.3,MIT 许可证,源码公开在 GitHub 上。

一句话定位:在侧边栏呈现注册表全局的已归档会话,支持预览、恢复与删除。归档状态本身持久化在工作区域的 ~/.dsh/storages/workspace.json 中,插件读写的正是这份归档集。

核心功能

侧边栏入口与分组面板

插件在侧边栏底部添加「已归档会话」按钮,侧边栏收起为图标 rail 时同样可用。点击打开一个宽幅固定尺寸的面板:

  • 按所属工作区目录分组,未分组的排在最后;分组可折叠,每组带计数徽章
  • 每行显示紧凑相对时间(刚刚 / 5分钟 / 3小时 / 2天),悬停显示绝对本地时间;组内按时间倒序,最新在上
  • 顶部是实时标题搜索,输入即跨全部分组过滤会话

只读预览

点击会话标题打开预览弹窗,内容从磁盘日志渲染,列出该会话全部真实用户问题,系统注入的内容已排除。预览是纯观察性操作,不影响归档状态,可以先看内容再决定恢复还是删除。

恢复与删除

恢复:从持久化归档集中移除该会话 id,操作幂等,写入经 workspace-registry 写入链串行化,完成后会话回到原来的分组。

删除:垃圾桶按钮触发确认弹窗,确认后永久移除归档记录、解除工作区记账,并删除磁盘上的日志目录。活跃会话一律拒绝删除。

Host 服务 API

插件还向相邻的 host 插件暴露一个 workspaceArchive 服务,提供四个方法:

list()
preview(sessionId)
restore(sessionId)
deleteSession(sessionId)

其他 host 插件可以基于这套接口读取或操作归档会话。

安装与启用

前置条件:DeepSeek Harness Web profile 可用,即 dsh 命令可用,且 pnpm 在 PATH 上。

安装:

dsh plugin --profile web add https://github.com/kiligzzz/dsh-session-archive

安装后重启 Web profile(host 与浏览器 bundle 都在启动时扫描插件),再刷新页面。bundle id 出现在 __DSH_BOOT__ 中、侧边栏底部出现 sidebar.footer.action 入口,说明插件已生效。

如果要基于本地 checkout 安装,比如改过代码:

pnpm --dir <本仓库路径> install   # 仅重建时需要(dev 依赖 esbuild)
pnpm --dir <本仓库路径> run build # 可选,lib/ 构建产物已提交
dsh plugin --profile web add "$PWD"

卸载:

dsh plugin --profile web remove @kiligzzz/dsh-session-archive

依赖方面,插件以 peer 依赖声明了 dsh 相关包(@deepseek-ai/dsh-*^0.1.0-rc.7 || ^0.1.1-rc.1)、cordis(^4.0.0-rc.7 || ^4.0.0)和 react(^18.2.0),其中 @deepseek-ai/dsh-host-webserver 是可选 peer 依赖。

典型使用流程

以找回一个误归档的会话为例:

  1. 点开侧边栏底部的「已归档会话」入口,打开面板
  2. 在搜索框输入标题关键字,跨分组定位目标会话
  3. 拿不准内容时,点击标题打开只读预览,确认是不是要找的那条
  4. 点恢复,会话从归档集中移除,回到原分组
  5. 确认不再需要的会话,走删除并二次确认

经过上面的步骤,已归档会话从「只能隐藏」变成可以查看、找回或清理的普通数据。

适用场景与注意事项

适合的场景:

  • 日常使用 DSH Web profile,归档过会话后想再确认内容,或者误归档要找回
  • 清理旧会话前,先通过预览确认磁盘日志里的内容再决定是否删除
  • 其他 host 插件需要读写归档会话时,复用 workspaceArchive 接口

注意事项:

  • 删除是永久操作:移除归档记录、解除工作区记账,并删除磁盘上的日志目录;活跃会话会被拒绝删除
  • 插件以当前 dsh 进程的权限运行,能读写的范围就是你的 DSH 工作区域。安装任何第三方插件前,建议先检查源码与许可证;本插件源码在 GitHub 公开,许可证为 MIT

小结

dsh-session-archive 解决的问题很具体:让已归档会话可列出、可预览、可恢复、可删除,补上 harness 在这块缺失的入口。如果你在用 DSH Web profile 且归档过会话,可以装上试试。

  • 社区插件目录页:https://www.skillhub.cn/plugins/kiligzzz/dsh-session-archive
  • GitHub 仓库:https://github.com/kiligzzz/dsh-session-archive

社区目录是独立维护的站点,与 DeepSeek、幻方没有官方从属关系,插件信息以仓库为准。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye