プロバイダー
Pi は OAuth 経由のサブスクリプションベースプロバイダーと、環境変数または auth ファイル経由の API キープロバイダーをサポートします。各プロバイダーについて、pi は利用可能なすべてのモデルを把握します。リストは pi の各リリースで更新されます。
サブスクリプション
Section titled “サブスクリプション”対話モードで /login を使用し、プロバイダーを選択:
- ChatGPT Plus/Pro (Codex)
- Claude Pro/Max
- GitHub Copilot
/logout で認証情報をクリア。トークンは ~/.pi/agent/auth.json に保存され、期限切れ時に自動更新。
OpenAI Codex
Section titled “OpenAI Codex”- ChatGPT Plus または Pro サブスクリプションが必要
- OpenAI 公式推奨:Codex for OSS
Claude Pro/Max
Section titled “Claude Pro/Max”Anthropic サブスクリプション認証は Claude Pro/Max アカウントで有効。サードパーティハーネス使用は extra usage から課金され、トークン単位で請求、Claude プラン上限にはカウントされません。
GitHub Copilot
Section titled “GitHub Copilot”- Enter で github.com、または GitHub Enterprise Server ドメインを入力
- “model not supported” の場合、VS Code で有効化:Copilot Chat → モデルセレクター → モデル選択 → “Enable”
API キー
Section titled “API キー”環境変数または Auth ファイル
Section titled “環境変数または Auth ファイル”対話モードで /login を使用してプロバイダーを選択し API キーを auth.json に保存するか、環境変数で認証情報を設定:
export ANTHROPIC_API_KEY=sk-ant-...pi| プロバイダー | 環境変数 | auth.json キー |
|---|---|---|
| Anthropic | ANTHROPIC_API_KEY | anthropic |
| Ant Ling | ANT_LING_API_KEY | ant-ling |
| Azure OpenAI Responses | AZURE_OPENAI_API_KEY | azure-openai-responses |
| OpenAI | OPENAI_API_KEY | openai |
| DeepSeek | DEEPSEEK_API_KEY | deepseek |
| NVIDIA NIM | NVIDIA_API_KEY | nvidia |
| Google Gemini | GEMINI_API_KEY | google |
| Mistral | MISTRAL_API_KEY | mistral |
| Groq | GROQ_API_KEY | groq |
| Cerebras | CEREBRAS_API_KEY | cerebras |
| Cloudflare AI Gateway | CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_GATEWAY_ID) | cloudflare-ai-gateway |
| Cloudflare Workers AI | CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID) | cloudflare-workers-ai |
| xAI | XAI_API_KEY | xai |
| OpenRouter | OPENROUTER_API_KEY | openrouter |
| Vercel AI Gateway | AI_GATEWAY_API_KEY | vercel-ai-gateway |
| ZAI | ZAI_API_KEY | zai |
| ZAI Coding Plan (China) | ZAI_CODING_CN_API_KEY | zai-coding-cn |
| OpenCode Zen | OPENCODE_API_KEY | opencode |
| OpenCode Go | OPENCODE_API_KEY | opencode-go |
| Hugging Face | HF_TOKEN | huggingface |
| Fireworks | FIREWORKS_API_KEY | fireworks |
| Together AI | TOGETHER_API_KEY | together |
| Kimi For Coding | KIMI_API_KEY | kimi-coding |
| MiniMax | MINIMAX_API_KEY | minimax |
| MiniMax (China) | MINIMAX_CN_API_KEY | minimax-cn |
| Xiaomi MiMo | XIAOMI_API_KEY | xiaomi |
| Xiaomi MiMo Token Plan (China) | XIAOMI_TOKEN_PLAN_CN_API_KEY | xiaomi-token-plan-cn |
| Xiaomi MiMo Token Plan (Amsterdam) | XIAOMI_TOKEN_PLAN_AMS_API_KEY | xiaomi-token-plan-ams |
| Xiaomi MiMo Token Plan (Singapore) | XIAOMI_TOKEN_PLAN_SGP_API_KEY | xiaomi-token-plan-sgp |
環境変数と auth.json キーの参照:packages/ai/src/env-api-keys.ts の const envMap。
Auth ファイル
Section titled “Auth ファイル”認証情報を ~/.pi/agent/auth.json に保存:
{ "anthropic": { "type": "api_key", "key": "sk-ant-..." }, "ant-ling": { "type": "api_key", "key": "..." }, "openai": { "type": "api_key", "key": "sk-..." }, "deepseek": { "type": "api_key", "key": "sk-..." }, "nvidia": { "type": "api_key", "key": "nvapi-..." }, "google": { "type": "api_key", "key": "..." }, "opencode": { "type": "api_key", "key": "..." }, "opencode-go": { "type": "api_key", "key": "..." }, "together": { "type": "api_key", "key": "..." }, "xiaomi": { "type": "api_key", "key": "..." }, "xiaomi-token-plan-cn": { "type": "api_key", "key": "..." }, "xiaomi-token-plan-ams": { "type": "api_key", "key": "..." }, "xiaomi-token-plan-sgp": { "type": "api_key", "key": "..." }}ファイルは 0600 権限(ユーザー読み書きのみ)で作成。Auth ファイルの認証情報は環境変数より優先。
API キー認証情報にはプロバイダースコープの環境値も含められます。Cloudflare アカウント ID、Azure OpenAI 設定、Vertex プロジェクト/ロケーション、Bedrock 設定、PI_CACHE_RETENTION、HTTP_PROXY/HTTPS_PROXY などを解決する際、これらはプロセス環境変数より先に使用されます。
{ "cloudflare-ai-gateway": { "type": "api_key", "key": "$CLOUDFLARE_API_KEY", "env": { "CLOUDFLARE_API_KEY": "...", "CLOUDFLARE_ACCOUNT_ID": "account-id", "CLOUDFLARE_GATEWAY_ID": "gateway-id" } }}pi がプロジェクト shell 環境とは異なるプロバイダー設定を使う場合に使用。
key フィールドはコマンド実行、環境変数補間、リテラルをサポート:
- Shell コマンド: 先頭の
"!command"で値全体をコマンドとして実行し stdout を使用(プロセス存続中キャッシュ){ "type": "api_key", "key": "!security find-generic-password -ws 'anthropic'" }{ "type": "api_key", "key": "!op read 'op://vault/item/credential'" } - 環境変数補間:
"$ENV_VAR"または"${ENV_VAR}"で命名変数の値を使用{ "type": "api_key", "key": "$MY_ANTHROPIC_KEY" }{ "type": "api_key", "key": "${KEY_PREFIX}_${KEY_SUFFIX}" }$FOO_BARは変数FOO_BAR;BARがリテラルなら${FOO}_BARを使用。欠落した環境変数は未解決。 - エスケープ:
"$$"はリテラル"$";"$!"はリテラル"!"(コマンド実行なし){ "type": "api_key", "key": "$$literal-dollar-prefix" }{ "type": "api_key", "key": "$!literal-bang-prefix" } - リテラル値: 直接使用。
MY_API_KEYのような純粋な大文字列はリテラル;環境変数には$MY_API_KEYを使用{ "type": "api_key", "key": "sk-ant-..." }{ "type": "api_key", "key": "public" }
OAuth 認証情報も /login 後ここに保存され自動管理されます。
クラウドプロバイダー
Section titled “クラウドプロバイダー”Azure OpenAI
Section titled “Azure OpenAI”export AZURE_OPENAI_API_KEY=...export AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com# also supported: https://your-resource.cognitiveservices.azure.com# root endpoints are auto-normalized to /openai/v1# or use resource name instead of base URLexport AZURE_OPENAI_RESOURCE_NAME=your-resource
# Optionalexport AZURE_OPENAI_API_VERSION=2024-02-01export AZURE_OPENAI_DEPLOYMENT_NAME_MAP=gpt-4=my-gpt4,gpt-4o=my-gpt4oAmazon Bedrock
Section titled “Amazon Bedrock”# Option 1: AWS Profileexport AWS_PROFILE=your-profile
# Option 2: IAM Keysexport AWS_ACCESS_KEY_ID=AKIA...export AWS_SECRET_ACCESS_KEY=...
# Option 3: Bearer Tokenexport AWS_BEARER_TOKEN_BEDROCK=...
# Optional region (defaults to us-east-1)export AWS_REGION=us-west-2ECS タスクロール(AWS_CONTAINER_CREDENTIALS_*)と IRSA(AWS_WEB_IDENTITY_TOKEN_FILE)もサポート。
pi --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0認識可能なモデル名を含む Claude モデル(ベースモデルとシステム定義推論プロファイル)では prompt caching が自動有効。アプリケーション推論プロファイル(ARN にモデル名なし)では AWS_BEDROCK_FORCE_CACHE=1 で cache points を有効化:
export AWS_BEDROCK_FORCE_CACHE=1pi --provider amazon-bedrock --model arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abc123Bedrock API プロキシに接続する場合:
# Set the URL for the Bedrock proxy (standard AWS SDK env var)export AWS_ENDPOINT_URL_BEDROCK_RUNTIME=https://my.corp.proxy/bedrock
# Set if your proxy does not require authenticationexport AWS_BEDROCK_SKIP_AUTH=1
# Set if your proxy only supports HTTP/1.1export AWS_BEDROCK_FORCE_HTTP1=1Cloudflare AI Gateway
Section titled “Cloudflare AI Gateway”CLOUDFLARE_API_KEY は /login で設定可能。アカウント ID と gateway slug は環境変数または auth.json の API キー認証情報の env オブジェクトで設定。
export CLOUDFLARE_API_KEY=... # or use /loginexport CLOUDFLARE_ACCOUNT_ID=...export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI → AI Gatewaypi --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"Cloudflare AI Gateway 経由で OpenAI、Anthropic、Workers AI にルーティング。Workers AI は Unified API(/compat)とプレフィックス付きモデル ID(workers-ai/@cf/...)。OpenAI は OpenAI passthrough(/openai)とネイティブ OpenAI モデル ID(例:gpt-5.1)。Anthropic は Anthropic passthrough(/anthropic)とネイティブ Anthropic モデル ID(例:claude-sonnet-4-5)。
AI Gateway 認証は CLOUDFLARE_API_KEY を cf-aig-authorization として使用。上流認証モード:
| モード | リクエスト認証 | 上流認証 |
|---|---|---|
| Workers AI | Cloudflare トークンのみ | Cloudflare ネイティブ |
| Unified billing | Cloudflare トークンのみ | Cloudflare が上流認証とクレジット控除 |
| Stored BYOK | Cloudflare トークンのみ | AI Gateway ダッシュボードに保存されたプロバイダーキーを注入 |
| Inline BYOK | Cloudflare トークン + 上流 Authorization ヘッダー | リクエストが上流プロバイダーキーを提供 |
通常の pi 使用では unified billing または stored BYOK を推奨。Inline BYOK には Cloudflare AI Gateway プロバイダー用の追加 Authorization ヘッダー設定が必要(例:models.json の provider/モデルオーバーライド)。
Cloudflare Workers AI
Section titled “Cloudflare Workers AI”CLOUDFLARE_API_KEY は /login で設定可能。CLOUDFLARE_ACCOUNT_ID は環境変数または auth.json の env オブジェクトで設定。
export CLOUDFLARE_API_KEY=... # or use /loginexport CLOUDFLARE_ACCOUNT_ID=...pi --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"Pi は prefix caching 割引のため x-session-affinity を自動設定。
Google Vertex AI
Section titled “Google Vertex AI”Application Default Credentials を使用:
gcloud auth application-default loginexport GOOGLE_CLOUD_PROJECT=your-projectexport GOOGLE_CLOUD_LOCATION=us-central1または GOOGLE_APPLICATION_CREDENTIALS をサービスアカウントキーファイルに設定。
カスタムプロバイダー
Section titled “カスタムプロバイダー”models.json 経由: Ollama、LM Studio、vLLM、またはサポート API(OpenAI Completions、OpenAI Responses、Anthropic Messages、Google Generative AI)を話す任意のプロバイダーを追加。models.md を参照。
拡張経由: カスタム API 実装または OAuth フローが必要なプロバイダーには拡張を作成。custom-provider.md と examples/extensions/custom-provider-gitlab-duo を参照。
プロバイダーの認証情報解決時:
- CLI
--api-keyフラグ auth.jsonエントリ(API キーまたは OAuth トークン)- 環境変数
models.jsonのカスタムプロバイダーキー