前言¶
DeepSeek Harness(DSH)在会话管理上默认只提供 Archive(归档):会话从列表隐藏,但磁盘上的数据仍保留。长期开发、反复 fork 或试跑智能体时,归档会话会堆积,既占空间也不利于整理。社区插件 dsh-session-delete 在会话行「…」菜单中增加 Delete session,经确认后连同磁盘数据一并删除,并同步清理工作区索引中的注册信息。
下面介绍插件定位、能力、安装方式与使用注意点。事实以 GitHub 仓库 README 为准。
这是什么¶
@mi-lu-uncle/dsh-session-delete 由维护者 mi-lu-uncle 发布,归类为 客户端 插件。它不改变 DSH 核心,而是在公开扩展点(会话菜单槽位 sidebar.workspaces.session.menu.item 及宿主侧清理路径)上,补全官方未提供的「永久删除会话」能力。
目标 DSH 版本为 0.2.0-rc.2 及更新的 0.2.x;README 写明已在 0.2.1-rc.2 上验证。包版本 1.0.1,许可证 MIT。
核心功能¶
菜单入口与确认¶
在左侧会话列表中,将鼠标悬停于某会话并打开「…」菜单。内置项 Pin / Rename / Fork / Archive 之后会出现 Delete session。点击后弹出确认框(展示会话标题),确认后由宿主执行删除。
删除时清理的数据位置¶
永久删除会处理三处数据:
- 会话目录:
~/.dsh/sessions/<workspace>/<session-id>/ - 投影缓存:
~/.dsh/storages/session_projcache/sessions/<session-id>.json - 工作区索引中的会话注册(
sessionIds以及 archive / pin 标记)
删除走 DSH 自身的 workspace-registry 写路径(detachSession / unarchiveSession / unpinSession),以保证持久化状态一致。成功后 UI 通过 api-session/removed 事件移除该行,无需手动刷新页面。
默认工作区自修复¶
若曾用 DSH 内置「删除工作区」误删默认工作区,可能出现悬空指针:会话落入 Ungrouped、无法新建会话等。插件在启动时会对 默认工作区(通过 defaultWorkspaceId 或上次记住的路径识别)重建注册并回迁会话;你主动删除的其他工作区不会被「复活」。
安全与边界¶
- 运行中的会话拒绝删除:与归档相同,依赖
workspace/session-activity检测;仅真正在跑的一轮对话、后台任务等会提示「this session is running」。空闲旧会话(即便仍在 DSH 内存中保活)可正常删除。 - 相关路由为同源围栏,仅接受来自 DSH UI 的请求。
- 全文检索索引为可重建的读模型,删除后短时间内搜索结果可能仍含旧条目,待下次重建后消失。
安装与启用¶
插件以 desktop profile 的本地目录 link 方式接入。先将仓库放到本机某绝对路径,再执行(路径需替换为你的实际目录):
dsh plugin --profile desktop add "link:/absolute/path/dsh-session-delete"
执行后 重启 DSH 生效。
也可手动编辑 ~/.dsh/profiles/desktop/package.json,在 dependencies 与 dsh.profile.bundles 中加入 @mi-lu-uncle/dsh-session-delete 及对应的 link: 路径,在该 profile 目录运行 pnpm install 后重启 DSH。
安装前建议阅读仓库源码与 MIT 许可证;插件在 当前 dsh 进程权限 下运行,删除操作不可恢复。
典型用法¶
- 在左侧会话列表中,将鼠标悬停于目标会话,点击「…」。
- 选择 Delete session。
- 在确认对话框中点击 Delete。
README 强调:删除 永久且不可逆,确认会话已不再需要后再操作。若会话仍被判定为运行中,需先结束或归档相关工作,再执行删除。
适用场景与注意¶
适合:需要在 DSH 桌面端彻底清理试跑会话、释放 ~/.dsh/sessions 与 projcache 空间,且接受社区扩展而非等待官方 API 的开发者。
注意:
- 社区插件基于 DSH 公开扩展点实现;若未来官方提供正式「delete session」 API,应优先采用官方能力。
- 目录站 SkillHub 插件页 为社区生态索引,与 DeepSeek / 幻方无官方从属关系;安装与行为以 GitHub README 为准。
- GitHub 星标当前为 0,不代表功能完整性,使用前自行评估维护者与代码。
结尾¶
dsh-session-delete 在 DSH 仅提供归档的前提下,用一次确认的菜单操作完成会话与磁盘数据的永久删除,并处理索引与默认工作区边界情况。需要接入时,可从 SkillHub 目录页 找到入口,安装与细节见 GitHub:mi-lu-uncle/dsh-session-delete。