hanshenmesen/dsh-turn-delete 预览 preview

hanshenmesen/dsh-turn-delete

Plugin插件 Native原生 ⭐ 108 MIT Sessions & Context会话与上下文

从DeepSeek Harness会话中删除一整轮对话,而不删除该会话。

Project Overview项目介绍

This is a native DeepSeek Harness plugin built specifically for DSH session context management. It adds a delete button next to the final assistant response of each completed top-level turn, letting users remove a single full closed turn without deleting the entire session. It can be installed via three supported methods: from npm with dsh plugin --profile web add dsh-turn-delete, from GitHub directly, or from a prebuilt release tarball, and requires a restart of dsh web after installation. Uninstalling the plugin is also done via the DSH CLI with the remove command, which removes all related changes after a restart.

This plugin is intended for DSH users who want to clean up unwanted or erroneous single turns of conversation without discarding the entire session, including all its subsequent turns and metadata. After installation, the trash icon delete action only appears on completed ordinary turns, and deletion requires explicit user confirmation, which is disabled when the session is actively running. Deleting a turn removes all its prompts, assistant messages, and tool records from the current model context, while leaving the session ID, title, workspace association, later turns, and original event log intact. It also records a durable zero-content replacement event that persists after page reloads or profile restarts.

The plugin has specific compatibility requirements: it only works with DeepSeek Harness versions 0.1.0-rc.6 and 0.1.0-rc.7, requires Node.js 22.19 or newer, and only supports web profiles and web-based desktop shells. Like all third-party DSH plugins, it runs with Harness process permissions. Since DeepSeek Harness is still in developer preview, users are advised to test the plugin with a disposable test session after upgrading Harness. It is released under the permissive MIT open source license, and retains the original append-only event log for audit and replay even after turn deletion, so deletion does not erase historical data permanently.

这是一款面向 DeepSeek Harness 的原生会话上下文管理插件,核心功能是允许用户在不删除整个会话的前提下,删除对话中单个已完成的闭合轮次。删除按钮会出现在每个已完成顶级轮次的最终助手响应旁,支持通过 npm、GitHub 源码或预构建发布包三种方式,使用 DSH CLI 命令安装,安装后需重启 dsh web 生效。

当用户需要清理对话中错误或不必要的单轮内容,同时希望保留整个会话的ID、标题、关联工作区以及后续轮次内容时,这款插件非常适用。删除操作需要用户确认,仅对已完成的普通会话轮次生效,子代理转录内容不支持删除,也不会在会话运行过程中开放删除功能。

这款插件要求 DeepSeek Harness 版本为 0.1.0-rc.6 或 0.1.0-rc.7,需要 Node.js 22.19 及以上版本,仅支持 Web 配置文件和基于 Web 的桌面端环境,采用 MIT 许可证开源。删除操作会保留原始追加事件日志用于审计和重放,升级 Harness 后建议先用测试会话验证插件可用性。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 no risk signal found未发现风险信号
  • This site's static screen found no obvious risk signal (stars, license, activity, manifest)本站静态筛查没发现明显风险信号(星标、许可证、更新活跃度、清单完整度)
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-turn-delete

把 hanshenmesen/dsh-turn-delete 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-turn-delete

English | 中文

Delete one complete closed turn from a DeepSeek Harness conversation without deleting or replacing the Session. The action appears beside the final assistant response for each completed top-level turn.

Demo

Delete the middle turn after confirmation while keeping the same Session and its later turn. This was recorded through the real DeepSeek model flow on DeepSeek Harness 0.1.0-rc.7.

Delete one turn without deleting the Session

Install

From npm (recommended):

dsh plugin --profile web add dsh-turn-delete

From GitHub:

dsh plugin --profile web add github:hanshenmesen/dsh-turn-delete

From a prebuilt GitHub Release:

dsh plugin --profile web add https://github.com/hanshenmesen/dsh-turn-delete/releases/latest/download/dsh-turn-delete.tgz

Restart dsh web after installation. To remove it:

dsh plugin --profile web remove dsh-turn-delete

Behavior

  • A trash action appears only on completed ordinary Session turns. Subagent transcripts do not expose it.
  • Deletion requires confirmation and is disabled while the Session is running.
  • The prompt, assistant messages, and tool records for the selected turn are removed from the Session's current model surface.
  • The Session id, title, workspace association, later turns, and original append-only event log remain intact.
  • A durable zero-content replacement event records the deletion. Reloading the page or restarting the profile preserves it.
  • Repeating the same request is idempotent.

The plugin refuses deletion when the target turn is still open or has already been merged into a compaction replacement with other history. This prevents deleting only part of model-visible context.

Design

The Host half registers POST /dsh-turn-delete, claims the target Agent's maintenance lease, validates the complete closed-turn surface span, appends a zero-content replacement, and waits for sessions.flush() before acknowledging success.

The browser half contributes to the public conversation.chat.assistant-actions and conversation.chat.turnTail slots. A Conversation definition projects the durable tombstone onto the target Turn. DeepSeek Harness does not yet expose a public whole-Turn visibility hook, so the tail contribution applies a narrow presentation compatibility layer to the Chat rows between adjacent Turn tails. Model context deletion does not depend on that compatibility layer.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-mattpocock-skills-deck 下一个 Next dsh-rewind →