任何 AI agent 出錯,都能回到零點。
給 AI coding agent 的零信任:假設它一定會出錯,記下每一步,把它動過的檔案倒帶回去。Claude Code、Codex、Cursor 等 agent 共用同一條時間軸、同一種復原方式、同一套防護規則。
npx zerostel install
想先試試看?不用 agent、不碰你的專案:npx zerostel demo。或是先玩玩下面的範例。
互動範例 一段錄下來的 agent 工作過程。拖動它來倒帶。
- #1❯Remove the old auth code
- #2$npm testpass
- #3·Read src/app.ts
- #4✎Edit src/app.ts+1 −2
- #5$rm -rf src/legacy3 deleted ⚠
- #6✗npm testfail
專案裡的檔案
- src/app.ts
- src/cart.ts
- src/legacy/auth.ts
- src/legacy/session.ts
- src/legacy/tokens.ts
現在:src/legacy 不見了,測試也壞了。
支援你已經在用的 agent
每個 agent 各有自己的 hooks 接法,但時間軸和規則全部共用;其他工具也能用檔案監看記錄。不管 agent 背後是 Claude、GPT、Gemini、DeepSeek 還是本機模型都一樣。
在哪裡工作,就從哪裡接上
終端機裡的一行指令、agent 裡的外掛或擴充、agent 能呼叫的 server、CI 裡的一個步驟。每條路都接到你電腦上同一個記錄器、同一套規則。
安裝
把 Zerostel 裝到你的電腦上。接著 zerostel install 會替找到的每個 agent 加上 hook。
-
npm 各系統
npx zerostel install -
Homebrew macOS · Linux
brew install zerostel/tap/zerostel -
Scoop Windows
scoop install zerostel -
執行檔 不需要 Node
裝進 agent 裡
Claude Code 的外掛自己就會錄製;其他外掛加上的是 Skill,錄製還是靠 zerostel install(Codex 要用 /hooks 核准新的 hook)。
-
Claude Code 外掛
/plugin install zerostel@zerostel -
Codex 外掛
codex plugin marketplace add zerostel/zerostel -
Antigravity 外掛
agy plugin install https://github.com/zerostel/zerostel -
Gemini CLI 擴充
gemini extensions install https://github.com/zerostel/zerostel -
Agent Skill SKILL.md
npx skills add zerostel/zerostel
在 agent 旁邊
MCP 讓 agent 能讀自己的時間軸、照你的要求倒帶;Action 在 CI 裡錄製 agent;zerostel run 監看其他任何工具,只記檔案、沒有防護規則。
-
MCP io.github.zerostel/zerostel
claude mcp add zerostel -- zerostel mcp -
GitHub Actions CI
uses: zerostel/zerostel@v0 -
其他任何 CLI 檔案監看
zerostel run -- <command>
agent 動作很快,出錯也很快。
一個被刪掉的資料夾、一次對整個 repo 的 sed -i、跑了兩次的資料庫遷移。有些 agent 的 checkpoint 完全看不到 shell 指令,而且每家的復原方式都不一樣。Zerostel 給你一份紀錄、一條回去的路,不管是哪個 agent 做的。
記錄
每個提示、工具呼叫、指令、檔案變化、耗時和 token,每個 session 一條時間軸。
zerostel log
倒帶
每次可能改檔案的工具呼叫前後都拍快照。可以撤銷一輪、回到任何一步,或一路回到零點。
zerostel rewind 0
防護
你自己定的規則,會在工具執行前擋下它,或讓 agent 先問你。所有 agent 共用同一套。
zerostel policy init
分享與驗證
每個 session 一個 HTML 報告,有分享用的隱私模式;紀錄用雜湊串鏈,被改過一驗就知道。
zerostel report --share
零信任,實際上做了什麼
不要因為 agent 平常都很乖就信任它。假設它會出錯,看見它做的每件事,並且保留一條回去的路。
| 原則 | Zerostel 怎麼做 |
|---|---|
| 假設一定會出事 | 專案的第一次快照完成後,每次可能改檔案的工具呼叫前後都拍快照,每次倒帶本身也能再撤銷。 |
| 看見一切 | 提示、工具呼叫、指令、檔案和時間,agent 有回報的話還有 token,在終端機或本機網頁都看得到。 |
| 紀錄可驗證 | 每一行紀錄都用帶金鑰的雜湊和前一行串起來。zerostel verify 會指出哪一行被改過、刪掉或調換。 |
| 最小權限 | 防護規則在工具執行前擋下或先問:憑證、強制推送、全域安裝、部署。規則由你決定。 |
| 限制損害範圍 | 倒帶涵蓋專案、你指定的檔案(例如 ~/.zshrc)和 Windows 使用者環境變數;收不回來的事,會列出撤銷用的指令。 |
| 不信任讀到的任何東西 | 把每個專案都當作有惡意:不執行專案裡的程式、不跟著連結跑出專案、濾掉終端控制碼。 |
它不是沙盒:網路請求、部署都撤不回來;agent 用你的帳號執行,你能做的事它也能做。這些限制都寫得清清楚楚,沒有藏起來。
資安工具,就該用「被攻擊」的標準來做
Zerostel 跑在你啟動的每一個 agent session 裡,處理的是你沒寫過的專案。所以它把每個專案都當成對手。
- 所有資料都留在你的電腦。不用帳號、沒有雲端、不收集任何資料。在 macOS 和 Linux 上
~/.zerostel只有你自己能讀;在 Windows 上它放在你私人的使用者資料夾裡。 - 零執行期相依套件。一個打包好的檔案加上 git;或是內含 Node 的單一執行檔。
- 絕不執行 repo 附帶的程式。git 和其他輔助程式一律用絕對路徑找,跳過專案資料夾和任何
node_modules。 - 倒帶不會越界。不跟著 symlink 或 junction 跑出專案;沒有備份的東西絕不刪除。
- 反覆審查,也坦白說明限制。經過多輪、不只一方的資安審查,找到的問題都修正並加上回歸測試。安全模型寫清楚它保護什麼、不保護什麼。
- 發布過程可追溯。npm 套件由 CI 建置並帶 provenance 發布;沒有 provenance 的話,套件本身會拒絕發布。
$ zerostel policy test "cat ~/.aws/credentials" ✗ blocked by rule 1: credentials, and Zerostel's own records, are off limits $ zerostel policy test "git push --force origin main" ? asks first (rule 3): rewrites or throws away git history $ zerostel verify ✓ claude-code 4f2a91c0 214 events · chain intact
跟其他做法比較
agent 自帶的 checkpoint 和 git 照樣用,兩者不衝突。Zerostel 補上的是「每個 agent 都一樣」的那部分。
| agent 自帶的 checkpoint | commit/stash | Zerostel | |
|---|---|---|---|
| shell 指令造成的變化 | 看 agent | 你用 commit 或 stash 存下的 | 專案內全部 |
| 回到指定的某一步 | 通常以提示為單位 | 以 commit 為單位 | 每次工具呼叫 |
| 含 token 和時間的時間軸 | 部分 | 沒有 | 有 |
| 工具執行前套用你的規則 | 各家不同 | 沒有 | 所有 agent 一致 |
| 紀錄能看出被改過 | 不行 | 可以 | 可以 |
| 會動到你的 .git | 有些會 | 會 | 絕不 |
| 可分享的工作報告 | 看 agent | 沒有 | 有 |
常見問題
git 不就夠了?
git 只保存你 commit 的東西。agent 在 commit 之間就會改檔案,而且常透過 shell 指令,沒人會在每次工具呼叫前 commit。Zerostel 自動做這件事,而且存在自己的 repository,不弄亂你的歷史。
undo 會把 agent 做的事全部撤回嗎?
不會。它把有拍到的檔案放回去:專案和你指定的檔案。網路請求、部署、資料庫寫入,任何一台筆電上的工具都收不回來,所以入門規則會在做這些事之前先問你。
會拖慢 agent 嗎?
在開新程序最慢的 Windows 11 上量:只讀取的工具呼叫約 0.16 秒,會改檔的約 1 到 2 秒(前後各拍一次快照)。專案的第一次快照要把每個檔案讀一遍(1,000 個檔案 3 秒、5 萬個 5 分鐘),它在 session 開始時就在背景進行,agent 不用等。scripts/bench.mjs 可以量你自己的電腦。
我的資料會傳到哪裡?
哪裡都不會。快照和紀錄都存在你電腦的 ~/.zerostel。報告是你自己決定要不要分享的檔案,分享模式不含提示、指令、輸出和 diff。
agent 自己也能用嗎?
可以。zerostel mcp 是一個 MCP server:agent 可以在做危險動作前存檢查點、看自己的時間軸,在你要求時倒帶,而且會先給你看預覽。
名字的由來:Zero trust(零信任)+ Stella(星辰)。AI agent 像星星一樣越來越多;Zerostel 是它們最後都會回到的那一點。