在 DSH Web GUI 设置页管理对话记录:可删除整个会话(归档并物理删除日志),或按用户消息分组浏览并删除单条消息(删除用户消息会级联删除其引发的助手与工具消息)。运行中与当前会话受保护。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:haoranwang0921/dsh-session-cleaner
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness Web GUI 插件:在设置页中管理并删除对话记录。
功能
- 删除整个会话:归档会话并物理删除其持久化日志(JSONL 目录),同时清理该会话的消息反馈数据。
- 删除单条对话记录:按用户消息分组展示对话内容;删除一条用户消息会级联删除它引发的所有助手回复与工具消息。
- 分组查看:设置页「会话管理」中,点击一条用户消息可展开其引发的助手/工具消息,子消息可单独删除。
- 安全边界:正在运行的会话与当前会话不可删除整会话;只有 agent 真正在跑任务(mid-turn)的会话会被 Host 拒绝,空闲会话即使仍被宿主加载也不影响删除。单条消息删除仍拒绝任何 live 会话(Host 端校验),以保证与内存状态一致。
运行环境
- DeepSeek Harness Web GUI(
dsh web)。
安装(正式插件,随 DSH 启动自动加载)
本仓库是一个 dual-face 插件包:node half 运行在宿主进程(/api/session-cleaner 路由),browser half 通过 dsh.client 声明加载进 Web GUI。
# 1. 安装到 profile(本地开发用 link 路径;或发布 npm 后用包名)
dsh plugin --profile web add link:C:\path\to\dsh-session-cleaner
# 2. 重启 dsh web
dsh web
安装后插件随 DSH 启动自动加载,无需每次重新安装。使用入口:设置 → 会话管理。
更新代码后无需重新构建(本仓库为纯 JS),重启 dsh web 即可。
工作原理
cordis.patch.yml(dsh.bundle.patch)向 profile 组合插入一行session-cleaner插件。package.json的dsh.client声明让浏览器半从/plugins/<id>/client.js加载;exports["./client"]指向 bundle。- node half 通过
webServer注册/api/session-cleaner/*路由(仅回环访问),浏览器半通过fetch调用。
卸载 / 更新
dsh plugin --profile web remove @haoranwang0921/dsh-session-cleaner
或直接编辑 $DSH_HOME/cordis.patch.yml / profile 的 cordis.patch.yml,把 session-cleaner 行禁用或删除。
删除语义(重要)
DSH 会话日志是 append-only 的:
- 删除整个会话:物理删除该会话的日志目录,记录彻底移除(内容寻址的共享附件除外)。
- 删除单条消息:通过 surface replace 机制把目标消息从模型上下文移除(与
/compact压缩同款语义),但原始事件仍保留在日志与人类转录中;本插件列表中该消息会消失。
文件结构
lib/index.js— node half(Host 端):/api/session-cleaner/*路由与删除逻辑。lib/client.js— browser half:设置页「会话管理」分组视图。cordis.patch.yml— bundle patch(向 profile 插入插件行)。dynamic/— 旧版动态 Cordis 插件格式(cordis_define/cordis_run加载,DSH 重启后需重新加载),保留作参考。LICENSE— Apache-2.0。
免责声明
删除操作不可逆。请在操作前确认目标会话/消息;作者不对数据丢失负责。
链接
同类插件
Minglink/dsh-infinite-gen-4★ 2365
DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
ranxianglei/billion-context★ 594
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
liangmianya/dsh-synapse★ 483
DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
Nwflower/dsh-chat-import★ 210
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
Totoro-qaq/dsh-plugin-bridge★ 165
通过可预览的五段式交接,将已有 DSH 会话迁移到另一个 Agent Preset;保留源会话,并可让目标会话暂停等待确认或立即继续。
Anionex/dsh-turn-rewind★ 131
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。