使用 dsh-plugin-session-delete 在 DeepSeek Harness 中彻底删除会话

前言

DeepSeek Harness(dsh)是 DeepSeek AI 开源的智能体运行时,官方仓库的定位是「Everything is a Plugin」:界面、工具、工作流都以插件形式挂载。日常使用里,侧栏的归档可以把对话藏起来,但磁盘上的会话日志往往还在;Web 端也缺少一条「把这条会话彻底删掉」的入口。调试 harness、会话历史不同步、损坏会话占着侧栏时,这个问题会更明显。

社区维护者 lsz-asd 做了 dsh-plugin-session-delete。它在会话头部放垃圾桶按钮,在侧栏会话行的「…」菜单里加「删除会话」,确认后会删除会话日志、投影缓存和工作区记账。本文根据插件目录页、GitHub 仓库 README 与源码交叉核对后,整理它的安装与使用方法。

需要先说明一点:DeepSeek Harness 插件社区目录(deepseek-harness-plugin.com)是独立站点,与 DeepSeek / 幻方没有官方从属关系,不能当成官方应用商店。

这是什么

dsh-plugin-session-delete 是一款「会话与消息」类插件,由 lsz-asd 维护。npm 包名为 @huanlin/dsh-plugin-session-delete,当前版本 0.3.1(2026-08-14)。主要语言是 JavaScript,package.json 要求 Node.js >=20。GitHub 仓库截至本文核实时为 20 星;社区目录页当时显示 13 星,星标以仓库页面为准。

它解决的是「归档不够彻底、Web 端没有删除入口」。确认删除后,会同时处理磁盘上的会话目录、投影缓存,以及工作区里的会话记账,避免下次 flush 又把会话写回去。package.json 把客户端平台标成 web;README 写明可在 Web 中使用,并声称理论上兼容一切 Web 套壳客户端,仓库简介也提到桌面客户端。

核心功能

根据 README 与仓库里的 src/index.jssrc/client.js,当前版本主要提供下面这些能力。

1、会话头部的垃圾桶按钮。插件往 conversation.session.header.actions 插槽注册一个危险操作按钮,当前会话可以直接点删除。

2、侧栏会话行「…」菜单里的「删除会话」。官方 rc.6 的会话行菜单(重命名 / fork / 归档)没有扩展插槽,插件在 DOM 层注入菜单项。点击后按标题匹配目标会话,不会先跳转到那条对话

3、风险确认弹窗。点击上述任一入口后,会弹出确认框,展示会话名称和会话 id;必须勾选「我已了解后果,确认删除」后,「删除」按钮才可用。若会话正在运行,弹窗会额外提示:删除会立即停止任务并永久删除,进行中的操作无法恢复。

4、删除链路。确认后,宿主端会按顺序处理:若有运行中的 agent,先 cancel 并等待其静止(最多约 15 秒);flush 活动会话,避免 dispose 阶段回写日志;删除 ~/.dsh/sessions/ 下对应目录(同时清理原始 uuid 与 session- 前缀两种 id);清理投影缓存;磁盘日志确认消失后,再解除工作区记账(sessionIds 与归档集合)。v0.3.1 专门修过「半删除后会话掉进未分组」的问题。

5、删除后就地刷新列表,不整页重载。若删的是当前会话,客户端会打开剩余列表中的下一条,方便继续工作。

6、Agent 工具 workbench_session_delete。智能体可以按 sessionId(uuid 或 session- 形式)直接删除一条会话,删除内容与界面入口相同。工具在有无 Web 界面的 profile 里都会注册;HTTP 接口(GET /__chameleon/session/listPOST /__chameleon/session/delete)只在存在 webServer 时挂上,纯终端 profile 不会因此卡住。

7、中英文文案。v0.3.0 起,删除对话框、头部按钮和侧栏菜单项接入客户端 zh/en 字典,跟随界面语言(设置中的语言或浏览器语言)切换;没有 locale 服务时,按浏览器语言回退到内置字典。

安装与启用

插件目录页给出的安装命令如下,在 DeepSeek Harness 终端中运行即可:

dsh plugin add github:lsz-asd/dsh-plugin-session-delete

dsh CLI 会从 GitHub 解析插件并安装到当前配置。如需可复现安装,请固定 commit 哈希。本文核对仓库 main 时,最新提交是 352510e552983dcfcb993cf9124181c55e2070f5(2026-08-14,对应 v0.3.1):

dsh plugin add github:lsz-asd/dsh-plugin-session-delete#352510e552983dcfcb993cf9124181c55e2070f5

README 还提供了本地路径安装的写法,适合先 clone 再装进指定 profile:

dsh plugin --profile <profile> add file:C:/path/to/dsh-plugin-session-delete

安装后需要重启该 profile 才会生效。目录页也写明:插件以当前 dsh 进程的权限运行,安装时可能执行代码;安装前请检查源代码仓库和许可证。

典型用法

界面删除可以按下面步骤操作。

1、打开 DeepSeek Harness 的 Web 界面(或兼容的 Web 套壳客户端),进入任意会话。

2、在会话顶部点击垃圾桶按钮;或者不打开目标会话,直接在侧栏对应行的「…」菜单里选「删除会话」。

3、在弹窗中核对会话名称和序列号。若提示「会话正在运行」,确认自己确实要中断该任务。

4、勾选「我已了解后果,确认删除」,再点「删除」。成功后侧栏列表会刷新;当前会话被删时,界面会切到剩余的下一条。

如果希望由智能体来删,需要提供会话 id。工具名为 workbench_session_delete,参数是 sessionId。README 没有给出对话示例,调用时以工具描述为准:它会永久删除该会话的日志、投影缓存和工作区记账;删除后调用方应用会话列表或 workbench_status 自行确认结果。

适用场景与注意事项

这个插件适合已经在用 DeepSeek Harness Web 界面、需要真正清掉本地会话而不是只做归档的人,例如:试错产生的废会话、损坏且无法同步的历史、以及想从侧栏彻底去掉某条记录的情况。它不是会话管理套件,没有回收站、批量导出或取消归档;同类目录里还有功能更全的会话管理插件,需求不同应分开选。

使用前需要注意下面几点。

  • 删除不可恢复。弹窗文案写明会永久删除会话及其全部对话记录(会话日志、统计与工作区记账)。
  • 运行中的会话仍可删,但会先停 agent。不要在长任务做到一半时误点。
  • workbench_session_delete 会把同样的删除能力交给智能体。若你的 profile 会跑不可信任务,安装前应评估是否接受这一工具。
  • package.json 声明许可证为 MIT,但仓库根目录没有独立的 LICENSE 文件,GitHub 也未识别许可证。安装前应自行核对源码与许可声明。
  • 插件以当前 dsh 进程权限运行,会读写 ~/.dsh/sessions/ 等工作区数据。只从自己信任的仓库安装,并尽量固定 commit。
  • 客户端声明平台为 web。纯终端、没有 Web 界面的 profile 只能用工具删除,没有头部按钮和侧栏菜单。

小结

dsh-plugin-session-delete 把「彻底删除会话」补进了 DeepSeek Harness 的 Web 界面:头部按钮、侧栏菜单、勾选确认,以及磁盘日志、投影缓存、工作区记账的一致清理。当前版本是 0.3.1,维护者是 lsz-asd。它是社区开源插件,不是官方内置功能;装之前先看源码和许可证,确认自己接受「真删、不可恢复」再使用。

目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-plugin-session-delete/

GitHub:https://github.com/lsz-asd/dsh-plugin-session-delete

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

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

小夜