gi-dellav/zerostack
Lightweight coding agent written in Rust, optimized for memory footprint and performance
zerostack – 輕量級、基於 Rust 的編碼助手
功能簡介 – zerostack 是一款基於終端的 AI「編碼代理」,可以為您編寫、規劃、審查、除錯和重構程式碼。它與大型語言模型提供者(OpenAI、Anthropic、Gemini、OpenRouter、Ollama 等)通訊,然後使用內建工具集(檔案讀寫、grep、git、shell 指令、網路搜尋等)來執行請求的任務。整個系統以單一原生二進位檔(約 26MB)的形式執行,由 Rust 編寫,與基於 JavaScript 的替代方案相比,旨在降低記憶體/CPU 佔用。
主要功能
- 多提供者支援 – 可接入任何 LLM 服務,以及自訂提供者鉤子。
- 豐富的提示詞庫 – 可在執行時切換內建系統提示詞,如
code、plan、review、debug、brainstorm、frontend-design等,或新增您自己的 Markdown 提示詞。 - 權限系統 – 五種安全模式(
restrictive、readonly、guarded、standard、yolo)控制代理可以呼叫哪些工具,並支援按工具的 glob 規則和會話級允許清單。 - 會話持久化 – 儲存、載入和恢復會話;自動上下文視窗壓縮;可選的純 Markdown 記憶,在多次執行之間注入系統提示詞。
- 終端 UI – crossterm TUI,支援 Markdown 渲染、滑鼠複製、回滾,以及顯示模型「思考」軌跡的開關。
- 可擴充性 – 可選的編譯時功能:
- MCP(代理通訊協定)連線 Zed 等編輯器。
- 顧問 – 可諮詢策略指導或移交給人類的第二模型。
- 鉤子 – 使用與 Claude Code 相同的 JSON 契約,可觀察或否決工具呼叫的外部指令。
- 多模態輸入 – 附加影像或 PDF(如果提供者支援)。
- 狀態訊號 – 透過 Unix 套接字發出執行狀態事件,供外部狀態列使用。
- 子代理與平行工作 – 產生快速的平行子代理來探索程式碼庫,或執行
multistack同時管理多個代理。 - 沙箱 – 對代理執行的任何 shell 指令提供可選的
bubblewrap(Linux)或zerobox(macOS)隔離,並支援憑證目錄的細粒度暴露和網路控制。
使用方法
- 透過提供的指令碼、Cargo、Homebrew 或 Nix 安裝。
- 匯出您的 LLM 提供者的 API 金鑰(預設為 OpenRouter)。
- 執行
zerostack– 您會看到一個 TUI,可以在其中輸入自然語言請求。 - 使用
/prompt <name>或/mode <permission-mode>即時變更代理的行為。 - 儲存會話(
/session save)並稍後恢復(zerostack -c)。
重要性
- 效能 – 約 16MiB RAM 和接近零的空閒 CPU,適合低階機器或長時間執行的會話。
- 安全性 – 權限系統和沙箱旨在防止意外破壞性指令,這是自主編碼機器人常見的問題。
- 原生 Rust – 避免了許多競爭代理所需的重量級 Node.js 執行環境,啟動更快,攻擊面更小。
- 可自訂工作流程 – 提示詞鏈讓您可以在引導式、可重複的過程中從腦力激盪 → 規劃 → 編碼 → 審查。
開始使用 – 倉庫包含完整的 Get Started 指南、快速安裝指令碼,以及用於社群支援的專用 Matrix 聊天室。
以上所有細節均直接取自專案的 README。
相關
- Dispatch
- 專案
- 專案
- 專案
- 專案