概要
pi はミニマルなターミナル用コーディングハーネス。 TypeScript 拡張やスキル、プロンプト、テーマで自由に拡張可能。 4つの動作モード と多彩なプロバイダー対応。 セッション履歴やコンテキスト管理も柔軟にカスタマイズ。 npm や git からパッケージ導入・共有が可能。
pi-coding-agent:特徴と概要
- pi は最小限の機能で設計された ターミナル・コーディングハーネス
- ワークフローに合わせて TypeScript拡張 や スキル、 プロンプトテンプレート、 テーマ でカスタマイズ可能
- 拡張やツール、テーマを piパッケージ としてnpmやgitで共有・インストール
- 初期状態で十分な機能を持つが、 サブエージェント や プランモード などは非搭載
- 必要な機能は pi に依頼して自動生成、またはパッケージで追加
- 4つのモード :インタラクティブ、出力/JSON、RPC、SDK
- clawdbot による実例インテグレーション
プロバイダーとモデル
- 15以上のプロバイダー、 数百のAIモデル に対応
- Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, For Coding, MiniMax, OpenRouter, Ollama など
- APIキーやOAuth で認証
- セッション中に /model や Ctrl+L でモデル切替
- Ctrl+P でお気に入りモデルを順次切替
- models.json や拡張でカスタムプロバイダー・モデル追加
セッション管理
- ツリー構造 で履歴を保存・共有
- /tree コマンドで任意の過去ポイントから再開
- 全分岐を 単一ファイル で管理
- メッセージ種別でフィルタ、ブックマークラベル付与
- /export でHTML出力、 /share でGitHub gistにアップロードし共有URL生成
コンテキストエンジニアリング
- 最小限のシステムプロンプト と拡張性で高度なコンテキスト制御
- AGENTS.md :~/.pi/agent/や親ディレクトリ、カレントディレクトリからプロジェクト指示を自動ロード
- SYSTEM.md :プロジェクト単位でシステムプロンプトを差し替え・追記
- 自動要約 :コンテキスト上限近くで古いメッセージを自動要約
- 拡張で トピックベース要約 や コード認識要約、別モデル要約も実装可能
- スキル :必要時のみ読み込む能力パッケージ(プロンプトキャッシュを圧迫しない)
- プロンプトテンプレート :Markdownで再利用可能。 /name で展開
- 動的コンテキスト :拡張でメッセージ注入、履歴フィルタ、RAG、長期記憶など実装
メッセージキューイング
- エージェント動作中でも メッセージ送信可能
- Enter :ステアリングメッセージ(現在のツール後に実行、残りのツールを中断)
- Alt+Enter :フォローアップ(エージェント処理完了後に実行)
拡張機能
- プリミティブな拡張 で自作機能を追加
- TypeScriptモジュールで ツール・コマンド・ショートカット・イベント・TUI全体 にアクセス可能
- サブエージェント、プランモード、パーミッションゲート、パス保護、SSH実行、サンドボックス、MCP統合、カスタムエディタ、オーバーレイ、Doom実行まで拡張で実現可能
- 作りたくなければ pi に依頼して自動生成や、既存パッケージを導入
- 50以上のサンプル を公式で提供
パッケージ管理
- 拡張・スキル・プロンプト・テーマ をパッケージ化して配布・導入
- npmやgitからインストール:
$ pi install npm:@foo/pi-tools$ pi install git:github.com/badlogic/pi-doom
- バージョン固定(@1.2.3や@tag)、 pi update で一括更新、 pi list で一覧、 pi config で設定
- インストールせずにテスト:
pi -e git:github.com/user/repo - npmやDiscordでパッケージ検索、 pi-package キーワードで共有
統合と動作モード
- インタラクティブ :TUIで全機能利用
- 出力/JSON :
pi -p "query"でスクリプト利用、--mode jsonでイベントストリーム - RPC :stdin/stdout経由のJSONプロトコルでNode以外とも連携(詳細はdocs/rpc.md参照)
- SDK :アプリ組み込み用。 clawdbot が実例
開発思想と未実装機能
- pi は拡張性重視でコアを最小限に設計
- 他ツールが標準搭載する機能も 拡張・スキル・サードパーティパッケージ で構築可能
- コアはシンプルに保ち、ユーザーのワークフローに合わせてカスタマイズ可能
- MCP未搭載 :READMEでCLIツール構築や拡張で追加可能
- サブエージェント非搭載 :tmuxでpiインスタンス起動や拡張・パッケージで実現
- パーミッションポップアップ非搭載 :コンテナ実行や拡張で独自フロー作成
- プランモード非搭載 :ファイル出力や拡張で実装可能
- ToDo管理非搭載 :TODO.mdファイルや拡張で対応
- バックグラウンドbash非搭載 :tmux利用で完全可視化・直接操作
- 詳細は 公式ブログ を参照