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 服務,以及自訂提供者鉤子。
  • 豐富的提示詞庫 – 可在執行時切換內建系統提示詞,如 codeplanreviewdebugbrainstormfrontend-design 等,或新增您自己的 Markdown 提示詞。
  • 權限系統 – 五種安全模式(restrictivereadonlyguardedstandardyolo)控制代理可以呼叫哪些工具,並支援按工具的 glob 規則和會話級允許清單。
  • 會話持久化 – 儲存、載入和恢復會話;自動上下文視窗壓縮;可選的純 Markdown 記憶,在多次執行之間注入系統提示詞。
  • 終端 UI – crossterm TUI,支援 Markdown 渲染、滑鼠複製、回滾,以及顯示模型「思考」軌跡的開關。
  • 可擴充性 – 可選的編譯時功能:
    • MCP(代理通訊協定)連線 Zed 等編輯器。
    • 顧問 – 可諮詢策略指導或移交給人類的第二模型。
    • 鉤子 – 使用與 Claude Code 相同的 JSON 契約,可觀察或否決工具呼叫的外部指令。
    • 多模態輸入 – 附加影像或 PDF(如果提供者支援)。
    • 狀態訊號 – 透過 Unix 套接字發出執行狀態事件,供外部狀態列使用。
  • 子代理與平行工作 – 產生快速的平行子代理來探索程式碼庫,或執行 multistack 同時管理多個代理。
  • 沙箱 – 對代理執行的任何 shell 指令提供可選的 bubblewrap(Linux)或 zerobox(macOS)隔離,並支援憑證目錄的細粒度暴露和網路控制。

使用方法

  1. 透過提供的指令碼、Cargo、Homebrew 或 Nix 安裝。
  2. 匯出您的 LLM 提供者的 API 金鑰(預設為 OpenRouter)。
  3. 執行 zerostack – 您會看到一個 TUI,可以在其中輸入自然語言請求。
  4. 使用 /prompt <name>/mode <permission-mode> 即時變更代理的行為。
  5. 儲存會話(/session save)並稍後恢復(zerostack -c)。

重要性

  • 效能 – 約 16MiB RAM 和接近零的空閒 CPU,適合低階機器或長時間執行的會話。
  • 安全性 – 權限系統和沙箱旨在防止意外破壞性指令,這是自主編碼機器人常見的問題。
  • 原生 Rust – 避免了許多競爭代理所需的重量級 Node.js 執行環境,啟動更快,攻擊面更小。
  • 可自訂工作流程 – 提示詞鏈讓您可以在引導式、可重複的過程中從腦力激盪 → 規劃 → 編碼 → 審查。

開始使用 – 倉庫包含完整的 Get Started 指南、快速安裝指令碼,以及用於社群支援的專用 Matrix 聊天室。


以上所有細節均直接取自專案的 README。

相關

  • Dispatch
  • 專案
  • 專案
  • 專案
  • 專案