このプロジェクトについて

pi_agent_rustは、Rustで書かれた高性能かつunsafeコードゼロのAIコーディングエージェントCLIです。Mario ZechnerによるPi Agentのネイティブ移植版であり、ElectronやNode.jsのようなマネージドランタイム上に構築された、より低速でリソースを大量に消費する代替品を置き換えることを目的としています。 **主な機能:** - **36の組み込みツール**を5つの階層にわたって提供: 必須コマンド(read、write、edit、bash、grep、find、ls、web_search)、発見可能なツール(ast_grep、ast_edit、lsp、debug、メモリツール)、バックグラウンドユーティリティ(jobs、hub)、設定で制御される追加機能(ブラウザ自動化、コンピュータ/デスクトップ制御、画像/TTS/メディア処理) - **ストリーミング応答**と拡張思考ブロックのサポート。実際のネットワーク条件下に合わせて調整されたカスタムSSEパーサー経由 - **ローカルモデルのサポート**を標準で提供: Ollama、llama.cpp(llama-server)、mistralrs — APIキー不要 - **構造化並行性**をasupersyncランタイム経由で実現し、予測可能なキャンセルとリソースクリーンアップを提供 - **ケイパビリティ制御されたセキュリティモデル**: 拡張機能実行の2段階強制、危険なシェルパターン(再帰削除、ディスク書き込み、リバースシェル)のコマンドレベルでのブロック、4段階の信頼ライフサイクル(pending → acknowledged → trusted → killed)、hostcallレーンのキルスイッチ制御、改ざん検知可能なランタイムリスク台帳 - **境界付きリソースアーキテクチャ**により長時間セッションに対応。SQLiteセッションインデックスとv2サイドカーを用いてO(index+tail)の再オープンパスを実現 - Python RichライブラリのRust移植版であるrich_rustで構築されたリッチなターミナルUI **インストール:** ```bash curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/pi_agent_rust/main/install.sh?$(date +%s)" | bash ``` **簡単な使い方:** ```bash # 対話セッション pi # 初期プロンプト付き pi "Summarize the architecture in src/" # ファイルを添付 pi @src/main.rs "Explain startup flow" # 単発スクリプトモード pi -p "List likely regression risks for this diff" # 直前のセッションを継続 pi --continue ``` **設定:** APIキーは環境変数(例: `ANTHROPIC_API_KEY`)で設定します。ローカルプロバイダーはキーなしで動作します。モデルカタログは`pi --fetch-models <provider> --refresh-models --persist-models`で更新できます。プロバイダーとモデルの設定は`~/.pi/agent/models.json`にあります。 このプロジェクトはすべてのビルドと品質チェックにDoodlestein Self-Releaser(DSR)を使用しており、コントリビューターは直接のCargo呼び出しを避けるよう指示されています。ベンチマークの証拠は厳格なアーティファクト契約によって管理され、リリース向けの主張を公開する前に来歴が一致した結果を要求します。