Respawn Vibe 项目

为 AI Agent 打造的本本地优先状态版本化与回滚工具,用内容寻址快照图谱保障目录树完整性

Respawn 是一款面向 AI Agent 时代的本地优先基础设施工具,采用 Rust 语言实现,专注于对任意目录树进行内容寻址的快照版本化管理。与传统版本控制系统不同,Respawn 的核心设计目标是:为 AI 自主进程执行前的状态创建快照,在其失控时快速回滚,并事后可验证究竟发生了哪些变更。整个系统无需云服务,支持通过 LAN 进行点对点加密同步,适用于 macOS 与 Linux 环境。

项目简介

AI 自主代理(Agent)在执行写操作时存在天然风险:它们可能意外修改、删除或破坏工作目录中的文件。Respawn 的解决思路借鉴了版本控制的思想,但比 Git 更贴近"AI 使用场景":它以内容寻址的方式对整个目录树进行快照,每次快照都会生成一个独立的快照图谱,任意历史状态都可以精确还原。Revert 操作本质上是 HEAD 指针的切换加上原子化的逐文件写入,Drift(状态漂移)则通过清单对比来审计。

核心功能

  1. 内容寻址快照(Content-Addressed Snapshot):基于 FastCDC 算法将文件切分为内容定义块,每个对象以 BLAKE3 哈希值作为唯一标识,读取时自动验证完整性,被篡改或损坏的对象会被立即检测出来,绝不会静默使用
  2. 原子化回滚(Atomic Per-File Revert):文件写入时先写临时文件再 rename 覆盖目标位置,崩溃最多导致部分文件处于新状态、部分处于旧状态,但不会出现半写文件
  3. 状态漂移检测(Drift Detection):通过 respawn status 对比当前目录树与 HEAD 的差异,可选全量重新哈希(--full)以拒绝信任元数据
  4. 守护执行(Guarded Execution):通过 respawn guard -- 在快照后执行命令,执行完毕报告精确变更内容;--revert on-fail 参数可在命令失败时自动回滚至执行前状态
  5. 可验证历史锚定(Anchor):通过 ed25519 签名将检查点写入 .respawn/ 之外的独立文件;anchor verify 可证明锚定的历史链是否完整,检测出全局日志替换行为
  6. 加密 LAN 同步:通过 Noise 协议(X25519 + ChaChaPoly)实现端到端加密的前向保密同步,支持基于预共享密钥(PSK)的认证;无 --psk 时拒绝明文传输,杜绝静默降级
  7. 对等发现与复制:支持 UDP 信标广播发现同局域网中的对等节点,respawn peers 列出可用节点,respawn pull 从指定节点拉取完整历史
  8. 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 级别的去重确保了即使大型项目也只需传输增量变更。

快速上手

  1. 安装:通过 cargo install respawn 或从 GitHub Releases 下载对应平台的预编译二进制文件
  2. 初始化工作目录:在目标目录执行 respawn init,创建 .respawn/ 子目录
  3. 创建快照:执行 respawn snap -m "描述信息",系统对目录树进行内容寻址快照并记录到本地对象库
  4. 执行并守护命令:使用 respawn guard --,快照后执行命令,失败时自动回滚
  5. 查看状态与日志:respawn status 查看当前 Drift;respawn log 列出所有快照历史

适用人群

  • AI Agent 开发者与使用者,需要在自主进程执行前创建安全检查点
  • 对数据完整性有高要求的工程师,希望对关键目录实施可验证的历史记录
  • 需要多机器协同工作且对数据隐私敏感的团队(LAN 加密同步)
  • 使用 Rust 技术栈并关注本地优先(local-first)软件架构的开发者

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论