DeepSeek Harness Hub
← 返回列表

chuling-lingling/dsh-plugin-session-delete

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
未验证

删除dsh的会话内容

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/11 · 已提供中文文档
综合分
30.2
GitHub 分
30.2
用户评分
★ Stars
1
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/chuling-lingling/dsh-plugin-session-delete.git
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-plugin-session-delete

给 DeepSeek Harness (dsh) 补上删除会话能力 —— 入口只有一个:会话页面顶部 Session log 左边的「Trash」胶囊按钮(垃圾桶图标 + 文字,与 Session log 同款式同排设计),删除当前会话。

它解决什么问题

dsh 0.1 没有删除会话的功能:侧边栏三点菜单只有 重命名 / 分叉 / 归档,API 没有 delete 路由,JSONL 持久层是 append-only 的。归档只是隐藏,数据一直留在磁盘上。这个插件把删除补齐:同时移除内存中的会话和 ~/.dsh/sessions/// 磁盘目录,删除后会话从所有打开的页面上实时消失,重启后也不会复活。

工作原理

dsh 的三点菜单(重命名/分叉/归档)是内置前端的硬编码数组,没有开放插槽;会话头部的工具区有官方开放插槽 conversation.session.header.utilities(Session log 就在那里),删除按钮注册在同一排:

- 宿主端(本插件的 node 半边):注册设置命名空间 session-delete 作为删除队列(内部通道,不在设置页渲染卡片);浏览器把会话 ID 写进 pending,宿主逐个处理 —— 从会话仓库摘除(触发 session/disposed 事件,API 代理会把它推给所有打开的客户端,侧边栏实时移除),再删除磁盘目录。
- 浏览器端(本插件的 web 半边,经 dsh.client 声明分发):在会话头部 conversation.session.header.utilities 插槽注册 Trash 按钮,删除当前会话。

使用

打开会话 → 顶部标题行、Session log 按钮左边 → Trash → 确认 → 会话删除,界面自动切走。

删除会同时从列表和磁盘上消失;正在运行的会话会被强制终止。设置页没有删除入口。

环境要求 / 安装 / 卸载

从 GitHub 直接安装(推荐)
dsh plugin --profile web add github:chuling-lingling/dsh-plugin-session-delete

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

安装后重启 dsh web 即可生效。前置要求:dsh 0.1.x、pnpm(npm install -g pnpm)。

安全设计

- 会话 ID 先过白名单校验(session- 前缀 + 受限字符集)才会接触文件系统,没有路径注入面
- 删除"刚创建的会话"时目录可能晚于删除落盘,插件会延迟复查一次,保证目录不会漏网
- 单次队列上限 50 个,处理结果写入 log(最近 50 条,在 ~/.dsh/settings.yaml 的 session-delete 段)供核查
- 一切失败(会话不存在、目录缺失、删除出错)都降级为日志行,不会中断队列

已知边界

- 删除不可恢复,确认弹窗是唯一防线
- 侧边栏三点菜单(重命名/分叉/归档)是内置前端的硬编码菜单,插件体系没有开放插槽;删除按钮放在了会话头部操作区
- 头部按钮只在非空白会话显示(空白会话的头部本身是隐藏的);空白会话发一条消息后即可删除
- 当前打开着的、被删除的会话,其聊天视图会随之失效并自动切换
- 没有批量列表:要删其他会话,打开那个会话再点 Trash,彻底程度与原先设置卡片相同(同一条删除队列)

包内容 / 发布

lib/index.js(宿主半边)+ lib/client.js(浏览器半边)+ cordis.patch.yml + package.json(dsh.bundle 注册插件行,dsh.client 声明浏览器模块)。发布流程与 reasoning-efforts 插件一致:npm pack --dry-run 检查后 npm publish。

变更记录

- 0.3.0 去掉设置页「会话删除」卡片;只保留聊天页 Trash,删除仍走同一队列(内存 + 磁盘)
- 0.2.2 按钮移入 Session log 所在的头部工具插槽,两者同排相邻,间距精确 1cm(38px)
- 0.2.1 按钮改为与 Session log 同款的胶囊设计(垃圾桶图标 16px + “Trash” 文字,悬停效果,与 Session log 保留间距)
- 0.2.0 新增会话头部删除按钮(Session log 左边的垃圾桶小按钮,官方 conversation.session.header.actions 插槽)
- 0.1.0 初始版本:设置卡片 + 删除队列;内存摘除 + 磁盘目录删除;创建窗口边缘情况的延迟复查

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(chuling-lingling)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群