前言¶
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.2peerDependencies要求:@deepseek-ai/cordis ^4.0.1- GitHub 仓库:
https://github.com/fountunt/dsh-session-cleaner
核心功能¶
下面介绍已核实的能力。
1、删除 DeepSeek Harness 会话,覆盖三类数据:
fileslive storeworkspace 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、删除不可逆。artifacts、workspace membership 和 live entry 都会被移除。
3、带 attached agent 的会话会被拒绝。running 或 idle 状态下的 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