GenPilot について
GenPilot(San)は、モデル、プロンプト、ツール、拡張機能を設定できる、開発者向けのオープンソースのターミナルエージェントランタイムです。ネイティブ Go バイナリーで動作し、複数エージェント、動作の編集、実行の再生検査に対応します。
主な機能
- 01ランタイム依存のないネイティブ Go バイナリー
- 02モデル、プロンプト、拡張機能の設定
- 03サブエージェントの並列実行とグラフ型ワークフロー
- 04エージェント間でメッセージを送るセッショングループ
- 05権限管理と実行の再生
活用シーン
- 01対話型または単発のターミナルエージェントの実行
- 02タスクに応じた複数サブエージェントの連携
- 03セッション間のメッセージ交換
- 04エージェントの実行記録の確認とデバッグ
MCP 対応
San は MCP サーバーを設定可能な拡張機能として扱い、`san mcp` サブコマンドを備えています。プロジェクト用および個人用の MCP サーバー定義は、それぞれ `mcp.json` と `mcp.local.json` に保存できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
San はオープンソースのターミナルエージェントランタイムです。ネイティブな Go バイナリが 1 つあれば動作し、Node.js も Python も必要ありません。モデルが扱うすべてのもの — プロンプト、ツール、プロバイダー、拡張機能 — を、自由に変更できます。
San を選ぶ理由
3 つの特長があり、San はそのどれもほかの特長のために犠牲にしません。
小さい — 最初のメッセージを送る前にモデルへ渡るハーネスは約 2.3k トークン。コンテキストウィンドウの残りは作業に使えます。ディスク上では、ランタイム依存関係ゼロの 12 MB のバイナリ 1 つだけです。ノート PC、CI ランナー、scratch コンテナにそのまま配置できます。
速い — コールドスタートは約 0.01 秒で、ツールを使うタスク全体も最初から最後まで約 3.3 秒で完了します。待つのはモデルの応答であり、クライアントではありません(ベンチマーク)。
オープン — モデル、スキル、サブエージェント、MCP サーバーを追加でき、システムプロンプト、自動操縦の目標、自己学習の戦略を独自に作成できます。実行内容はすべて san inspector で再生できます。
名前について — San は 三 と書き、☰ と描きます。『道徳経』の「三生万物」に由来し、「三から万物が生まれる」という意味です。あらゆるエージェントへと変化する 1 つのランタイムが、3 段階のループ(推論 → 実行 → 観察)で動作します。コマンドは san のままです。
オープンアーキテクチャ
概要図
プラグイン — 何もハードコードされていません。Anthropic、OpenAI、Google、DeepSeek、Ollama など、十数種類以上のモデルから選べます。ウェブ検索バックエンドも、スキル、サブエージェント、MCP サーバー、プラグイン、フックなど、あらゆる種類の拡張機能も選択できます。
記述 — エージェントの動作は、バイナリに組み込まれたものではなく、ユーザー自身が作成するテキストで定義します。システムプロンプトを作成し(方法)、切り替え可能なペルソナにまとめ、オートパイロットに目標を与え、自己学習が従う戦略を設定できます。
連携 — 複数のエージェントを同時に動かせます。サブエージェントはそれぞれに適したモデルで並列実行され、ワークフローでグラフとして構成できます(方法)。また、1台のマシン上のセッションをグループに参加させて互いにメッセージをやり取りできます。待機が必要なものはすべて、ユーザーの対応を待ちます(セッショングループ)。
監視 — すべての処理を監視できます。San が確認を求めずに実行できる範囲を選択でき、その設定はサブエージェントにも引き継がれます(権限)。インスペクターでは、モデルが見たとおりに実行内容を再生できます。
インストール
Homebrew(macOS / Linux)
brew tap genai-io/san
brew install san
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/genai-io/san/main/install.sh | bash
Windows(PowerShell)
irm https://raw.githubusercontent.com/genai-io/san/main/install.ps1 | iex
Windows では、San は PowerShell(利用可能な場合は pwsh、それ以外は組み込みの Windows PowerShell)でコマンドを実行します。SAN_SHELL=bash、powershell、またはパスを設定して選択できます。両方がインストールされている場合は、もう一方も利用できます — /tools で有効にしてください。
san を起動してください。初回起動時にモデルを選択し、プロンプトが表示されたら API キーを追加します。San は常に最新の状態を保ちます。新しいリリースはバックグラウンドでインストールされ、ステータス行に再起動を促すメッセージが表示されます。すぐに更新するには san update を実行してください。Homebrew からインストールした場合は brew upgrade san を実行します。バックグラウンド更新を無効にするには、/settings › General で設定するか、SAN_DISABLE_AUTOUPDATE=1 を設定してください。モデルのラインナップ、コンテキストウィンドウ、価格は models.dev から毎日更新されます(更新をスキップするには SAN_DISABLE_MODEL_REFRESH=1 を設定してください)。~/.san/models.json で内容を修正できます。
その他の方法
アンインストール
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/genai-io/san/main/install.sh | bash -s uninstall
# Windows (PowerShell)
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/genai-io/san/main/install.ps1))) uninstall
Go のインストール(Go 1.26.9+ が必要)
go install github.com/genai-io/san/cmd/san@latest
ソースからビルド
git clone https://github.com/genai-io/san.git
cd san
go build -o san ./cmd/san
mkdir -p ~/.local/bin && mv san ~/.local/bin/
使い方
san # interactive
san "explain this function" # one-shot
san -p "do something" # print mode (no TUI), pipe-friendly
san --continue # resume the latest session
san --resume # pick a past session to resume
サブコマンド:inspector · agent · plugin · mcp — 各コマンドの詳細は san <command> --help を実行してください。
| 内容 | 操作方法 |
|---|---|
| モデル · 思考バジェット | /models · Ctrl+T |
| 権限モード | Shift+Tab(確認 · 自動承認 · オートパイロット) |
| 長時間実行する作業 · 学習 | /autopilot · /goal · /evolve |
| 他のセッションにメッセージを送信 | /group join · /group members · /group hold on|off |
| すべてのスラッシュコマンド | /help |
| キー操作 | Enter 送信 · Alt+Enter 改行 · Esc 停止 · Ctrl+O ツールを展開 · Ctrl+C キャンセル · Ctrl+D 終了 |
docs/guides/getting-started.md
設定
認証情報
| サービス | 変数 |
|---|---|
| Anthropic(Claude) | ANTHROPIC_API_KEY または Vertex AI |
| OpenAI(GPT、o-series、Codex) | OPENAI_API_KEY、または ChatGPT のサブスクリプション(/models からサインイン) |
| GitHub Copilot(すべての Copilot モデル) | Copilot のサブスクリプション(/models からサインイン) |
| Google(Gemini) | GOOGLE_API_KEY、または Vertex AI(gcloud auth application-default login + GOOGLE_CLOUD_PROJECT) |
| DeepSeek(DeepSeek V4) | DEEPSEEK_API_KEY |
| Moonshot(Kimi) | MOONSHOT_API_KEY |
| Alibaba(Qwen) | DASHSCOPE_API_KEY |
| MiniMax | MINIMAX_API_KEY |
| Z.ai(GLM / GLM Coding Plan) | BIGMODEL_API_KEY |
| SenseNova | SENSENOVA_API_KEY |
| Mimo | MIMO_API_KEY |
| Volcengine(Ark) | VOLCENGINE_API_KEY |
| Ollama(ローカル) | OLLAMA_BASE_URL(デフォルトは http://localhost:11434/v1) |
| Agnes-AI | AGNESAI_API_KEY |
| Exa 検索 | なし(デフォルト) |
| Tavily 検索 | TAVILY_API_KEY |
| Brave 検索 | BRAVE_API_KEY |
| Serper 検索 | SERPER_API_KEY |
設定ファイルと構成
設定は ~/.san/ と <project>/.san/ から読み込まれ、プロジェクト設定がユーザー設定より優先されます。プロジェクトの指示には AGENTS.md 標準が適用されます。~/.san/AGENTS.md、リポジトリのルートから作業ディレクトリまでにあるすべての AGENTS.md(最も近いものが優先)、およびルートにある Git で無視される AGENTS.local.md が対象です。
ユーザーレベル(~/.san/):
providers.json # Provider connections and current model
models.json # Your corrections to model windows, prices and reasoning efforts
settings.json # Permissions, hooks, env, active persona
skills.json # Skill states
personas/ # Persona bundles: system prompt parts, skills, settings
skills/ # Custom skill definitions
agents/ # Agent definitions
commands/ # Custom slash commands
plugins/ # Installed plugins
projects/ # Session transcripts + indexes
プロジェクトレベル(.san/):
settings.json # Permissions, hooks, disabled tools
mcp.json # MCP server definitions (team shared)
mcp.local.json # MCP server definitions (personal, git-ignored)
personas/ # Project-scoped persona bundles (override user-level)
agents/*.md # Subagent definitions
skills/*/SKILL.md # Skills
commands/*.md # Slash commands
plugins/ # Project-level plugins
plugins-local/ # Local plugins (git-ignored)
ベンチマーク:San と Claude Code の比較
Apple Silicon 上で、同じモデル(claude-sonnet-4-6)を使用して Claude Code v2.1.112 と比較しました。
| 指標 | San | Claude Code | 優位性 |
|---|---|---|---|
| ダウンロードサイズ | 12 MB | 63 MB(+ Node.js 112 MB) | 5倍小さい |
| ディスク使用量 | 38 MB | 175 MB | 4.6倍小さい |
| 起動時間 | ~0.01s | ~0.20s | 20倍高速 |
| 起動時のメモリ使用量 | ~32 MB | ~189 MB | 5.8倍少ない |
| 単純なタスク | ~2.4s / 39 MB | ~10.4s / 286 MB | 4.3倍高速、メモリ使用量7.3倍少ない |
| ツール使用タスク | ~3.3s / 39 MB | ~26.0s / 285 MB | 7.9倍高速、メモリ使用量7.2倍少ない |
| ハーネスのコンテキスト* | ~2.3k tokens | ~20.9k tokens | 約9倍軽量 |
*コンテキストのオーバーヘッドは、空の初回ターンにおけるシステムプロンプトとツールスキーマの合計で、San v1.22.0 と Claude Code v2.1.220 を別々に測定しています。測定方法を参照してください。その他の行は、v1.13.2 / v2.1.112 の実行結果です。
同等の機能セットで比較すると、差があるのは機能ではなく、クライアント側のオーバーヘッドです。docs/operations/benchmark.md
ドキュメント
- ドキュメント索引 — アーキテクチャ、機能、運用、リファレンスの案内
- アーキテクチャ — アーキテクチャの概要と推奨する読み進め方
- パッケージマップ — パッケージの担当範囲と依存関係の境界
- ペルソナ — 同梱のシステムプロンプト、スキル、エージェント、設定
- システムプロンプト — Slot モデル、ペルソナ、スキル/エージェントの注入
- サブエージェント · スキル · プラグイン · MCP
- フック · 権限 · タスク
- ワークフロー · セッショングループ — グラフとしてのサブエージェント、互いにメッセージを送るセッション
- インスペクター — トランスクリプトの再生とデバッグを行うローカル Web UI
- パッケージごとの設計は
docs/packages/にあります — パッケージ索引から始めてください
関連プロジェクト
- Claude Code — Anthropic の AI コーディングアシスタント
- Aider — ターミナルでの AI ペアプログラミング
- Continue — オープンソースの AI コードアシスタント
コミュニティ
参加方法は 2 つあります。中国語コミュニティには WeChat、それ以外の方には Slack をご利用ください。
- WeChat — 公式アカウント「极客外传」をフォローし、
sanまたは三と返信してグループに参加 - Slack — Slack に参加
コントリビューション
コントリビューションを歓迎します。ガイドラインについてはCONTRIBUTING.mdをご覧ください。
ライセンス
Apache License 2.0 — 詳細は LICENSEをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。