dsh-turn-hard-delete
Verifieddsh-turn-hard-delete · v0.1.0 · MIT · Web UI
Delete one complete closed turn from a DeepSeek Harness session without deleting the session. Self-contained, decoupled, removable.
Install
dsh plugin add dsh-turn-hard-delete Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-turn-hard-delete
Delete one complete closed turn (question + answer + tool calls) from a DeepSeek Harness session, without deleting the session. The deletion is recorded in the session log, so the turn stays gone after reloading.
删除 DeepSeek Harness 会话中的一整轮对话(提问 + 回答 + 工具调用),不影响会话本身。删除结果写入会话日志,刷新后不会复活。
Install / 安装
dsh plugin --profile web add dsh-turn-hard-delete
Requires the plugin to be registered in the profile's dsh.profile.bundles (the add command does this automatically). Restart the web service afterwards.
需要重启 dsh web 服务后生效(dsh plugin add 会自动写入 bundles 登记)。
Usage / 用法
- Hover over a message in the chat. / 鼠标悬停到对话消息上。
- Click the Delete this turn / 删除这一轮 button in the turn tail. / 点击轮次尾部的"删除这一轮"按钮。
- Confirm in the dialog. / 在弹出的确认框里确认。
The whole turn disappears from the UI immediately; the tombstone written to the session log keeps it hidden on reload. Only fully closed turns can be deleted; a running turn must finish first.
删除后整轮立即从界面消失;写入会话日志的墓碑标记保证刷新后依然隐藏。仅支持已关闭的轮次,运行中的轮次需先结束。
How it works / 原理
- Backend: writes a
user/messagetombstone event (empty content,source.kind: "plugin") and replaces the turn's event range in the session log via asurfaceOpreplace. / 后端在会话日志中写入空的user/message墓碑事件,并用surfaceOpreplace 替换掉该轮的事件区间。 - Frontend: a small slot component exposes the delete button and hides the turn's DOM rows by their
data-chat-turnmarker. / 前端通过 slot 注入删除按钮,按data-chat-turn标记隐藏该轮的所有消息行。 - Self-contained and decoupled: the plugin adds no persistent state of its own and can be removed by uninstalling the package and dropping the bundle entry. / 自包含、解耦,拔除插件不残留状态。
Notes / 注意
- Deletion is permanent for the turn's content; there is no undo. / 删除是彻底的,无撤销。
- This plugin deletes a single turn; it does not delete whole sessions. For session-level management, use a session manager plugin. / 本插件删除的是单轮对话,不删除整个会话;会话级管理请使用会话管理插件。
- Built against the turn/step surface model of
@deepseek-ai/dsh-session>=0.1.0-rc.6. / 基于@deepseek-ai/dsh-session>=0.1.0-rc.6的 turn/step 界面模型构建。
License / 许可
MIT