前言¶
DeepSeek Harness(DSH)默认提供归档功能,但未提供删除接口,导致会话日志和缓存会在持久化层堆积。dsh-minimal-session-delete 是一个由 reverse-PAI 维护的插件,它补全了这条链路:通过侧边栏菜单、悬停按钮和快捷键提供删除入口,经过二次确认后,通过 Host 鉴权路由清理日志、缓存和归档标记。
核心能力¶
- 删除入口
- 侧边栏会话行的
...菜单项中提供「删除会话」选项。 - 会话行悬停时显示垃圾桶图标。
- 快捷键:桌面端
Ctrl/⌘ + Shift + D,浏览器端Ctrl/⌘ + Alt D。
- 侧边栏会话行的
- 执行流程
- 触发二次确认对话框,显示标题与会话 id 及不可恢复警告。
- 通过 Host 路由删除会话日志、投影缓存行和归档标记。
- 安全机制
- 支持
dryRun模式,先预览后执行。 - 路径穿越防护,使用正则白名单校验。
- 运行中的会话返回
409状态码拒绝删除。
- 支持
- 轻量特性
- 零依赖、零构建、配置 0。
安装方法¶
使用 DSH 命令行工具安装:
dsh plugin add dsh-minimal-session-delete
安装后插件会自动进入 dsh.profile.bundles 并默认启用,无需额外配置。
使用方式¶
- 界面操作:鼠标移到会话行点击垃圾桶图标,或点击
...菜单选择「删除会话」。 - 快捷键:在主视图打开会话后,使用桌面端
Ctrl/⌘ + Shift + D或浏览器端Ctrl/⌘ + Alt D。 - 脚本调用:
curl -X POST 'http://<你的 DSH Web 地址>/api/dsh-session-delete' \
-H 'content-type: application/json' --cookie '<DSH 会话 Cookie>' \
-d '{"sessionId":"session-6f1c2f0e-3b7a-4a6e-9a1d-2c5b8f7d9e01","dryRun":true}'
返回 `ok: true` 表示成功,`code` 字段包含 `running`、`invalid-id` 等错误信息。
注意事项¶
- 归档 ≠ 删除:归档仅是隐藏会话,持久化层仍保留日志。
- 不可恢复:删除操作不可逆。
- 运行中拒绝:正在运行的会话无法被删除。
- 客户端更新:安装或更新插件后,需要刷新页面或重启应用。
参考资料¶
- GitHub: https://github.com/reverse-PAI/dsh-minimal-session-delete
- 目录: https://www.skillhub.cn/plugins/reverse-PAI/dsh-minimal-session-delete