Bundle
dsh-turn-hard-delete
Delete one complete closed turn from a DeepSeek Harness session without deleting the session. Self-contained, decoupled, removable.
- Source
- shuanzhe
- License
- MIT
- Updated
- Updated 9 days ago
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 / 安装 ```sh 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
Install
dsh plugin --profile web add github:shuanzhe/dsh-turn-hard-delete
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-turn-hard-delete from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.