Skip to content

dsh-turn-hard-delete

Verified

dsh-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 / 用法

  1. Hover over a message in the chat. / 鼠标悬停到对话消息上。
  2. Click the Delete this turn / 删除这一轮 button in the turn tail. / 点击轮次尾部的"删除这一轮"按钮。
  3. 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/message tombstone event (empty content, source.kind: "plugin") and replaces the turn's event range in the session log via a surfaceOp replace. / 后端在会话日志中写入空的 user/message 墓碑事件,并用 surfaceOp replace 替换掉该轮的事件区间。
  • Frontend: a small slot component exposes the delete button and hides the turn's DOM rows by their data-chat-turn marker. / 前端通过 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