dsh-chat-trash:在 DeepSeek Harness 侧栏永久删除会话

前言

DeepSeek Harness(DSH)侧栏里,每个 Session 通常可以归档、重命名或 Fork,但官方并未提供「彻底删掉这条会话」的入口。归档仍会保留日志副本;若只在磁盘上删文件而不从 session store 里摘掉,会话还可能在下一次启动前继续出现在 Ungrouped 里。社区插件 dsh-chat-trash(仓库 mars-area/dsh-chat-trash)在会话 ··· 菜单里增加 Delete chat…,确认后停止运行中的 turn、清理成员关系与标记,并删除本地 session 目录与 projection cache,然后刷新页面——不是移到归档,也不是进回收站。

下面介绍它做什么、如何安装,以及删除前需要知道的限制。

这是什么

dsh-chat-trash 是 DSH 的客户端向插件 bundle(chat-trash),由 mars-area 维护,当前 package 版本为 1.3.1,许可证 MIT。它在侧栏 Session 的 ··· 菜单末尾增加一行 Delete chat…,行为与官方 Pin、Rename、Fork、Archive 等项一致:使用 @deepseek-ai/dsh-client-ui-primitives 的 MenuItemButton,并带上应用自带的 IconTrashOutlineRegular 图标。

核心功能

确认删除后,插件会依次完成 README 中描述的操作:

  1. 停止该 chat 上仍在运行的 turn、job、subagent 或 scheduled reminder。
  2. 从 session store 中移除 live Session,侧栏立即不再列出;持久化层排空最后的事件并关闭 log handle。
  3. 清除 pin、workspace 成员关系以及 archive 标记,避免在其他视图里残留行或归档副本。
  4. 删除 <DSH_HOME>/sessions/<workspace>/<session-id>/ 目录,以及 <DSH_HOME>/storages/session_projcache 中对应行。
  5. 重新加载页面,避免对话 pane 仍显示已无 log 的会话。

空闲但未关闭的 chat 也可以删。DSH 会把打开过的 chat 留在内存里,因此插件不以「是否仍打开」作为可否删除的判断。

没有撤销:log 被删除而非归档。重要内容请先备份:Session 头里的 Download session log,或 /export 命令(导出含子 session 与附件的 ZIP)。

安装与启用

DSH 社区插件目录见 skillhub.cn 上的插件页;该站点为社区目录,与 DeepSeek / 幻方无官方从属关系。安装步骤以仓库 README 为准:

  1. 在 Harness Web UI 侧栏打开 Plugins。
  2. 选择 Add plugin → Install a third-party plugin。
  3. 填入仓库地址(短形式亦可):
https://github.com/mars-area/dsh-chat-trash

或:

github:mars-area/dsh-chat-trash
  1. 安装完成后,若 chat-trash bundle 未开启,在 Plugins 里将其打开。
  2. 打开任意 chat 侧栏 ··· 菜单,最后一行应为 Delete chat…。

本地开发时,可在第三步改为本机 checkout 的绝对路径(例如 C:\Users\<user>\projects\dsh-chat-trash),修改 client.js 或 index.js 后关闭再打开 bundle 以加载变更。

插件以当前 DSH 进程权限运行;安装第三方 bundle 前建议浏览仓库源码并确认 MIT 许可证是否可接受。

典型用法

日常流程很简单:

  1. 在侧栏选中要移除的 Session。
  2. 点击该 Session 行的 ···,选择 Delete chat…。
  3. 在确认对话框中确认;页面 reload 后,该 chat 从各视图消失。

若删除前需要留档,先执行 Download session log 或 /export,再使用 Delete chat…。

适用场景与注意

适合:本地试验会话、误建 workspace、或确定不再需要且已自行备份的 chat,需要从侧栏与磁盘上一并清掉,而不是归档。

限制(摘自 README):

  • DSH 设计上没有 delete API;本插件直接操作 persistence 目录。未来 Harness 若变更 log 布局或 sidebar.workspaces.session.menu.item 契约,插件可能报错(按钮会报告错误)或菜单项消失,需跟随更新。
  • 删除仅影响本机。已通过 Settings → General → Upload Session Log when using the official model API 上传的 log,无法从此插件侧删除。
  • 在 Plugins 里关闭 bundle 只会去掉菜单项;已经删掉的 chat 不会恢复。

实现结构(供查阅)

文件 作用
index.js Host:删除路由、停止工作、成员清理、文件删除
client.js 浏览器:菜单行、图标、确认流程
cordis.patch.yml 将插件行插入 profile
icon.png Plugins 页展示的 256×256 图标

维护与 issue 见 GitHub:https://github.com/mars-area/dsh-chat-trash。目录页:https://www.skillhub.cn/plugins/mars-area/dsh-chat-trash。

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

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

小夜