DeepSeek Harness (DSH) 的核心设计理念之一是「一切皆插件」。在智能体开发与调试过程中,侧边栏展示的会话列表往往需要维护。当需要清理历史会话时,手动删除日志文件和清理工作区会计记录不仅繁琐,且容易遗漏。
dsh-session-eraser 是一个为 DSH 设计的插件,它直接在侧边栏会话行中提供了删除入口,并实现了后端会话彻底清理的逻辑。
插件定位¶
这是一个 DeepSeek Harness (DSH) 插件,由开发者 Gty2408 维护,采用 MIT 许可证。它不依赖复杂的配置文件,通过 DSH 的打包机制自动将功能注入到系统中。
核心功能¶
该插件主要实现了以下能力:
- 侧边栏删除入口:在侧边栏的会话行中增加「删除会话」选项。该选项同时出现在行的
...菜单中,以及鼠标悬停时显示的垃圾桶按钮上。 - 永久清理:确认删除后,会永久移除会话存储的日志文件及其对应的工作区会计记录。
- 当前会话保护:提供「打开会话保护」机制,拒绝删除当前正在主面板中打开的会话。
- API 接口:提供
POST /api/session.delete接口,允许通过 API 调用删除会话。 - 清理关联索引:删除会话后,会自动清除会话归档和置顶的索引条目,防止出现悬空引用。
安装与启用¶
推荐使用 DSH 官方 CLI 进行安装。安装后需要重启 DSH 应用才能使变更生效。
- 执行安装命令:
dsh plugin --profile desktop add dsh-session-eraser
- 重启 DeepSeek Harness 应用。
注意:如果没有
dshCLI 环境,需要手动将插件包放入node_modules并在cordis.patch.yml中添加配置。该插件会自动应用cordis.patch.yml并将包加入 bundle 列表。
适用场景与注意¶
- 附件保留:删除操作仅清理日志文件和工作区会计记录。会话引用的外部文件(附件)不会被自动删除,仅会移除文件引用。
- 客户端保护:当前的「打开会话保护」机制是纯客户端实现的。Host 端没有视图状态的概念,因此理论上可以通过直接调用
POST /api/session.delete接口来删除当前打开的会话。但该接口位于与/api相同的鉴权网关后,且 DSH 官方 UI 没有提供此调用入口,因此主要风险在于用户自行编写脚本调用。 - 许可证:该插件遵循 MIT 许可证,可自由使用。
总结¶
dsh-session-eraser 为 DSH 提供了标准化的会话清理能力,通过侧边栏交互和后端逻辑的结合,解决了会话管理中的碎片清理问题。对于需要维护长期会话记录的开发者或团队,这是一个实用的工具。
- GitHub 仓库:https://github.com/Gty2408/dsh-session-eraser
- 社区目录:https://www.skillhub.cn/plugins/Gty2408/dsh-session-eraser