- DSH
- 0.1.1-rc.2
- 系统
- Windows / macOS / Linux
- 风险
- high
本页目录(11)
先查看功能、兼容性、权限和同类选择,再按本文操作。
2026-10-06 提示:两个接口不校验调用方
这是阅读固定提交源码得出的结论,本站没有发请求验证。DSH 一侧核对的是 0.2.0-rc.2 的源码;本页命令固定的 0.1.1-rc.2 没有单独核对。
- 插件把
/turn-rewind和/turn-rewind/manage直接注册到 DSH 的 Web 服务上,处理函数里没有来源或身份检查(rewind-host.ts(外部链接,在新标签页打开))。DSH 0.2.0-rc.2 的 Web 服务对这样注册的路径直接分发(外部链接,在新标签页打开),登录和来源校验只加在/api前缀(外部链接,在新标签页打开)上,这两个路径不在其中。 - 影响:本机上能访问 DSH 端口的其他程序,可以查看检查点对应的工作区路径、把文件回退到某个检查点、删除检查点。它不能写入任意内容,也读不到文件内容;回退前插件会先建救援点。
- 建议:不要在多人共用的机器上使用,也不要在对局域网开放的 Profile 里使用;重要工作区先提交或另做备份。
- 新版本 0.3.9 本站已复核,暂不升级。 这两个接口在 0.3.9 里仍然没有校验(外部链接,在新标签页打开);它还把默认模式改为自动快照,在 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 前怎样处理已装插件,见更新或卸载插件。
依据:固定证据 1(外部链接,在新标签页打开)、固定证据 2(外部链接,在新标签页打开)、固定证据 3(外部链接,在新标签页打开)。
<!-- END REVIEWED GUIDE SUPPLEMENT -->为 Git 工作区建立 Turn 级检查点,在 Web 中预览全部或部分恢复计划,并支持只恢复文件、恢复后继续或只回溯消息。
如果你的目标是按会话轮次恢复 Git 工作区文件,或只回溯消息而不改文件,本教程会说明如何在 DeepSeek Harness(DSH)中准备、安装、配置、验证和回退 dsh-turn-rewind。本文锁定作者仓库提交 df0a18e56504;已复核固定提交的原始资料,未进行运行实测。
对应插件:查看 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 混用。
- 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认
pnpm可用。 - 使用独立的
webProfile 和可丢弃测试工作区,不直接连接生产目录。 - 备份当前 Profile 配置,并记录安装前的
--dump-config输出。 - 核对固定来源中的外部服务、账号、运行时和平台限制。
- 作者资料未显示明确的插件专属环境变量;如果运行时要求凭据,不要根据同类插件猜测变量名。
安装 dsh-turn-rewind
52DSH 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:
npx --yes @deepseek-ai/[email protected] 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 保守配置
证据:固定来源(外部链接,在新标签页打开)。将路径、账号和凭据占位符替换为测试值。
- id: turn-rewind
config:
storageDir: ~/.dsh/change-ledger/v1
maxRestorePoints: 20
maxTurnCheckpointsPerSession: 10
turnCheckpointMode: off
turnCheckpointTrust: strict
安装后设置
- 先保持 turnCheckpointMode=off,只验证只回溯消息流程。
- 启用文件检查点前确认 storageDir 不与任何受管理 worktree 重叠。
配置验证与成功结果
先导出配置,再启动同一版本的 DSH Web:
npx --yes @deepseek-ai/[email protected] --profile web --dump-config
npx --yes @deepseek-ai/[email protected] web
-
在测试会话打开回退弹窗并选择只回溯消息。
期望结果:创建新会话但不改变 Git 工作树。
-
启用检查点后修改一个测试文件并预览恢复计划。
期望结果:列表只含预期文件;恢复前先出现救援点和最终确认。
第一次使用
- 先用只回溯消息验证会话分叉,再在单文件测试提交上验证文件恢复。
数据、权限与凭据
**数据流:**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 移除包:
npx --yes @deepseek-ai/[email protected] plugin --profile web remove @anionex/dsh-turn-rewind
- 在设置卡的检查点管理器中删除未受保护的测试恢复点。
- 移除插件前确保没有进行中的恢复,再按需删除测试 storageDir。
常见问题
恢复按钮被阻止
检查同一工作树是否有运行中的 Agent、Git 是否在 merge/rebase,以及预览是否已过期。
恢复列表出现意外文件
立即取消,重新检查工作区、检查点模式、忽略文件和 storageDir。
安装成功但页面或命令没有出现
先运行 --dump-config 确认 Bundle 已进入 web Profile,再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。
插件运行后没有得到预期结果
把问题缩小到本页的最小验证任务,检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文,并核对当前安装目标是否仍对应本页固定提交。
作者提供了独立故障文档,可从下方“固定来源证据”进入;本页没有把整份 README 复制过来。
固定来源证据
以下资料是本文配置结论的依据:
继续查看:返回 dsh-turn-rewind 插件详情页,重新核对兼容性、权限、同类插件和来源状态。
来源与维护信息
本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。
- GitHub:Anionex/dsh-turn-rewind(外部链接,在新标签页打开)
- GitHub:Anionex/dsh-turn-rewind 固定提交 README.zh.md(外部链接,在新标签页打开)
- GitHub:Anionex/dsh-turn-rewind 固定提交 README.md(外部链接,在新标签页打开)
- GitHub:Anionex/dsh-turn-rewind 固定提交 SECURITY.md(外部链接,在新标签页打开)
- GitHub:Anionex/dsh-turn-rewind 固定提交 rewind-host.ts(外部链接,在新标签页打开)
- GitHub:Anionex/dsh-turn-rewind 固定提交 package.json(外部链接,在新标签页打开)