Zerostack - 軽量Rustコーディングエージェント
zerostack - 16MB RAMで動作するRust製コーディングエージェント。マルチプロバイダーAI対応と強力なパーミッションシステム。
AIコーディングエージェントについて話すとき、ほとんどの人はNode.jsベースの重いツールを想像します。数百メガバイトのRAMを消費し、強力なマシンを必要とするものです。しかし、zerostackはこのゲームを完全に変えました。
zerostackが異なる理由#
zerostackはRustで書かれたミニマルなコーディングエージェントで、piとopencodeにインスパイアされています。最も注目すべき特徴?アプリケーション全体が平均で〜16MB RAM、ピーク時で24MBしか消費しません。JavaScriptベースのコーディングエージェントが300-700MB RAMを消費する可能性があるのと比較すると、これは大幅な改善です。
[!TIP] 印象的なパフォーマンス
- バイナリサイズ: 26MB
- RAM: 〜16MB(平均)、〜24MB(ピーク)
- CPU: アイドル時0.0%、アクティブ時〜1.5%
- コード行数: 〜30k LoC
主な機能#
マルチプロバイダーサポート#
zerostackは複数のAIプロバイダーをサポートしています:
- OpenRouter(デフォルト)
- OpenAI
- Anthropic
- Gemini
- Ollama
- カスタムプロバイダー
--providerと--modelフラグを使用して、プロバイダーを簡単に切り替えることができます。
強力なパーミッションシステム#
最も重要な機能の1つは、5つのモードを持つパーミッションシステムです:
- restrictive: すべての操作で確認
- read: 読み取りのみ、書き込みなし
- standard: ほとんどの操作を許可
- permissive: より多くの操作を許可
- dangerous: 制限なし
ツールごとのパターン、セッション許可リスト、設定可能なポリシーをサポートします。
スマートプロンプトシステム#
複雑なスキルを管理する代わりに、zerostackは実行時に切り替え可能な14の組み込みプロンプトを提供します:
| プロンプト | 説明 |
|---|---|
code | デフォルト - TDDワークフローでフルツールアクセス |
plan | 計画のみ - コードを書かない |
review | 正確性、設計、テストについてコードをレビュー |
debug | 修正を提案する前に根本原因を見つける |
ask | 読み取りのみ - 書き込みやbashなし |
brainstorm | 設計のみ - コードなし |
frontend-design | 本番グレードのUI設計 |
review-security | セキュリティ脆弱性を見つける |
simplify | 明確さのためにコードを最適化 |
write-prompt | エージェントプロンプトを作成・最適化 |
refactor | メンテナビリティのためにコードを再構築 |
autoconfig | インタラクティブ設定 |
orchestrator | ツール使用と並列サブプロセスを組み合わせる |
write-text | 散文を書く(ドキュメント、投稿、メール) |
セッション管理#
zerostackは以下を可能にします:
- セッションの保存/ロード/再開
- コンテキストウィンドウ内に留まるための自動圧縮
- ブランチごとのタスクワークフローのためのGit worktrees統合
MCPサポート#
Model Context Protocol(MCP)をサポートして外部ツールサーバーに接続し、エージェントの機能を拡張します。
インストール#
スクリプト(推奨)#
curl -fsSL https://raw.githubusercontent.com/gi-dellav/zerostack/main/install.sh | bashbashCargo#
cargo install zerostackbashHomebrew#
brew tap gi-dellav/tap
brew trust gi-dellav/tap
brew install zerostackbashNix#
nix-run https://github.com/gi-dellav/zerostack/archive/refs/heads/main.tar.gzbashクイックスタート#
# APIキーを設定(OpenRouterがデフォルト)
export OPENROUTER_API_KEY="[api_key]"
# インタラクティブセッション
zerostack
# ワンショットモード
zerostack -p "このプロジェクトを説明してください"
# 最後のセッションを続行
zerostack -c
# 明示的なプロバイダー/モデル
zerostack --provider openrouter --model deepseek/deepseek-v4-flashbash他のAIコーディングエージェントとの比較#
| 機能 | zerostack | JavaScriptエージェント |
|---|---|---|
| RAM(平均) | 〜16MB | 〜300MB |
| RAM(ピーク) | 〜24MB | 〜700MB |
| CPU(アイドル) | 0.0% | 〜2% |
| CPU(アクティブ) | 〜1.5% | 〜20% |
| バイナリサイズ | 26MB | N/A(Node.jsランタイム) |
高度な機能(ゲート付き)#
zerostackは、コンパイル時機能を必要とする高度な機能も提供します:
- ACPサポート: Zedなどのエディタが接続するためのAgent Communication Protocol
- 永続メモリ: セッション間のプレーンマークダウンメモリ
- ライフサイクルフック: ツール呼び出し、プロンプト、セッションイベントの監視/ゲート
- アドバイザー: 戦略的ガイダンスのための第2モデル
- マルチモーダル入力: 画像とPDFの添付
- サブエージェント: 並列コードベース探索
- ARCHITECTURE.md: 同じコードベース上のエージェントのための共有知識
- プロンプトチェイン: ブレインストーム → 計画 → コード → レビューワークフロー
- ステータスシグナル: Unixソケット経由でイベントを送信
いつzerostackを使うべきですか?#
zerostackは以下の場合に適しています:
- 軽量で効率的なコーディングエージェントが必要な場合
- リソースが限られたマシンで作業する場合
- 複数の並列セッションを実行する必要がある場合
- 強力なパーミッションシステムでセキュリティを気にする場合
- Unix哲学 - コンポーザブルツールを好む場合
- コマンドラインで完全な制御が必要な場合
結論#
zerostackは、AIコーディングエージェントの新しい方向性を表しています - すべてを行うことに焦点を当てるのではなく、パフォーマンス、リソース効率、Unix哲学に焦点を当てています。極めて小さいフットプリントと完全な機能セットで、システムリソースを犠牲にすることなくAIアシスタンスを望む開発者にとって優れた選択肢です。