前言¶
DeepSeek Harness(DSH)里,本机会话可能同时存在运行中、空闲和已归档状态。对需要维护本地工作流的开发者来说,缺少统一入口会继续旧会话、查看近期活动,或在安全确认后清理不再使用的会话。
dsh-session-manager 是一个 DSH 会话管理插件。它列出本机全部已物化会话,提供继续、大纲和永久删除能力,并且不需要修改 deepseek-harness 源码。下面介绍它的功能、安装方式和需要注意的限制。
插件定位¶
仓库为 Vim0x3c/dsh-session-manager,许可证为 MIT。它的目标版本是 DeepSeek Harness 0.1.0-rc.8,用于在 dsh web 中集中管理本机会话。
核心功能¶
会话列表¶
- 列出本机全部已物化会话,包括运行中、空闲和已归档会话。
- 按更新时间展示标题、状态、工作目录等信息。
继续会话¶
- 通过浏览器 sessions 服务继续已有会话。
大纲¶
- 在浏览器内折叠
session.history尾部窗口。 - 展示轮次、用户/助手消息数及工具调用统计。
- 大纲来自
session.history的近期窗口,不是完整日志统计。
删除¶
- 停止并等待目标 Agent 静默后永久删除会话。
- 级联删除受管
origin: subagent子会话。 - 支持多选批量删除。
- 删除不可恢复。
持久化后端¶
JSONL后端删除会话目录,包括日志和同目录快照。SQLite后端在当前后端连接中执行事务删除,事件行通过外键级联清理。- 已支持官方持久化后端
session-persistence-jsonl和session-persistence-sqlite。 - 自定义持久化后端必须自行提供
delete(id);级联删除多个 durable 会话还必须提供原子deleteMany(ids)。
安全与兼容¶
- 执行
loopback、Host、Origin和Fetch Metadata安全校验。 - 删除端点仅允许 loopback authority,例如
localhost、127.0.0.0/8、[::1]。 - 通过局域网地址打开页面时只显示继续和大纲。
- 非 loopback 页面不显示删除能力。
- 若后续 harness 原生提供
AgentLoop.stop或SessionPersistence.delete,插件优先调用原生能力。
安装与启用¶
先构建 tarball,再安装到 web profile,最后重启 dsh web。资料给出的安装命令为:
dsh plugin --profile web add -w ./dsh-session-manager-0.2.2.tgz
README 建议使用 -w 安装;裸 add 会触发 ERR_PNPM_ADDING_TO_ROOT。资料中 package.json 的版本为 0.2.3,但安装命令使用 dsh-session-manager-0.2.2.tgz;两者当前安装关系未在资料中说明。
经过上面的步骤后,重启 dsh web 启用插件。
典型用法¶
1、打开 设置 -> 会话。
2、点击“继续”进入已有对话。
3、点击“大纲”查看近期活动统计。
4、点击“删除”打开确认框并永久删除会话。
适用场景与注意¶
适合已经在本机使用 DeepSeek Harness,并需要集中查看、继续或清理会话的开发者。
使用前需要注意:
- 目标版本为 DeepSeek Harness
0.1.0-rc.8。 - 删除操作不可恢复。
- 会话列表没有跨标签页实时推送,页面会在删除和重连后刷新。
- 删除已归档会话不会清理 workspace 中过期的
archivedSessionIds。 - 插件以当前
dsh进程权限运行,安装前应检查源码和MIT许可证。
链接¶
- 社区目录页:
https://www.skillhub.cn/plugins/Vim0x3c/dsh-session-manager - GitHub 仓库:
https://github.com/Vim0x3c/dsh-session-manager