コンテンツにスキップ

LLMプラグイン

ミニオンは「LLMを内包したハーネス」であり、どのLLMを頭脳として使うかをユーザが選べます。プラグイン方式で Claude / Gemini / Codex を切り替え可能で、Primary LLM が必要に応じて他のLLM (子セッション) にタスクを委譲することもできます。

概念役割
Primary LLMミニオンの頭脳。ユーザのチャット、ワークフロー、ルーティンをすべて処理する
Child LLM専門タスクのために Primary が dispatch する子セッション。並列実行可能
プラグイン各LLM CLI のアダプタ。Claude / Gemini / Codex がビルトイン
Dispatch MCP サーバPrimary が子LLMを呼ぶための MCP サーバ。Primary 設定時に自動登録される

1. LLM CLI をインストール・認証する

Section titled “1. LLM CLI をインストール・認証する”

ミニオン上で使いたい LLM CLI をインストール&ログインします。

LLMインストール認証
Claude Codenpm i -g @anthropic-ai/claude-codeclaude login
Gemini CLInpm i -g @google/gemini-cligemini 起動後ブラウザでOAuth
Codex CLInpm i -g @openai/codexcodex login

2. ミニオン詳細ページの「LLM」タブを開く

Section titled “2. ミニオン詳細ページの「LLM」タブを開く”

HQ ダッシュボードでミニオンを選び、サイドバーの LLM タブを開きます。

  • 各プラグインの 認証状態 (緑 = OK / 黄 = 未認証) と capabilities (tool use / streaming / vision など) が一覧表示されます
  • 使いたいプラグインの enabled にチェック
  • 頭脳にしたいプラグインの primary を選択

設定はミニオン上の ~/minion/llm/config.json に永続化されます。

3. 自動的に dispatch MCP サーバが登録される

Section titled “3. 自動的に dispatch MCP サーバが登録される”

Primary を選ぶと、ミニオン側で自動的に minion-llm-dispatch という MCP サーバが Primary プラグインの MCP 設定ファイルに追記されます (Claude なら ~/.mcp.json、Gemini なら ~/.gemini/settings.json)。

これにより Primary は dispatch_to_gemini(prompt, opts)dispatch_to_codex(prompt, opts) のような MCP ツールを使って、有効化されている他のLLMにタスクを委譲できるようになります。

  • streaming: ✅ チャットがリアルタイム表示される
  • vision: ✅ 画像入力可能
  • session resume: ✅ 子セッションを継続できる (差し戻しレビュー等で有効)
  • image generation: ❌
  • スキル: ~/.claude/skills/ から SKILL.md を読み込み、/skill-name で明示呼び出し
  • streaming: ❌ 完了まで待って一括返答
  • vision: ✅
  • image generation: ✅ ただし gemini-cli-extensions/nanobanana 拡張のインストールが必要
  • session resume: ❌ 毎回新規セッション
  • スキル: ~/.gemini/skills/ から SKILL.md を読み込み、システムプロンプトに自動注入 (自然言語で指示)
  • OAuth 認証時のキーチェーンエラー: Docker などヘッドレス Linux 環境では Keychain is not available エラーが出ることがあります。export GEMINI_FORCE_FILE_STORAGE=true を設定してフォールバック
  • 画像生成: 標準コマンドではコード生成 (Python/Pillow) として解釈されます。Nano banana を使うには gemini extensions install https://github.com/gemini-cli-extensions/nanobanana で公式拡張を導入し、NANOBANANA_API_KEY を設定してください
  • streaming: ❌
  • session resume: ❌
  • vision / image generation: ❌
  • スキル: ~/.codex/skills/ から読み込み、/skill-name または $skill-name で呼び出し
経路挙動
チャットPrimary プラグインが stream() 実装ならストリーミング、なければ完了後一括返答
ワークフロー / ルーティンプロンプトを一時ファイルに書き出し、<binary> < tmpfile の形で tmux 実行 (シェルクォート問題を根本回避)
dispatch (子LLM呼び出し)Primary が tool use 対応なら自動登録された MCP ツール経由で利用可能
  • 子セッションは (parentSessionId, pluginName) をキーにプールされ、親セッション存続中は再利用される
  • 並列 dispatch (例: 画像を 2 枚同時生成) のときは別 slot として独立した子セッションが起こされる
  • 親セッション (チャット / ワークフロー) が終了すると、紐づく子セッションは全て破棄される

Primary が未設定の場合、従来の LLM_COMMAND 環境変数によるテンプレート方式で動作します (後方互換)。LLM_COMMAND は将来廃止予定のため、新規利用はプラグイン方式を推奨します。

Primary を切り替えてもチャットが旧 LLM のまま

Section titled “Primary を切り替えてもチャットが旧 LLM のまま”

ミニオンの再起動が必要な場合があります。minion-cli restart または HQ ダッシュボードの再起動ボタンを使用してください。

dispatch_to_* ツールが Primary から見えない

Section titled “dispatch_to_* ツールが Primary から見えない”
  • Primary プラグインに MCP クライアント機能があるか確認 (Claude / Codex / Gemini はサポート)
  • ~/.mcp.json または ~/.gemini/settings.jsonminion-llm-dispatch エントリが追加されているか確認
  • Primary の CLI を再起動して MCP 設定を読み直す

現状、スキルは Primary プラグインのスキルディレクトリ (例: ~/.claude/skills/) に配置されたものだけが認識されます。複数プラグイン横断のスキル配布は今後対応予定です。