dsh-plugin-session-delete:DeepSeek Harness 会话删除插件

DSH 0.1 版本的侧边栏三点菜单只有重命名、分叉和归档,API 也没有 delete 路由,JSONL 持久层是 append-only 的。归档功能只是隐藏会话,数据仍留在磁盘上。本插件补齐了这一能力,通过顶部 Trash 按钮移除内存和磁盘数据。

插件介绍

这是一个给 DeepSeek Harness (dsh) 补上删除会话能力的插件,由 chuling-lingling 维护。它解决了原版 dsh 无法彻底删除会话、磁盘数据无法清理的问题。

插件注册了宿主端的删除队列,浏览器端在会话头部注册 Trash 按钮。删除操作会触发 session/disposed 事件,将会话从内存中摘除并同步给所有客户端,同时删除对应的磁盘目录 ~/.dsh/sessions/<项目>/<会话ID>/。

核心功能

  • 删除当前会话:同时移除内存中的会话对象和磁盘目录。
  • UI 入口:在会话头部工具区注册 Trash 按钮,与 Session log 按钮同排相邻。
  • 安全校验:会话 ID 需通过白名单校验(session- 前缀 + 受限字符集),防止路径注入。
  • 健壮性处理:延迟复查刚创建的会话目录,防止目录落盘晚于删除操作;单次队列上限 50 个,处理结果写入日志。
  • 持久化表现:侧边栏实时移除,重启后不会复活。

安装与启用

插件依赖 @deepseek-ai/schemastery,需要 dsh 0.1.x 环境及 pnpm。

# 安装
dsh plugin --profile web add github:chuling-lingling/dsh-plugin-session-delete

# 卸载
dsh plugin --profile web remove dsh-plugin-session-delete

安装后重启 dsh web 即可生效。

典型用法

  1. 打开任意会话。
  2. 点击会话页面顶部标题行、Session log 按钮左边的 Trash 按钮。
  3. 在确认弹窗中点击确认。

执行后,当前会话会从侧边栏和磁盘上消失,正在运行的会话会被强制终止,界面会自动切换。

适用场景与注意

  • 适用场景:需要清理本地会话存储、保持侧边栏整洁的用户。
  • 不可恢复:删除操作不可逆,确认弹窗是唯一防线。
  • 按钮显示:头部 Trash 按钮只在非空白会话(有对话内容的会话)显示。
  • 无批量列表:插件不提供批量删除列表,需逐个打开会话进行删除。
  • 入口变更:v0.3.0 版本已移除设置页入口,仅保留聊天页 Trash 按钮。

结尾

该插件填补了 DeepSeek Harness 在会话管理上的关键空白,提供了真正意义上的数据清理能力。更多详情可查阅插件目录或源码。

羽毛球分组比赛记分
小程序二维码

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

小夜