- DSH
- 0.1.1-rc.2
- 系统
- Windows / macOS / Linux
- 风险
- high
先查看功能、兼容性、权限和同类选择,再按本文操作。
为 Git 工作区建立 Turn 级文件恢复点,在 Web 中预览全部或部分恢复计划,并可恢复文件后从对应会话轮次继续,同时保留救援点和操作日志。
如果你的目标是按会话轮次预览并恢复 Git 工作区文件,同时保留救援点,本教程会说明如何在 DeepSeek Harness(DSH)中准备、安装、配置、验证和回退 dsh-turn-rewind。本文锁定作者仓库提交 b1b85f18aaaa;已复核固定提交的原始资料,未进行运行实测。
对应插件:查看 dsh-turn-rewind 的功能、权限与兼容性说明。先确认它适合你的工作流,再执行安装。
先确认是否适合你
- 分类:编程与代码开发
- 风险等级:high
- 核验证据:source_reviewed
- 兼容性边界:插件版本 0.1.1,要求 Node.js 22.19 或 24+,仅显式声明 Cordis ^4.0.1;本站完成固定提交静态审阅,未在 sparse checkout、submodule、二进制大文件或恢复失败场景运行
- 主要权限关注:执行只读 Git 命令、读取和覆盖工作区 tracked/untracked 文件、创建或删除内容寻址快照,并通过同源 Web 路由执行用户确认的恢复;不修改 Git index、分支、HEAD、stash 或 commit
如果你准备在重要工作区使用,先阅读插件详情页的权限和数据流说明;“源码已审阅”或“资料已整理”都不等于安全认证。
安装前准备
- 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认
pnpm可用。 - 使用独立的
webProfile 和可丢弃测试工作区,不直接连接生产目录。 - 备份当前 Profile 配置,并记录安装前的
--dump-config输出。 - 核对固定来源中的外部服务、账号、运行时和平台限制。
- 作者资料未显示明确的插件专属环境变量;如果运行时要求凭据,不要根据同类插件猜测变量名。
安装 dsh-turn-rewind
52DSH 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:Anionex/dsh-turn-rewind#b1b85f18aaaa
GitHub 源码插件如果被 pnpm 拦截构建脚本,先检查终端提示的具体包和脚本。只在 web Profile 中放行确实需要的构建项,不要全局放行未知依赖。
作者文档还出现了以下命令。它们用于核对功能或开发流程,不应替换上面的锁定安装命令,也不要一次全部执行:
dsh plugin --profile web add @anionex/dsh-turn-rewinddsh plugin --profile headless add @anionex/dsh-turn-rewinddsh --profile web --dump-config | grep turn-rewind
插件专属配置
固定提交中包含配置或设置章节。下面只保留能够追溯到作者文档的字段和片段。
**本类插件的最小权限设置:**只挂载临时 Git 仓库,先开启只读审查;文件修改、Shell 和 Git 写操作必须逐项确认。
作者配置片段(README.zh.md)
来源:固定提交中的 README.zh.md(外部链接,在新标签页打开)。复制前先替换占位符并删除不需要的权限。
pnpm install --frozen-lockfile
pnpm run check
dsh plugin --profile web add @anionex/dsh-turn-rewind
dsh plugin --profile headless add @anionex/dsh-turn-rewind
dsh --profile web --dump-config | grep turn-rewind
作者配置片段(README.zh.md)
来源:固定提交中的 README.zh.md(外部链接,在新标签页打开)。复制前先替换占位符并删除不需要的权限。
- id: turn-rewind
config:
storageDir: ~/.dsh/change-ledger/v1
maxRestorePoints: 50
maxTurnCheckpointsPerSession: 30
maxFiles: 20000
maxFileBytes: 16777216
maxSnapshotBytes: 536870912
planTtlMs: 900000
staleLockMs: 30000
配置验证与成功结果
-
确认 Bundle 已加载
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config期望结果:组合配置中出现
@anionex/dsh-turn-rewind或仓库声明的 Bundle 名称。 -
启动 Web Profile
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web期望结果:DSH Web 正常启动,浏览器控制台和终端没有持续重复的插件加载错误。
-
执行插件专属最小任务
在测试分支执行一次只读分析或小范围编辑,并检查 git diff。
期望结果:插件只修改预期文件,diff 可审阅且可以用 Git 恢复。
第一次使用
- 让插件解释一个测试文件并提出修改建议,确认结果后再允许实际写入。
- 只验证一个核心能力,保存输入、输出和日志;确认无异常后再扩大权限或数据范围。
数据、权限与凭据
**数据流:**Git worktree、HEAD 和文件内容 → 本机 Change Ledger 恢复点 → 会话绑定的短期预览计划与确认码 → 用户最终确认 → 先建救援点再恢复并做哈希验证 → 可选从该 Turn 派生新会话。
**权限关注:**执行只读 Git 命令、读取和覆盖工作区 tracked/untracked 文件、创建或删除内容寻址快照,并通过同源 Web 路由执行用户确认的恢复;不修改 Git index、分支、HEAD、stash 或 commit
**数据存储:**作者资料没有形成统一存储结论。测试时检查 web Profile、工作区、用户目录以及所连接的外部服务,并记录新增文件或远端数据。
真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。
卸载、回退与清理
-
停止正在运行的 DSH Web。
-
从同一个 Profile 移除插件:
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove @anionex/dsh-turn-rewind -
再次运行
--dump-config,确认对应 Bundle 已消失。 -
检查测试工作区、插件声明的数据目录和外部服务,手动删除测试数据并撤销测试凭据。卸载依赖不会自动删除这些数据。
常见问题
安装成功但页面或命令没有出现
先运行 --dump-config 确认 Bundle 已进入 web Profile,再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。
插件运行后没有得到预期结果
把问题缩小到本页的最小验证任务,检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文,并核对当前安装目标是否仍对应本页固定提交。
作者提供了独立故障文档,可从下方“固定来源证据”进入;本页没有把整份 README 复制过来。
固定来源证据
以下资料是本文配置结论的依据:
继续查看:返回 dsh-turn-rewind 插件详情页,重新核对兼容性、权限、同类插件和来源状态。
来源与维护信息
本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。