dsh-session-cleaner:为运行中的 DeepSeek Harness web runtime 删除会话

前言

DSH 的扩展方式偏插件化,社区插件目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,也不应理解为官方应用商店。对于运行中的 DeepSeek Harness web runtime,常见痛点是:会话已经从界面上不可用,但 live store、workspace 记录和磁盘 artifacts 仍然留在运行实例里。dsh-session-cleaner 针对这个问题,提供一个 Web UI 入口和一个 API 路由,用于删除运行中的会话,而删除本身无需重启 dsh web

这是什么

dsh-session-cleaner 是一个面向 dsh web 运行环境的 DeepSeek Harness 插件,由 fountunt 维护,License 为 MIT

它的一句话定位是:为运行中的 DeepSeek Harness web runtime 删除会话,移除 live store、workspace 记录和磁盘 artifacts,无需重启 dsh web

已核实的基础信息如下:

  • 插件名:dsh-session-cleaner
  • 维护者:fountunt
  • 许可证:MIT
  • package.json 版本:1.0.2
  • peerDependencies 要求:@deepseek-ai/cordis ^4.0.1
  • GitHub 仓库:https://github.com/fountunt/dsh-session-cleaner

核心功能

下面介绍已核实的能力。

1、删除 DeepSeek Harness 会话,覆盖三类数据:

  • files
  • live store
  • workspace records

2、在运行中的 dsh web runtime 内删除会话,删除动作本身不需要重启 dsh web

3、在侧边栏会话行的 菜单底部添加 Delete session 入口。

4、注册一个 Web API 路由:

POST /api-ext/session.delete

该路由支持 JSON 请求体,字段为 sessionId

5、删除时执行三类清理:

  • 移除 live store 条目
  • 移除 workspace 记录
  • 删除磁盘 artifact 目录

安装与启用

安装命令如下:

dsh plugin --profile web add github:fountunt/dsh-session-cleaner

安装完成后需要重启 dsh web。运行中的实例不会热加载新 bundle,所以这里区分两件事:

  • 安装或更新插件后,需要重启 dsh web 以加载插件。
  • 插件启用后,删除运行中会话本身不需要重启 dsh web

如果环境已安装 @deepseek-ai/cordis,请确认版本满足:

@deepseek-ai/cordis ^4.0.1

典型用法

Web UI

启用插件后,在侧边栏会话行的 菜单底部可以看到 Delete session 入口。

使用步骤:

1、在侧边栏找到目标会话行。

2、打开该行右侧或底部的 菜单。

3、点击 Delete session

4、确认删除。

5、侧边栏会刷新。

已核实的界面行为如下:

  • 会话运行时,该入口会被禁用并显示为灰色。
  • 已打开在 UI 中的 idle agents 会先停止,再执行删除。
  • 重复标题等歧义行会跳过该入口。
  • 当前对话不能通过该端点删除。

API

插件注册的接口为:

POST /api-ext/session.delete
Content-Type: application/json

请求体示例:

{ "sessionId": "..." }

在同源的 harness 页面中,也可以从浏览器控制台调用:

await fetch('/api-ext/session.delete', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({ sessionId: '...' })
});

适用场景与注意

适合使用场景:

  • 需要清理运行中 dsh web 里的 DeepSeek Harness 会话。
  • 需要同时移除 live store 条目、workspace 记录和磁盘 artifact 目录。
  • 希望通过 Web UI 或同源 API 批量、重复地执行会话删除操作。

使用前务必注意:

1、该插件会在当前 dsh 进程权限下运行,并可能修改 live store、workspace 记录和磁盘 artifacts。安装前应检查源码,并确认接受 MIT 许可证。

2、删除不可逆。artifactsworkspace membershiplive entry 都会被移除。

3、带 attached agent 的会话会被拒绝。runningidle 状态下的 attached agent 都会导致该端点拒绝删除;当前对话不能通过该端点删除。

4、侧边栏入口对运行中会话禁用;idle agents 会先停止再删除。

5、session-projection cache 可能在下次重启前保留无害的 stale row。

结尾

dsh-session-cleaner 的价值比较具体:它把运行中 DeepSeek Harness web runtime 的会话删除拆成 live store、workspace records 和磁盘 artifacts 三类清理,并提供 Web UI 与 API 两种入口。对于需要维护 dsh web 会话生命周期的开发者来说,这是一个可以直接落到清理流程里的客户端插件。

仓库地址:

  • https://github.com/fountunt/dsh-session-cleaner
羽毛球分组比赛记分
小程序二维码

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

小夜