---
title: "用 Turn Rewind 0.2.0 恢复 DSH 文件或回溯消息"
seo_title: "DSH Turn Rewind 0.2.0：文件恢复与消息回溯"
description: "在 DeepSeek Harness（DSH）中配置 Turn Rewind 0.2.0，学习 Git-native 检查点、文件恢复、只回溯消息、救援点与清理。"
canonical: https://52dsh.com/tutorials/anionex-dsh-turn-rewind-install-config/
authors: ["52DSH 编辑部"]
audience: []
outcomes: []
prerequisites: ["Node.js 与 pnpm","独立 web Profile","可丢弃测试工作区"]
difficulty: advanced
estimated_action_time: null
next_steps: null
published_at: 2026-08-22
updated_at: 2026-10-06
verified_on: 2026-08-29
maintenance_status: community
verification_level: source_reviewed
risk_level: high
dsh_version: 0.1.1-rc.2
plugin_id: anionex-dsh-turn-rewind
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/anionex-dsh-turn-rewind/
---

# 用 Turn Rewind 0.2.0 恢复 DSH 文件或回溯消息

在 DeepSeek Harness（DSH）中配置 Turn Rewind 0.2.0，学习 Git-native 检查点、文件恢复、只回溯消息、救援点与清理。

<!-- BEGIN REVIEWED GUIDE SUPPLEMENT -->
## 2026-10-06 提示：两个接口不校验调用方

这是阅读固定提交源码得出的结论，本站没有发请求验证。DSH 一侧核对的是 0.2.0-rc.2 的源码；本页命令固定的 0.1.1-rc.2 没有单独核对。

- 插件把 `/turn-rewind` 和 `/turn-rewind/manage` 直接注册到 DSH 的 Web 服务上，处理函数里没有来源或身份检查（[rewind-host.ts](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/src/rewind-host.ts)）。DSH 0.2.0-rc.2 的 Web 服务对这样注册的路径[直接分发](https://github.com/deepseek-ai/deepseek-harness/blob/639ed015397290b3745d163aafe02ffee4aa3f84/packages/host/webserver/src/index.ts)，登录和来源校验只加在 [`/api` 前缀](https://github.com/deepseek-ai/deepseek-harness/blob/639ed015397290b3745d163aafe02ffee4aa3f84/packages/client/connection/src/index.ts)上，这两个路径不在其中。
- 影响：本机上能访问 DSH 端口的其他程序，可以查看检查点对应的工作区路径、把文件回退到某个检查点、删除检查点。它不能写入任意内容，也读不到文件内容；回退前插件会先建救援点。
- 建议：不要在多人共用的机器上使用，也不要在对局域网开放的 Profile 里使用；重要工作区先提交或另做备份。
- **新版本 0.3.9 本站已复核，暂不升级。** 这两个接口在 0.3.9 里[仍然没有校验](https://github.com/Anionex/dsh-turn-rewind/blob/9610ab93c87e2405e7512d53a099b8fb2caf6936/src/rewind-host.ts)；它还把默认模式改为自动快照，在 Git 工作区会把文件内容写进你仓库的对象库和私有引用 `refs/dsh-turn-rewind/v2/…`，非 Git 目录也会自动快照。本页继续固定 0.2.0。
- 0.2.0 和 0.3.9 的版本声明都通过 DSH 0.2.0-rc.2 的检查；0.3.9 不接受 0.2.1-alpha.1。

升级 DSH 前怎样处理已装插件，见[更新或卸载插件](/tutorials/dsh-update-uninstall/#更新或卸载插件)。

依据：[固定证据 1](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/src/rewind-host.ts)、[固定证据 2](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/package.json)、[固定证据 3](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/SECURITY.md)。
<!-- END REVIEWED GUIDE SUPPLEMENT -->

为 Git 工作区建立 Turn 级检查点，在 Web 中预览全部或部分恢复计划，并支持只恢复文件、恢复后继续或只回溯消息。

如果你的目标是按会话轮次恢复 Git 工作区文件，或只回溯消息而不改文件，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-turn-rewind。本文锁定作者仓库提交 `df0a18e56504`；已复核固定提交的原始资料，未进行运行实测。

> 对应插件：[查看 dsh-turn-rewind 的功能、权限与兼容性说明](/plugins/anionex-dsh-turn-rewind/)。先确认它适合你的工作流，再执行安装。

## 先确认是否适合你

- **分类**：编程与代码开发
- **风险等级**：high
- **核验证据**：source_reviewed
- **兼容性边界**：0.2.0 声明 DSH >=0.1.0-rc.8 <0.2.0，但作者显式验证矩阵只列出 rc.8、0.1.1-rc.1 与 rc.2，未列 0.1.2-alpha.1；52DSH 未运行恢复测试
- **主要权限关注**：执行 Git 读取并写入、覆盖、重命名或删除工作区文件，管理检查点、救援点、journal 与设置；用户确认后才执行恢复，Git index、分支和 HEAD 不在修改范围

如果你准备在重要工作区使用，先阅读插件详情页的权限和数据流说明；“源码已审阅”或“资料已整理”都不等于安全认证。

## 安装前准备

**本页 DSH 命令版本：** `0.1.1-rc.2`。既有插件教程与安装命令的固定 CLI 基线，独立于 npm 默认分发；不代表每个插件已在该版本或新版本运行验证。更新前须逐项审核配置证据。

- **Git 测试工作区**：只在已提交或有外部备份的可丢弃仓库中测试。
- **独立 Web Profile**：避免与生产工作区和并行 Agent 混用。

1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 作者资料未显示明确的插件专属环境变量；如果运行时要求凭据，不要根据同类插件猜测变量名。

## 安装 dsh-turn-rewind

52DSH 使用目录中记录的精确安装目标，避免直接跟随可能变化的默认分支：

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:Anionex/dsh-turn-rewind#df0a18e56504
```

GitHub 源码插件如果被 pnpm 拦截构建脚本，先检查终端提示的具体包和脚本。只在 `web` Profile 中放行确实需要的构建项，不要全局放行未知依赖。



## 插件专属配置

### 配置目标

- `$DSH_HOME/profiles/web/cordis.patch.yml`：设置检查点模式、存储目录、容量、超时与信任等级。
- `$DSH_HOME/change-ledger/v1`：默认检查点、blob、journal 与救援点存储。

### Turn Rewind 保守配置

证据：[固定来源](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/README.zh.md)。将路径、账号和凭据占位符替换为测试值。

```yaml
- id: turn-rewind
  config:
    storageDir: ~/.dsh/change-ledger/v1
    maxRestorePoints: 20
    maxTurnCheckpointsPerSession: 10
    turnCheckpointMode: off
    turnCheckpointTrust: strict
```

### 安装后设置

1. 先保持 turnCheckpointMode=off，只验证只回溯消息流程。
2. 启用文件检查点前确认 storageDir 不与任何受管理 worktree 重叠。


## 配置验证与成功结果

先导出配置，再启动同一版本的 DSH Web：

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
```

1. **在测试会话打开回退弹窗并选择只回溯消息。**

   期望结果：创建新会话但不改变 Git 工作树。

2. **启用检查点后修改一个测试文件并预览恢复计划。**

   期望结果：列表只含预期文件；恢复前先出现救援点和最终确认。

## 第一次使用

- 先用只回溯消息验证会话分叉，再在单文件测试提交上验证文件恢复。

## 数据、权限与凭据

**数据流：**Git 工作树和文件内容 → 本机 Change Ledger 或 Git-native 检查点 → 会话绑定的预览计划与确认 → 用户选择恢复或只回溯消息 → 哈希验证、救援点与新会话结果。

**权限关注：**执行 Git 读取并写入、覆盖、重命名或删除工作区文件，管理检查点、救援点、journal 与设置；用户确认后才执行恢复，Git index、分支和 HEAD 不在修改范围

**数据存储：**默认 $DSH_HOME/change-ledger/v1；Git-native 检查点还会使用仓库 Git 对象库。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

## 卸载、回退与清理

停止 DSH 后，从同一个 Profile 移除包：

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove @anionex/dsh-turn-rewind
```

1. 在设置卡的检查点管理器中删除未受保护的测试恢复点。
2. 移除插件前确保没有进行中的恢复，再按需删除测试 storageDir。

## 常见问题

### 恢复按钮被阻止

检查同一工作树是否有运行中的 Agent、Git 是否在 merge/rebase，以及预览是否已过期。

### 恢复列表出现意外文件

立即取消，重新检查工作区、检查点模式、忽略文件和 storageDir。

### 安装成功但页面或命令没有出现

先运行 `--dump-config` 确认 Bundle 已进入 `web` Profile，再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

### 插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务，检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文，并核对当前安装目标是否仍对应本页固定提交。

作者提供了独立故障文档，可从下方“固定来源证据”进入；本页没有把整份 README 复制过来。

## 固定来源证据

以下资料是本文配置结论的依据：

- [README.zh.md](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/README.zh.md)
- [README.md](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/README.md)
- [SECURITY.md](https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/SECURITY.md)

继续查看：[返回 dsh-turn-rewind 插件详情页](/plugins/anionex-dsh-turn-rewind/)，重新核对兼容性、权限、同类插件和来源状态。

## 原始来源

- https://github.com/Anionex/dsh-turn-rewind
- https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/README.zh.md
- https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/README.md
- https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/SECURITY.md
- https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/src/rewind-host.ts
- https://github.com/Anionex/dsh-turn-rewind/blob/df0a18e565043ba48150b82f5243533099b1922d/package.json
