Respawn Vibe 项目
为 AI Agent 打造的本本地优先状态版本化与回滚工具,用内容寻址快照图谱保障目录树完整性
Respawn 是一款面向 AI Agent 时代的本地优先基础设施工具,采用 Rust 语言实现,专注于对任意目录树进行内容寻址的快照版本化管理。与传统版本控制系统不同,Respawn 的核心设计目标是:为 AI 自主进程执行前的状态创建快照,在其失控时快速回滚,并事后可验证究竟发生了哪些变更。整个系统无需云服务,支持通过 LAN 进行点对点加密同步,适用于 macOS 与 Linux 环境。
项目简介
AI 自主代理(Agent)在执行写操作时存在天然风险:它们可能意外修改、删除或破坏工作目录中的文件。Respawn 的解决思路借鉴了版本控制的思想,但比 Git 更贴近"AI 使用场景":它以内容寻址的方式对整个目录树进行快照,每次快照都会生成一个独立的快照图谱,任意历史状态都可以精确还原。Revert 操作本质上是 HEAD 指针的切换加上原子化的逐文件写入,Drift(状态漂移)则通过清单对比来审计。
核心功能
- 内容寻址快照(Content-Addressed Snapshot):基于 FastCDC 算法将文件切分为内容定义块,每个对象以 BLAKE3 哈希值作为唯一标识,读取时自动验证完整性,被篡改或损坏的对象会被立即检测出来,绝不会静默使用
- 原子化回滚(Atomic Per-File Revert):文件写入时先写临时文件再 rename 覆盖目标位置,崩溃最多导致部分文件处于新状态、部分处于旧状态,但不会出现半写文件
- 状态漂移检测(Drift Detection):通过
respawn status对比当前目录树与 HEAD 的差异,可选全量重新哈希(--full)以拒绝信任元数据 - 守护执行(Guarded Execution):通过
respawn guard --在快照后执行命令,执行完毕报告精确变更内容;--revert on-fail参数可在命令失败时自动回滚至执行前状态 - 可验证历史锚定(Anchor):通过 ed25519 签名将检查点写入 .respawn/ 之外的独立文件;
anchor verify可证明锚定的历史链是否完整,检测出全局日志替换行为 - 加密 LAN 同步:通过 Noise 协议(X25519 + ChaChaPoly)实现端到端加密的前向保密同步,支持基于预共享密钥(PSK)的认证;无 --psk 时拒绝明文传输,杜绝静默降级
- 对等发现与复制:支持 UDP 信标广播发现同局域网中的对等节点,
respawn peers列出可用节点,respawn pull从指定节点拉取完整历史 - APFS 时间点快照(macOS):在 macOS 15 及以下版本支持通过 APFS 原生快照创建精确时间点快照,需 root 权限或 --ask-admin
技术实现
Respawn 的底层存储模型以内容寻址对象库为核心,所有文件内容被切分为固定或可变大小的块(chunk),每个 chunk 由其 BLAKE3 哈希值作为唯一标识。快照(Snapshot)本身也是一个对象,它引用一组 chunk 以及目录树的布局结构。写入时,新文件或修改过的文件会生成新的 chunk,已存在的未修改文件直接复用已有 chunk,从而实现高效的存储去重。
回滚操作通过 HEAD 指针切换实现:当前 HEAD 指向最新的快照 ID,还原时只需将 HEAD 指针指向目标快照 ID,然后按照该快照记录的 chunk 集合和布局信息重建目录树。由于每步写入均为原子操作(rename 替代直接写入),系统在任何时刻崩溃都不会产生歧义状态。
Anchor 机制引入了密码学承诺:首次运行 anchor keygen 生成 ed25519 签名密钥对;anchor create 将当前 HEAD 快照 ID、审计日志的当前长度与末端哈希绑定后用私钥签名,输出到 .respawn/ 外部的独立文件;此后任何时刻 anchor verify 均可通过重放签名计算来证明日志在锚定之后未被篡改。
LAN 同步采用 Noise NNpsk0 协议,融合了 X25519 椭圆曲线 Diffie-Hellman 密钥交换与 ChaChaPoly 认证加密,PSK 同时完成双方身份认证并提供前向保密性。同步过程中 chunk 级别的去重确保了即使大型项目也只需传输增量变更。
快速上手
- 安装:通过
cargo install respawn或从 GitHub Releases 下载对应平台的预编译二进制文件 - 初始化工作目录:在目标目录执行
respawn init,创建 .respawn/ 子目录 - 创建快照:执行
respawn snap -m "描述信息",系统对目录树进行内容寻址快照并记录到本地对象库 - 执行并守护命令:使用
respawn guard --,快照后执行命令,失败时自动回滚 - 查看状态与日志:
respawn status查看当前 Drift;respawn log列出所有快照历史
适用人群
- AI Agent 开发者与使用者,需要在自主进程执行前创建安全检查点
- 对数据完整性有高要求的工程师,希望对关键目录实施可验证的历史记录
- 需要多机器协同工作且对数据隐私敏感的团队(LAN 加密同步)
- 使用 Rust 技术栈并关注本地优先(local-first)软件架构的开发者
评论与建议
登录 后参与评论或提建议