Zerostel Zerostel
開源 · 完全在本機 · 不收集資料

任何 AI agent 出錯,都能回到零點。

給 AI coding agent 的零信任:假設它一定會出錯,記下每一步,把它動過的檔案倒帶回去。Claude Code、Codex、Cursor 等 agent 共用同一條時間軸、同一種復原方式、同一套防護規則。

$ npx zerostel install

想先試試看?不用 agent、不碰你的專案:npx zerostel demo。或是先玩玩下面的範例。

互動範例 一段錄下來的 agent 工作過程。拖動它來倒帶。

  1. #1❯Remove the old auth code
  2. #2$npm testpass
  3. #3·Read src/app.ts
  4. #4✎Edit src/app.ts+1 −2
  5. #5$rm -rf src/legacy3 deleted ⚠
  6. #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 還是本機模型都一樣。

Claude Code Codex Cursor Copilot CLI Antigravity Gemini CLI 企業版 opencode DeepSeek Harness 實驗性 其他任何工具 zerostel run

在哪裡工作,就從哪裡接上

終端機裡的一行指令、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 自帶的 checkpointcommit/stashZerostel
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 是它們最後都會回到的那一點。

幫你的 agent 裝上行車紀錄器

需要 Node 20 以上和 git。支援 Windows、macOS、Linux。

$ npx zerostel install