dsh-session-manager:DeepSeek Harness 的会话管理插件

前言

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-jsonlsession-persistence-sqlite
  • 自定义持久化后端必须自行提供 delete(id);级联删除多个 durable 会话还必须提供原子 deleteMany(ids)

安全与兼容

  • 执行 loopbackHostOriginFetch Metadata 安全校验。
  • 删除端点仅允许 loopback authority,例如 localhost127.0.0.0/8[::1]
  • 通过局域网地址打开页面时只显示继续和大纲。
  • 非 loopback 页面不显示删除能力。
  • 若后续 harness 原生提供 AgentLoop.stopSessionPersistence.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
羽毛球分组比赛记分
小程序二维码

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

小夜