DSH Marketplace
EN

dsh-turn-rewind

Anionex/dsh-turn-rewind

对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

12213JavaScriptBSD-3-Clause源码

安装

把 dsh-turn-rewind 装进 DeepSeek Harness

npm 方式

直接拉已发布的 tarball,不用克隆整个仓库,也不需要额外配置。如果你用的是别的 profile,把 `web` 换成对应的名字。

GitHub 方式 · npm 包

从 GitHub 装会执行项目自己的构建脚本,而 pnpm 默认拦着不让跑——先跑一次这条命令,pnpm 会打印出要加到 ~/.dsh/profiles/web/pnpm-workspace.yaml 里 `allowBuilds` 下面的那个 key。

我们跑过之后

我们跑过,装得上

这里每条命令都在一次性容器里、对着干净 profile 真跑过,结果取自 harness 自己的记录,不是读源码猜的。 最近一次 13 天前.

挂进你的 README

实测可装 — dshmarketplace

给维护者的:badge 取这条 listing 最近一次 sandbox 实测的结果,重跑之后它自己会变,读者点开就是这页的完整记录。

安装前须知

装 dsh-turn-rewind 之前,先看这几条

  • 源码在这里: Anionex/dsh-turn-rewind——已进入社区精选库,DSH 自带的插件市场就是从这儿装的。
  • 开源协议:BSD-3-Clause。
  • 被收录在这里不代表通过了安全审计。插件是带着你 agent 的权限在跑。

AI 锐评

是什么 — 基于持久 Change Ledger,在 DeepSeek Harness 中实现对话和 workspace 状态的回溯。

谁该装 — 在使用 DeepSeek Harness Web profile 进行 agent 任务时,如果需要检查和恢复对话中某条消息前的 workspace 状态变化。 如果你不使用 Git worktrees 管理 workspace,则此插件不适用。

注意 — 实测在全新 profile 中成功安装并注册,未发现明显的坑。但在配备 DSH Agent 服务的 profile 下,部分用户消息的 rewind 点捕获可能失败,导致无法使用。

锐评 — 我会装它,因为它通过 Change Ledger 实现了 durable snapshot 和 human review 的 restore 流程,而非自动变更。

grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。

dsh-turn-rewind 是做什么的

Layered file states pass through checkpoints into a verified restored workspace, with a rescue copy branching aside.

dsh-turn-rewind 是一个 DeepSeek Harness 插件,用于把项目文件恢复到某条用户消息发送前的状态,并可从该消息之前重新开始会话。它在 Web profile 的直接用户消息下添加 Rewind 操作;在 agent 处理首条用户消息前,通过 agent/pre-step waterfall 保存隐藏检查点。打开操作后,/turn-rewind 根据 user/message 序列读取已保存的工作区状态,生成带有效期且绑定当前会话的恢复计划和文件预览。

底层 ctx.changeLedger 维护持久化、内容寻址的恢复点。最终确认前只读不写;执行时再次检查路径与 Git worktree、HEAD、branch 及进行中的操作,先创建 rescue point,再恢复并校验 hash。它不会 commit、stash、reset、切换 branch,也不会修改 Git index。恢复只能由对话框最终按钮或显式 service API 调用触发。

它适合在普通 Git worktree 中同时需要文件回退和可选会话重启的场景。不适合 sparse checkout、submodule gitlink、被忽略文件、特殊文件或非 Git 目录,也不负责恢复 Git metadata 和 index。若文件本来没有变化,应使用 DSH 原生 Branch 操作进行仅会话分支。

dsh-turn-rewind 的文档

行为说明

Web profile 会在每条直接用户消息下显示 Rewind。对话框通过 user/message 定位消息,分页预览受影响文件,并生成短时有效、绑定会话的计划;预览不会写入文件。计划可只恢复文件,或恢复文件后创建一个停在目标消息之前的新 Session,并把该消息文本放回 composer。共用同一 worktree 的运行中 Agent 会阻止恢复。

若 profile 提供 DSH Agent service,插件在首条消息处理前的第一个 agent/pre-step waterfall 中保存隐藏检查点。保存失败会报告,但不会拒绝本次 turn。Web 的 /turn-rewind 使用 DSH 官方 Host create/fork lifecycle 创建子会话。

Change Ledger

ctx.changeLedger 管理内容寻址的 restore-point manifest 和持久恢复状态。写入前会创建 rescue point,再检查路径和 Git 状态;恢复后校验 hash,失败可回滚,启动时会协调中断的 restore journal。格式见 docs/FORMAT.md,安全与失败模型见 SECURITY.md。

包集成

这是 DSH Profile Bundle。package.json 声明 dsh.bundle.patch,cordis.patch.yml 挂载 @anionex/dsh-turn-rewind,不修改 DSH core。修改 bundle 列表后需重启运行中的 profile。

已知限制

Version 0.1 只支持普通 Git worktree:tracked file、缺失的 tracked path、未被排除的 untracked file、普通文本或 binary file、symbolic link,以及可移植 permission bit。不支持 sparse checkout、submodule gitlink、ignored file、special file、非 Git 目录、Git index 或 repository metadata,也不保存 ACL、ownership、timestamp、extended attribute 和 hard-link topology。commit、branch、HEAD、index、stash 均保持不变。

根据项目自己的文档整理,会跟着上游更新。两边对不上时以源码仓库为准—— 去 GitHub 看原始 README

同一分类

dsh-turn-rewind 的同类插件

2.2k

DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。

我们跑过,装得上

GitHub 源码JavaScript3 天前

AI 锐评

dsh-infinite-gen-4

是什么 — 这是一个 DeepSeek Harness 插件,提供针对 DeepSeek V4.1 的 jailbreak prompts 和测试套件。

谁该装 — 在使用 DeepSeek V4.1 进行网络安全红队测试时,需要测试模型对抗防御能力的人适合装它。 如果使用的是非 DeepSeek V4.1 模型的人不必装。

注意 — 沙箱测试在全新 profile 中安装并注册成功。 插件会执行 shell 命令。

锐评 — 我会装它,因为它提供了针对 DeepSeek V4.1 的红队测试套件,但前提是严格按照法律免责声明在受控环境中使用。

grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。去看源码
1源码
2.1k

DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。

我们跑过,装得上

GitHub 源码JavaScript9 天前

AI 锐评

dsh-infinite-gen-3

是什么 — 注入 DeepSeek Harness 的无限三代系统提示词,引导模型在 内建立代码构建逻辑自洽。

谁该装 — 在使用 DeepSeek Harness 进行 DeepSeek-V4 任务时适合安装。 当用户使用非 DeepSeek-V4 模型时,不适合安装此插件。

注意 — 沙箱实测通过:在全新 profile 里安装并被 harness 注册。没发现明显的坑。

锐评 — 我不会安装,因为它会执行 shell 命令,这不是最优的做法。

grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。去看源码
1源码

dsh-synapse

liangmianya

409

DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。

我们跑过,装得上

npm 包JavaScript1 个月前

AI 锐评

dsh-synapse

是什么 — 将同一工作区内的会话、追问和分支组织成可浏览的对话地图,同时保留DSH原生会话作为唯一事实来源。

谁该装 — 使用DeepSeek Harness web profile进行非线性对话的用户,在需要组织多轮追问和分支时适合装它。 如果用户仅依赖原生线性对话流程,则无需此插件。

注意 — 实测在全新profile中安装并被Harness注册成功。 未发现明显的安装或运行问题。 画布布局数据保存在DSH_HOME/synapse/目录下。

锐评 — 换成我,会装它,因为它只投影已提交事件而不影响底层数据。

grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。去看源码
源码

billion-context

ranxianglei

213

billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。

我们跑过,装得上

npm 包TypeScript12 天前

AI 锐评

billion-context

是什么 — billion-context 是 DeepSeek Harness 的上下文压缩插件,它在任何 AI coding agent 和模型 API 之间充当代理,压缩长对话以节省 token。

谁该装 — 当你使用 DeepSeek Harness 在 Cursor 中进行大型编码任务,需要运行单个 marathon session 时,可以安装它。 如果你正在使用主机的内置上下文总结器,或者项目不需要如此长的会话,那么这个插件不适合。

注意 — 沙箱实测通过。在全新 profile 中安装并被 harness 注册。没发现明显的坑。

锐评 — 我会装它,因为它让 18.76B 累积输入 token 在 204800 token 模型上零违规通过。

grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。去看源码
1源码
198

把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

我们跑过,装得上

npm 包JavaScript9 天前

AI 锐评

dsh-chat-import

是什么 — 从 19 个 AI 编码代理导入完整聊天历史为可恢复的 DeepSeek Harness 会话。

谁该装 — 当你从一个编码代理切换到另一个时需要保持聊天连续性,此插件适用。 如果仅依赖单一 AI 代理聊天,则不需要此插件。

注意 — 沙箱实测通过:在全新 profile 里装上,并被 harness 注册进 profile。 会执行 shell 命令。 没发现明显的坑。

锐评 — 我会安装它,因为它支持从 19 个 AI 代理导入历史并导出回 Claude Code,但前提是你频繁切换工具。

grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。去看源码
1详情
165

通过可预览的五段式交接,将已有 DSH 会话迁移到另一个 Agent Preset;保留源会话,并可让目标会话暂停等待确认或立即继续。

我们跑过,装得上

npm 包JavaScript9 天前

AI 锐评

dsh-plugin-bridge

是什么 — 通过预览五段手交将现有 DSH 会话迁移到另一 agent preset,保留源会话并支持暂停或立即继续。

谁该装 — 当你在 DeepSeek Harness WebUI 中完成一半任务后,需要切换到不同 tool preset 继续时,此插件能通过五段预览迁移会话而不触及源历史。 假如你已经切换完所有任务,则此插件不会提供帮助,因为它专注于迁移现有会话阶段。

注意 — 实测在全新 profile 中通过安装后能被 harness 注册进 profile。静态检查提示会执行 shell 命令。未发现其他明显问题。

锐评 — 换成我,会装它,因为它在迁移时使源会话保持 untouched。

grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。去看源码
1源码