Snowtree:通过 Review 驱动让 AI 代码安全可控
AI 写代码的恐惧
用 AI coding agent 构建复杂项目,需要多轮对话、反复迭代。
你会害怕什么?
- 第 1 轮:AI 改了 30 个文件,300 处修改,review 到第 50 处就崩溃
- 第 2 轮:继续让 AI 改,它把刚 review 过的代码又改了
- 第 3 轮:最新改动破坏了逻辑,想回退到上一个好状态,但没有可信的 checkpoint
- 第 N 轮:代码处于混乱状态,越来越超出你的控制
核心痛点:多轮迭代中,AI 能写代码,但你不知道如何安全、高效地接管。
现有 AI IDE 给了一堆功能,没给你控制权。
更糟的是:AI 写的代码直接推给队友 review,owner 自己都没逐行看过。Owner 必须是第一个 reviewer。 AI 是辅助工具,不是替代品。
这些问题在 Databend 开发中越来越明显。近 190 万行 Rust 代码,模块众多,AI coding agent 使用率越来越高。放手让 AI 随便改?不敢想象。限制太死?拖慢迭代速度。
需要在完全 vibe coding(AI 随便写)和传统 coding(纯手写)之间找到平衡:AI 强力辅助,人严格把控,代码质量像人写的。
工欲善其事,必先利其器。于是我开发了 Snowtree:让你敢放心地让 AI 写代码。
Snowtree 是一个桌面应用,管理多个 AI coding agent 会话,通过 worktree 隔离 + 增量 review 让你掌控 AI 代码。
它解决三个核心问题:隔离 git 代码减少干扰、保持 AI agent 最新能力、多轮迭代的安全接管。

Snowtree 做什么?
一句话:从隔离环境到 PR,完整闭环。
1 | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
完整工作流:
- Worktree 隔离:为每个 AI 会话创建独立的 git worktree,主仓库零干扰
- AI Coding:在隔离环境中调用 Codex 或 Claude Code CLI 进行编码
- Changes 生成:AI 完成后,自动展示所有代码变更
- 逐行 Review:按 hunk 逐行审查,看清 AI 改了什么
- Stage or Restore:满意的 hunk 点 Stage 保留,不满意的 Restore 丢弃
- Commit:将 staged 的代码提交,形成可信快照
- Create/Sync PR:基于 commit 一键创建或同步到远程 PR
这就是 Snowtree 的核心价值:把 AI 的自由发挥和人的严格把控串成一条流水线。
三个核心设计理念
1. 基于 Git Worktree 的并行隔离
习惯用 git branch,但同一时刻只能开发一个分支。
想象这个场景:Codex 正在重构模块,突然来了紧急 bug。停下来等 AI 完成?还是先 commit 再切 branch?
Snowtree 方案:每个 AI 会话独立的 worktree。
1 | main-repo/ |

完全隔离,互不干扰。AI 随便改,不影响主工作区,不和其他会话冲突。完成后合并、删除 worktree,干净利落。
2. 原生 AI Coding Agent 能力,不做封装
很多 AI IDE 封装或”改进” AI coding agent,结果:
- 永远落后于官方(Claude Code 和 Codex 更新频繁,最清楚如何适配自己的模型)
- 最新特性用不上
- 自己实现的还不如原版
哲学:最大化利用原生 CLI,零封装。
直接调用本机的 Claude Code 和 Codex CLI,通过 PTY 启动真实进程,捕获输出,不改行为。
只做一件事:管理会话和工作流,不重新发明 AI coding agent。
3. 人必须掌控 AI 代码:Review-Stage-Commit 工作流
核心中的核心。
我的实战经验:每轮对话后,觉得可以就赶紧 commit,防止下轮 AI 改动破坏又无法回退。
这其实就是增量 snapshot 思路:确认的立刻保存(stage),每次只 review 新增改动。
传统工作流:
1 | AI 改代码 → 一次性 review 全部 → commit |
Snowtree 工作流:增量 review + snapshot
1 | Round 1: AI 改代码 → Review → Approve → Stage (snapshot) |

核心:Stage = Snapshot。
Approve 的代码立刻 stage,保存在 staging area。AI 随便继续改,我只 review 新增量。甚至可以中途 commit,sync 到 GitHub PR,万无一失。
核心优势:
- 分批 review:每次看几个文件,不被淹没
- 按行控制:不爽的代码不做 stage,继续对话让 AI 重改
- 安全迭代:staged = snapshot,AI 怎么改都不影响
适合谁?
有经验、想认真 review AI 代码的开发者。
开源
项目地址:https://github.com/bohutang/snowtree (Apache 2.0)
核心:极简、原生、可控。
参考了 Zed/OpenCode 等优秀 IDE 的设计风格,基于他们的代码,由 Codex 和 Claude Code 交替蒸馏,加上我的产品观。