Droid と Pi はどちらも OpenAI 互換インターフェース経由で 4AICode に接続します。
- Base URL:
https://relay.4aicode.com/v1 - APIキー:ダッシュボード → トークン管理 で作成した
sk-4ai-...トークン - 推奨モデル:
gpt-5.6-terra;フラッグシップタスクにはgpt-6-astra、軽量タスクにはgpt-5.4-miniまたはgemini-3.8-flash
Droid
Droid は Factory のコマンドラインコーディングエージェントです。公式ドキュメントは Factory BYOK を参照してください。
まず 4AICode トークンを環境変数に保存します。
export RELAY4AI_API_KEY=sk-4ai-xxxxxxxxxxxxxxxx
~/.factory/settings.json を編集します。
{
"customModels": [
{
"model": "4aicode-gpt-5.6-terra",
"displayName": "4AICode GPT 5.6 Terra",
"baseUrl": "https://relay.4aicode.com/v1",
"apiKey": "${RELAY4AI_API_KEY}",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 16384,
"index": 0,
"id": "custom:4AICode-GPT-5.6-Terra-0"
},
{
"model": "4aicode-gpt-5.6-sol",
"displayName": "4AICode GPT 5.6 Sol",
"baseUrl": "https://relay.4aicode.com/v1",
"apiKey": "${RELAY4AI_API_KEY}",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 16384,
"index": 1,
"id": "custom:4AICode-GPT-5.6-Sol-1"
},
{
"model": "4aicode-gpt-6-astra",
"displayName": "4AICode GPT 6 Astra",
"baseUrl": "https://relay.4aicode.com/v1",
"apiKey": "${RELAY4AI_API_KEY}",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 16384,
"index": 2,
"id": "custom:4AICode-GPT-6-Astra-2"
},
{
"model": "4aicode-gpt-5.4-mini",
"displayName": "4AICode GPT 5.4 Mini",
"baseUrl": "https://relay.4aicode.com/v1",
"apiKey": "${RELAY4AI_API_KEY}",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 16384,
"index": 3,
"id": "custom:4AICode-GPT-5.4-Mini-3"
},
{
"model": "gemini-3.8-flash",
"displayName": "4AICode Gemini 3.8 Flash",
"baseUrl": "https://relay.4aicode.com/v1",
"apiKey": "${RELAY4AI_API_KEY}",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 16384,
"index": 4,
"id": "custom:4AICode-Gemini-3.8-Flash-4"
}
],
"model": "custom:4AICode-GPT-5.6-Terra-0",
"sessionDefaultSettings": {
"model": "custom:4AICode-GPT-5.6-Terra-0"
}
}
ファイル保存後、Droid を再起動します。droid で対話モードに入り、/model で 4AICode GPT 5.6 Terra を選択します。
4aicode-gpt-* エイリアスは、gpt-5.6-terra を直接指定する代わりに意図的に使用しています。Droid が汎用 Chat Completions モデルとして扱い、4AICode ゲートウェイがエイリアスを実際の Codex モデルにマッピングし、起動時の GPT-5 / Responses API プロバイダー検証警告を防ぎます。
ヘッドレスモードの例:
droid exec --model "custom:4AICode-GPT-5.6-Terra-0" "summarize this repository"
フラッグシップモデルが必要な場合は Sol を明示的に選択:
droid exec --model "custom:4AICode-GPT-5.6-Sol-1" "refactor this repository"
軽量モデルを使う場合:
droid exec --model "custom:4AICode-GPT-5.4-Mini-3" "fix typos in docs"
Gemini 3.8 Flash を使う場合:
droid exec --model "custom:4AICode-Gemini-3.8-Flash-4" "analyze this repository"
Pi
Pi は pi.dev のコマンドラインコーディングエージェントです。カスタムモデル設定ファイルは ~/.pi/agent/models.json です。公式ドキュメントは Pi Custom Models を参照してください。
まず 4AICode トークンを環境変数に保存します。
export RELAY4AI_API_KEY=sk-4ai-xxxxxxxxxxxxxxxx
~/.pi/agent/models.json を編集します。Pi の apiKey で環境変数を参照する場合、$ プレフィックス付きで $RELAY4AI_API_KEY と記述します。
{
"providers": {
"4aicode": {
"baseUrl": "https://relay.4aicode.com/v1",
"api": "openai-responses",
"apiKey": "$RELAY4AI_API_KEY",
"authHeader": true,
"models": [
{
"id": "gpt-5.6-terra",
"name": "4AICode GPT 5.6 Terra",
"reasoning": true,
"maxTokens": 16384
},
{
"id": "gpt-5.6-sol",
"name": "4AICode GPT 5.6 Sol",
"reasoning": true,
"maxTokens": 16384
},
{
"id": "gpt-6-astra",
"name": "4AICode GPT 6 Astra",
"reasoning": true,
"maxTokens": 16384
},
{
"id": "gpt-5.4-mini",
"name": "4AICode GPT 5.4 Mini",
"reasoning": true,
"maxTokens": 16384
},
{
"id": "gemini-3.8-flash",
"name": "4AICode Gemini 3.8 Flash",
"reasoning": false,
"maxTokens": 16384
}
]
}
}
}
実行:
pi --provider 4aicode --model gpt-5.6-terra
Pi の対話インターフェースで /model を使い 4AICode GPT 5.6 Terra に切り替えることもできます。
フラッグシップモデルが必要な場合:
pi --provider 4aicode --model gpt-5.6-sol
Astra を使う場合:
pi --provider 4aicode --model gpt-6-astra
Gemini 3.8 Flash を使う場合:
pi --provider 4aicode --model gemini-3.8-flash
動作確認
設定完了後、ping メッセージを送信します。次に ダッシュボード → 利用履歴 を開き、対応するモデルがリクエスト履歴に表示されれば設定成功です。
Gemini 3.8 Flash で確認:
pi --provider 4aicode --model gemini-3.8-flash "ping"