前言¶
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 依赖。
典型使用流程¶
以找回一个误归档的会话为例:
- 点开侧边栏底部的「已归档会话」入口,打开面板
- 在搜索框输入标题关键字,跨分组定位目标会话
- 拿不准内容时,点击标题打开只读预览,确认是不是要找的那条
- 点恢复,会话从归档集中移除,回到原分组
- 确认不再需要的会话,走删除并二次确认
经过上面的步骤,已归档会话从「只能隐藏」变成可以查看、找回或清理的普通数据。
适用场景与注意事项¶
适合的场景:
- 日常使用 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、幻方没有官方从属关系,插件信息以仓库为准。