dsh-minimal-session-delete:DeepSeek Harness 会话永久删除插件

前言

DeepSeek Harness(DSH)默认提供归档功能,但未提供删除接口,导致会话日志和缓存会在持久化层堆积。dsh-minimal-session-delete 是一个由 reverse-PAI 维护的插件,它补全了这条链路:通过侧边栏菜单、悬停按钮和快捷键提供删除入口,经过二次确认后,通过 Host 鉴权路由清理日志、缓存和归档标记。

核心能力

  1. 删除入口
    • 侧边栏会话行的 ... 菜单项中提供「删除会话」选项。
    • 会话行悬停时显示垃圾桶图标。
    • 快捷键:桌面端 Ctrl/⌘ + Shift + D,浏览器端 Ctrl/⌘ + Alt D。
  2. 执行流程
    • 触发二次确认对话框,显示标题与会话 id 及不可恢复警告。
    • 通过 Host 路由删除会话日志、投影缓存行和归档标记。
  3. 安全机制
    • 支持 dryRun 模式,先预览后执行。
    • 路径穿越防护,使用正则白名单校验。
    • 运行中的会话返回 409 状态码拒绝删除。
  4. 轻量特性
    • 零依赖、零构建、配置 0。

安装方法

使用 DSH 命令行工具安装:

dsh plugin add dsh-minimal-session-delete

安装后插件会自动进入 dsh.profile.bundles 并默认启用,无需额外配置。

使用方式

  1. 界面操作:鼠标移到会话行点击垃圾桶图标,或点击 ... 菜单选择「删除会话」。
  2. 快捷键:在主视图打开会话后,使用桌面端 Ctrl/⌘ + Shift + D 或浏览器端 Ctrl/⌘ + Alt D。
  3. 脚本调用:
    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
羽毛球分组比赛记分
小程序二维码

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

小夜