ait¶
為 AI coding agent 設計的 Git 工作層 — worktree 隔離、attempt provenance、跨 session 記憶、可審核 promote。
ait 包住你已經在用的 agent CLI——Claude Code、Codex、Aider、Gemini
CLI、Cursor——把每次執行變成一筆可審核的 attempt。Agent 編輯獨立
的 Git worktree,ait 紀錄發生過什麼,你的 root checkout 在你親手
promote 之前不會被動到。
PyPI 與 npm 上的套件名是 ait-vcs,安裝後的指令是 ait。
為什麼用 ait¶
| 用 AI agent 寫 code 的痛點 | ait 提供的解法 |
|---|---|
| 一個爛 prompt 在你發現前就改了半個 repo | 每次執行都落在隔離的 Git worktree — root checkout 永遠不動 |
| diff 沒有 provenance — 不知道是哪個 prompt 產的 | Attempt 把 intent、command output、files、commits 串成一筆紀錄 |
| 失敗或半成品的執行污染了 working copy | 爛 attempt 留在 worktree 裡,ait attempt discard 一鍵清掉 |
| 下一個 agent 又重做你已經花 token 買過的調查 | Repo-local memory 把過去 attempts、commits 餵給下一次執行 |
| 兩個 agent 跑同一件事會互相覆蓋 | 每個 attempt 自帶 worktree — 可平行跑 N 個 agent |
| Agent 說「修好了」,但真的修好了嗎? | 顯式 ait attempt promote — 不主動採納,主分支永遠由你決定 |
| 跨 agent hand-off 會弄丟之前所有的決策 | Memory layer 自動匯入 CLAUDE.md、AGENTS.md、過往 attempts |
| Provenance 工具強迫你把 code 上傳到 SaaS | Metadata 就在 .git/ 旁的 .ait/ — daemon 純本機 Unix socket、不對外連網、無 telemetry |
| 「上個月寫過的那個 prompt 在哪?」→ grep shell history | 用結構化 DSL 直接查 attempts、intents、commits |
完整深入的解析請看 為什麼用 ait。
ait 不是另一個 agent。它是包在你信任的 agents 外面的 Git
工作層。
支援的 agent¶
狀態¶
ait 仍屬 alpha quality,適合本機 dogfooding 與熟悉 Git 工作流的早期
使用者。Metadata 是 repo-local 的(存在 .ait/),不會跨機器同步。