前言¶
在 DeepSeek Harness(DSH)里长期跑智能体时,侧边栏会积累大量已归档会话。归档能停住 agent、把会话从活跃列表挪走,但磁盘上的 JSONL 与工作区注册信息仍会保留。若需要彻底清掉某条归档记录(而不是只隐藏),要么依赖社区里专门做批量清理的插件,要么自己调接口。下面介绍维护者 Joey-K-tsubame 发布的 dsh-delete-archived:在「仅归档会话可删」的前提下,提供侧边栏二次确认删除,以及供助手调用的删除工具。
这是什么¶
dsh-delete-archived 是面向 DeepSeek Harness 的插件,用于永久删除已归档(archived)的对话。源码与说明见 GitHub 仓库,社区目录页为 skillhub.cn 上的条目。当前 package 版本为 0.1.4,许可证 MIT,运行时零额外 npm 依赖。
与目录里已有的 dsh-archived-chats 相比:后者侧重列出并批量移除归档会话;本插件不重复实现那一套 bulk 能力,增量主要是 (1) 侧边栏每条归档会话「…」菜单里的 Delete conversation;(2) 助手可调用的 delete_archived_conversation 工具。若你只需要批量清理、不想要菜单和模型工具,README 建议选用依赖更小的 dsh-archived-chats。
核心功能¶
宿主侧(lib/entry.js)¶
宿主注册两条 HTTP 路由与一个 agent 工具:
POST /plugin/dsh-delete-archived/delete,请求体{ "sessionId": "..." }GET /plugin/dsh-delete-archived/list- 工具
delete_archived_conversation(sessionId),可在对话中由助手调用
删除会移除该会话的 JSONL 存储目录(各代格式一并删除),并清理工作区注册:归档标记、置顶标记、各 workspace 的 session 计数。未归档的会话、或仍驻留在内存且会继续 flush 日志的活跃会话会被拒绝(活跃会话可能在下次写入时「复活」数据)。
客户端(lib/client.js)¶
在侧边栏每个会话的「…」菜单中增加 Delete conversation,仅对已归档会话显示。流程为两步确认;若服务端拒绝删除,会在界面内联展示错误。
行为说明(README 摘录)¶
- 必须先归档,才能删除。
- 按会话串行删除。会话仍被 host 持有本身不是拒绝理由:归档已停止 agent,
ArchivedSessionGate会拒绝后续 step,日志不再写入;响应里可能带heldAtDelete作为说明。 - 内容寻址的图片附件可能跨会话共享,插件不做引用计数,删除会话时不保证清理这些附件。
- 若部署启用了内容搜索,SQLite 索引行会在下次搜索时自动清理;README 对
:memory:/openAt: never的索引部署说明无需额外索引清理。
安装与启用¶
引擎要求(package.json):Node ^22.19.0 || >=24.0.0,dsh >=0.2.0-rc.2-0 <0.3.0-0。安装前请退出 Desktop 应用;--profile 为必填。
本地目录安装:
dsh plugin --profile <profile> add <absolute/path/to/this/dir>
从 GitHub 安装:
dsh plugin --profile <profile> add github:Joey-K-tsubame/dsh-delete-archived
安装后重启 Harness,让新 bundle 参与 compose。该包为纯 JavaScript、无构建步骤,从 GitHub 安装时 README 写明不需要 allowBuilds 代码执行审批。
典型用法¶
人在侧边栏删除¶
- 将要清理的会话先归档。
- 在侧边栏找到该归档会话,打开「…」菜单。
- 选择 Delete conversation,按提示完成两步确认。
助手通过工具删除¶
在对话中,助手可调用 delete_archived_conversation(sessionId)。也可由外部脚本或集成调用 POST /plugin/dsh-delete-archived/delete;列举可删对象可用 GET /plugin/dsh-delete-archived/list。
列举与删除的 HTTP 路径前缀均为 /plugin/dsh-delete-archived/。
适用场景与注意¶
适合谁:需要在 DSH 里对单条归档会话做不可恢复的清理,并希望有 UI 入口或让助手在自动化流程里删归档记录的开发者和日常用户。
与 dsh-archived-chats 的选型:只要批量清理 → 优先考虑 dsh-archived-chats;要归档会话菜单 + 模型可调用工具 → 用本插件。
破坏性工具:delete_archived_conversation 为 model-invocable,助手调用时没有第二次确认,删除无法撤销。侧边栏路径才是人工确认路径;不要把该工具放进你不希望自动删归档会话的工作流。
安全与信任:插件在当前 dsh 进程权限下运行,安装前请阅读源码与 MIT 许可证,确认删除范围符合预期。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-delete-archived 把「永久删除已归档对话」收敛成侧边栏可点的菜单和宿主上的 HTTP / 工具接口,并明确与 dsh-archived-chats 的分工。需要进一步了解参数与边界时,以仓库 README(含 README.zh.md)为准。
- 目录页:https://www.skillhub.cn/plugins/Joey-K-tsubame/dsh-delete-archived
- GitHub:https://github.com/Joey-K-tsubame/dsh-delete-archived