前言¶
用 DeepSeek Harness(DSH)跑智能体,对话会不断累积:同一工作区下分叉、子代理、归档与未归档会话混在一起,侧边栏只能逐条点选,批量整理和查看磁盘占用都不方便。官方侧边栏在 0.1.0-rc.8 起也收紧了行菜单,删除入口不再向插件开放。
dsh-archived-sessions 是社区维护者 Zephyr-vibe 发布的 DSH Web 插件(SkillHub 分类:记忆)。它在「设置」中提供「会话管理」面板,把本机所有对话集中浏览、搜索、归档、恢复与删除,并支持打开会话记录目录。当前版本 0.1.5,MIT 许可证,GitHub 约 17 stars。
这是什么¶
一句话:DSH Web 端的会话管理器,零配置读取官方会话目录布局,不修改 DSH 核心。
插件按 $DSH_HOME/sessions/<project-key>/<session-id>/ 自动识别会话,归档与恢复走与官方 archiveSession 相同的 registry 状态原语;删除、详情查询等自定义逻辑通过插件自有 API 完成,且仅信任本机请求(127.0.0.1 / localhost / ::1),只调用官方公开 API(workspaceRegistry、sessionPersistence 等)。
核心功能¶
双标签与两种视图¶
设置面板分两个标签页:
- 所有对话:未归档会话
- 归档会话:已归档记录,可「移出归档」回到所有对话
每种标签下可切换视图:
- 单列表:按标题与相对时间排列,最近的在最前
- 按工作区分组:无工作区归属的会话归入「未分组」
顶部搜索框支持按标题或 ID 实时过滤。
批量操作与详情展开¶
支持勾选、拖动批量勾选、全选,以及批量归档(记录保留)和批量删除(永久删除,带确认弹窗)。大批量操作分批执行(每批 20 个),避免一次选中数百条时压垮浏览器。
每行可展开详情(默认收起),内容包括:
- 磁盘占用、最后更新时间
- 活动统计:轮次、步骤、消息数、工具调用分布、fetch 记录
- 产出/下载文件列表(树形文件夹、可切换显示完整路径)
- 父会话与子会话(分叉)关联;子代理会话嵌套在父行下方(缩进 +「子代理」徽标),父会话缺失时自动浮为顶层行
当前打开的会话显示「当前会话」徽标,且不可删除。
安全删除¶
删除父会话默认不级联:子代理、分叉、下载/产出文件均保留,除非你显式勾选。设置面板与批量删除均带确认弹窗。
自 DSH 0.1.0-rc.8 起,官方侧边栏行菜单(⋮)不再开放插件注入点(仅保留重命名、分叉、归档),插件将删除会话入口放到已打开会话的标题栏(垃圾桶图标),通过官方 conversation.session.header.actions slot 注入。确认弹窗可细粒度勾选:
- 子对话(子代理,含孙级)
- 下载/产出文件(可按文件夹整删;工作区根目录绝不可整删)
默认均不勾选,只删会话本身。运行中的会话拒绝删除(409)。
打开记录文件夹¶
选中会话后,可点击「打开记录文件夹」,在系统文件管理器中打开该会话记录目录。跨平台调用 explorer(Windows)、open(macOS)、xdg-open(Linux);无工作目录的会话也支持 _no-cwd 布局。
安装与启用¶
下面介绍两种安装方式,任选其一。
方式一:tarball 直接安装¶
dsh plugin --profile web add https://codeload.github.com/Zephyr-vibe/dsh-archived-sessions/tar.gz/refs/heads/main
若 pnpm 拦截构建脚本,在命令末尾加 --ignore-scripts:
dsh plugin --profile web add https://codeload.github.com/Zephyr-vibe/dsh-archived-sessions/tar.gz/refs/heads/main --ignore-scripts
方式二:让智能体安装¶
告诉 DSH 智能体:
帮我把这个项目安装为插件:https://github.com/Zephyr-vibe/dsh-archived-sessions
智能体会下载项目、放入 profile 的 node_modules 并注册到 dsh.profile.bundles。
安装后重启 Web 端,在「设置」中即可看到「会话管理」入口。插件要求 Node.js >= 20,peer 依赖 DSH 0.1.0-rc.6 及以上客户端/宿主组件。
典型用法¶
整理历史对话:打开设置 → 会话管理 →「所有对话」,切换到「按工作区分组」,勾选某个工作区下不再需要的会话,点「归档」;记录保留,侧边栏不再显示。
找回归档:切到「归档会话」标签,选中条目,点「移出归档」。
查看会话产出:展开某行详情,在活动统计与文件列表中确认工具调用与产出路径;需要手动检查时,选中会话点「打开记录文件夹」。
删除单条会话(rc.8+):在 Web 端打开该会话,点标题栏垃圾桶图标,在弹窗中按需勾选子对话或文件,确认删除。
按 ID 定位:在搜索框输入会话 ID 片段,列表实时过滤到目标行。
适用场景与注意¶
适合需要集中管理本机 DSH 对话的开发者:长期跑多工作区、频繁分叉与子代理、磁盘占用需要可见、或希望在 rc.8 之后仍能安全删除会话。
使用前请注意:
- 插件以当前
dsh进程权限运行,可读写会话目录与调用宿主 API;安装前应阅读 源码 与 MIT 许可证,确认符合你的安全策略。 - 批量删除不可恢复;确认弹窗中的子对话与文件选项务必看清再勾选。
- 详情 API 对文件与 fetch 记录有上限(文件 ≤ 200、fetch ≤ 50),极大单会话可能无法一次展示全部条目。
- 本插件来自社区目录 SkillHub,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,社区插件需自行评估兼容性。
链接¶
- SkillHub 目录页:https://www.skillhub.cn/plugins/Zephyr-vibe/dsh-archived-sessions
- GitHub 仓库:https://github.com/Zephyr-vibe/dsh-archived-sessions
若你已在用 DSH 且会话数量开始变多,这个插件把归档、搜索、详情与安全删除收到设置页一处,比只在侧边栏逐条操作更可控。