前言¶
在使用 DeepSeek Harness (DSH) 进行智能体开发或长期运行服务时,持久化会话和归档文档会随着时间推移不断累积。这些残留数据可能占用存储空间,也可能影响系统性能。手动清理这些文件或从数据层中移除它们通常需要操作文件系统或修改配置。dsh-session-cleanup 插件提供了一个图形化的入口,让你在 DSH 的设置页面中直接查看并清理这些数据。
插件简介¶
dsh-session-cleanup 是一个 DSH 配置文件包,由 ShiraGawaAnri 维护,采用 MIT 许可证。它的核心价值在于为 DSH Web 配置文件添加了两个设置页面:Sessions清理 和 归档清理。这两个页面允许你查看当前内存中的会话、持久化但未打开的残留会话,以及所有已归档的会话,并提供删除操作。
核心功能¶
Sessions 清理¶
在设置中进入 Sessions 清理页面,你可以:
1. 刷新 Sessions:更新列表数据。
2. 当前 Sessions:显示当前内存中运行中的会话。这部分仅用于查看,不提供删除按钮。
3. 残留 Sessions:显示持久化但当前未打开的会话。每一项都配有删除按钮。
归档清理¶
在归档清理页面,你可以:
1. 刷新归档:更新归档列表。
2. 所有归档:列出所有归档会话,包含 ID、摘要和日期。每行配有删除按钮。
3. 删除全部:一键删除所有归档会话。
4. 运行中徽章:处于运行状态的会话会显示“运行中”徽章,且无法被删除。
安全机制¶
所有删除操作均受双重确认机制保护(先确认,再执行,期间可取消)。
安装与启用¶
该插件通过 dsh plugin 命令安装。安装前请确保已安装 pnpm,且 DSH Web 服务处于可用状态。
# 1. 将解压后的文件夹放置到指定目录,例如 D:/plugins/dsh-session-cleanup
# 2. 安装到 web 配置文件
dsh plugin --profile web add file:D:/plugins/dsh-session-cleanup
# 或者直接从解压目录的父目录运行
dsh plugin --profile web add ./dsh-session-cleanup
安装完成后,重启 dsh web,在设置菜单中即可找到 Sessions清理 和 归档清理 选项。
卸载¶
如需移除该插件,使用以下命令:
dsh plugin --profile web remove @dsh-external/dsh-session-cleanup
技术说明与注意事项¶
删除行为¶
该插件通过 Node.js 的 fs.rm API 在宿主机端执行删除操作。删除逻辑受限于 sessionPersistence.locate() 返回的路径,客户端仅提交会话 ID。删除操作会:
1. 拒绝删除运行中的会话。
2. 移除持久化的会话日志文件/目录。
3. 将会话从工作区账户中分离。
4. 从全局归档集合中移除 ID(并同步缓存)。
重要提示:删除操作不可恢复。
依赖与服务¶
该插件运行需要宿主机提供以下服务支持:sessions、sessionPersistence、workspaceRegistry、storageDomain。客户端需要 slots 服务。可选的服务包括 webServer。
安全与限制¶
- API 安全:删除接口 (
POST /_dsh/session-cleanup/api) 会拒绝跨站请求。 - 权限:删除属于管理员动作,仅在设置页面触发,不与 DSH 沙盒策略或模型工具调用交互。
- 依赖:插件本身不包含任何第三方 npm 依赖。
总结¶
dsh-session-cleanup 为 DSH 用户提供了一个可视化的会话管理工具。如果你需要管理大量残留会话或清理归档数据,通过设置页面进行操作比直接操作文件系统更为安全且便捷。