DSH Marketplace
EN

dsh-turn-rewind

Anionex/dsh-turn-rewind

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

773JavaScriptBSD-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 自己的记录,不是读源码猜的。 最近一次 昨天.

安装前须知

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

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

AI 锐评

是什么 — dsh-turn-rewind 为 DeepSeek Harness 添加用户消息回溯图标,支持通过 Change Ledger 恢复文件并可选重启。

谁该装 — 在使用配备 DSH Agent 服务的 Web 配置文件进行项目开发时,此插件会捕获预检点以支持消息锚定恢复。 如果配置文件不包含 DSH Agent 服务,则无需安装此插件,因为那里不会生成可用于回溯的检查点。

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

锐评 — 在需要审查恢复计划的项目开发中,我会安装它,因为 Change Ledger 能自动生成 rescue point 并在失败后回滚。

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.patchcordis.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 的同类插件

57

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

我们跑过,装得上

npm 包JavaScript昨天

AI 锐评

dsh-chat-import

是什么 — 导入 14 个 coding agents 的完整对话历史到 DeepSeek Harness 作为可恢复的会话,并支持反向导出回 Claude Code。

谁该装 — 在使用 Claude Code 的开发环境中,需要将之前的历史对话导入 DeepSeek Harness 继续聊天时,适合安装此插件。 如果你仅在单一 coding agent 环境中工作而不涉及从其他 agents 导入历史,可以不用此插件。

注意 — 通过 npm 一行安装后,在全新 profile 中测试通过并注册到 harness。 会执行 shell 命令,但未发现明显的坑。 source files 为只读,DSH engine 不会被触及。

锐评 — 如果需要跨 Claude Code 和 DeepSeek Harness 管理多 agent 历史的话,值得安装它,因为它提供了 full fidelity 同步和 portable bundle。

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

DSH plugin: Claude-style Chinese risk control & conversation autonomy for DeepSeek Harness web

我们跑过,装得上

GitHub 源码JavaScript3 天前

AI 锐评

dsh-claude-ux

是什么 — dsh-claude-ux 为 DeepSeek Harness web profile 提供 Claude 风格区域风控和自主对话结束能力。

谁该装 — 在使用 DeepSeek Harness web profile 处理中文用户消息时,需要自主对话管理的场景适合安装此插件。 如果你主要使用非中文对话且不涉及区域判定,此插件的反向风控特性在你的场景中作用有限。

注意 — 从源码安装时需要手动允许构建脚本执行。 沙箱实测通过,可在全新 profile 中正常注册并被 Harness 加载。 没发现明显的坑。

锐评 — 如果需要 Claude 风格的对话自主控制,我会装它,因为它支持独立本地判定且默认关闭以保护隐私。

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

把 append-only 会话日志导出为按轨迹来源分组的可读 Markdown 或 HTML。

没有一行式安装命令——这个插件在一个大仓库的子目录里,也没发 npm 包。

GitHub 源码HTML昨天

AI 锐评

plugin-session-export

是什么 — 导出 append-only 会话日志为 Markdown 或 HTML,按轨迹来源分组。

谁该装 — 在使用 DeepSeek Harness 处理 append-only 会话日志的人适合装这个插件。 如果不使用 DeepSeek Harness 的用户,不需要装它。

注意 — 沙箱没有实测,没发现明显的坑。使用时需要提供 API key 或 token,会执行 shell 命令。

锐评 — 如果需要把 append-only 会话日志转为可读格式,我会安装它。

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

跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

我们跑过,装得上

npm 包TypeScript昨天

AI 锐评

dsh-interconnect

是什么 — DSH 实例间通过互联服务器交换消息和事件。

谁该装 — 当需要跨实例消息和事件推送时适合安装此插件。 如果你仅使用单个 DSH 实例,则可以跳过此插件。

注意 — 沙箱实测在全新 profile 安装并被 harness 注册进 profile 通过。 静态检查显示会执行 shell 命令。

锐评 — 我会安装它,因为它提供了跨实例通信工具,但默认不唤醒离线 session。

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

基于分支的消息编辑、reroll、重试与版本时间线。

我们跑过,装得上

npm 包TypeScript2 天前

AI 锐评

dsh-message-edit

是什么 — dsh-message-edit 是 DeepSeek Harness 的插件,它提供基于事件溯源的消息编辑、重生成以及版本时间线管理功能。

谁该装 — 当你需要在 DeepSeek Harness 会话中编辑已落定的用户消息、助理 reasoning 块或回复文本,并在 Timeline 中重试特定历史回合时,该插件能提供支持。 如果你的对话流程不需要版本分支切换或 Timeline 展示,那么可以不安装此插件。

注意 — 沙箱实测显示,在全新 profile 安装后该插件被 harness 注册进 profile。 静态检查提示插件会执行 shell 命令。 未发现明显的运行时问题。

锐评 — 我会装它,因为它允许在不修改历史事件的前提下切换会话版本,这对精确控制多轮对话流程有帮助。

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

DeepSeek Harness account monitoring, usage accounting, completion alerts, official recharge, flexible layout, and agent-assisted session controls. / 账户监控、提醒、充值与会话控制中心

我们跑过,装得上

npm 包JavaScript2 天前

AI 锐评

deepseek-harness-control-center

是什么 — DeepSeek Harness 控制中心是一个侧边栏工具,用于账户监控、会话使用记账、完成提醒和官方充值。

谁该装 — 当需要在 DeepSeek Harness composer 侧边栏实时查看官方余额和会话消耗时适合安装。 如果用户更喜欢集中式全页面管理,而非侧边栏控件,则不必安装此插件。

注意 — 沙箱实测通过,在全新 profile 安装并被 harness 注册。 从 npm 安装无需额外配置,未发现兼容性问题。 未发现明显的性能或功能缺陷。

锐评 — 我会安装它,因为它能将分散的监控信号集中在一处查看。

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