前言¶
在 DeepSeek Harness(dsh)里长期跑智能体会话时,侧栏会积累大量已归档条目。归档只是把会话标记为「已归档」,并不会停止仍在运行的 agent,也不会删掉日志目录和投影缓存。若需要彻底清掉某条归档会话及其磁盘数据,Harness 本体未必提供与侧栏操作一致的一键永久删除路径。dsh-delete-archived-session 针对这一类管理需求:仅在会话已归档时出现删除控件,并通过两步确认,在确认后停止该会话相关工作、删除日志与缓存记录,并从工作区侧栏移除对应行。
这是什么¶
dsh-delete-archived-session 是社区维护的 DSH 插件,仓库为 Cnily03/dsh-delete-archived-session,维护者 Cnily03。在插件目录站点上的分类为 admin-security。插件在 Web 或桌面 Harness 的侧栏中,为已归档的会话行提供永久删除入口;删除流程带 3 秒「武装」确认,避免误触。
核心功能¶
下面介绍插件在界面与后端上的行为,均来自仓库 README 与 package.json 的说明。
界面入口(仅归档会话)¶
控件只在对应行的会话处于已归档状态时渲染,有两处:
- 行悬停条(Hover strip):归档、置顶单元格之后显示垃圾桶图标。
- 「⋯」更多菜单:提供「Delete archived session」菜单项,点击后菜单会关闭。
控件复用宿主自带的 IconTrashOutlineRegular、Tooltip 和 MenuItemButton,视觉上与原生控件一致。
两步确认删除¶
删除需要两次有意为之的点击:
- 第一次点击:进入「武装」(armed)状态——控件变红,文案变为 Permanently delete,武装状态持续 3 秒。
- 武装期内再次点击:执行删除。若 3 秒超时,下一次点击仅重新武装,不会直接删除。
删除后的副作用¶
确认删除后,插件会:
- 停止该会话上仍在运行的工作;
- 从磁盘移除该会话的日志目录与 projection-cache 记录;
- 清理工作区会计信息,使侧栏对应行消失。
归档与删除的区别¶
必须先归档,才能删除。仅归档不会停止 agent,也不会删除任何文件;删除才是停止工作并清除文件的操作。
安装与启用¶
按运行环境选择 --profile web(dsh web 服务)或 --profile desktop(桌面应用),安装后需要重启 Harness。
# npm
dsh plugin --profile web add dsh-delete-archived-session
# GitHub(最新)
dsh plugin --profile web add github:Cnily03/dsh-delete-archived-session
桌面版也可在内置插件市场中安装。将上述命令里的 web 换成 desktop 即对应桌面 profile。
典型用法¶
- 在侧栏找到目标会话,先将其归档(若尚未归档,不会出现本插件的删除控件)。
- 在该归档行上悬停,点击悬停条中的垃圾桶图标;或打开「⋯」菜单,选择删除归档会话项。
- 第一次点击后等待控件变红并显示 Permanently delete。
- 在 3 秒内再次点击,完成永久删除。
开发或自研构建时,仓库根目录提供 pnpm install、pnpm build(tsup 输出至 dist/)等脚本;Host 逻辑在 src/index.ts(删除路由、停止/idle/flush/remove、清理与启动扫描),客户端两步控件在 src/client.ts。
适用场景与注意¶
适合谁:需要在本地或自托管 dsh 环境中清理已归档会话、并连同日志与投影缓存一并移除的管理员或日常使用者;与 admin-security 类插件一样,涉及会话生命周期与磁盘数据。
务必注意:
- 插件以当前 dsh 进程的权限 访问文件系统并执行停止、删除操作。安装前建议阅读仓库源码与 MIT License,确认行为符合你的安全与合规要求。
- 永久删除不可通过本插件撤销;归档与删除的语义差异见上文,误删前请确认会话已不再需要。
- 社区插件目录(如 SkillHub)与 DeepSeek / 幻方无官方从属关系,安装来源以你实际使用的
dsh plugin add命令或桌面市场为准。
package.json 中当前版本为 1.0.1,许可证 MIT,作者 Cnily03。
结尾¶
dsh-delete-archived-session 在侧栏为已归档会话补上带时限确认的两步永久删除,并负责停止任务与清理日志、投影缓存。若你要在 Harness 里做会话卫生而不是只堆归档标记,可按官方 README 安装并重启后再操作。