Providers
Pi は、環境変数または認証ファイルを介して OAuth および API key プロバイダーを介してサブスクリプションベースのプロバイダーをサポートします。組み込みカタログは pi に同梱されています。構成されたプロバイダーは、新しいカタログを更新し、オフラインで使用するためにそれらを ~/.pi/agent/models-store.json にキャッシュすることがあります。
目次
定期購入
対話モードで /login を使用し、プロバイダーを選択します。
- ChatGPT Plus/Pro (コーデックス)
- クロード プロ/マックス
- GitHub 副操縦士
- xAI (Grok/X サブスクリプション)
- OpenRouter (OAuth-minted API key OpenRouter クレジットから請求)
- 半径
認証情報をクリアするには、/logout を使用します。トークンは ~/.pi/agent/auth.json に保存され、期限切れになると自動更新されます。 OpenRouter は代わりに、自動的に期限切れにならないユーザー制御の API key を作成します。
OpenAI コーデックス
- ChatGPT Plus または Pro サブスクリプションが必要です
- OpenAI による公式承認: Codex for OSS
クロード プロ/マックス
Anthropic サブスクリプション認証は、Claude Pro/Max アカウントに対して有効です。サードパーティのハーネスの使用量は extra usage から引き出され、Claude プランの制限に対してではなく、トークンごとに請求されます。
GitHub 副操縦士
- github.com の場合は Enter を押すか、GitHub Enterprise Server ドメインを入力してください
- 「モデルがサポートされていません」というメッセージが表示された場合は、VS Code で有効にします。Copilot Chat → モデル セレクター → モデルの選択 → 「有効にする」
xAI (Grok/X サブスクリプション)
/login xaiを実行し、サブスクリプションを使用 を選択しますXAI_API_KEYは API key を使用して引き続き利用可能です
オープンルーター
/login openrouterを実行し、OpenRouter でサインイン を選択して OpenRouter PKCE 認証フローを開きます- 認証により、OpenRouter クレジットから請求されるユーザー制御の OpenRouter API key が作成されます
- リモート/ヘッドレス マシン (例: SSH 上) では、ブラウザはループバック コールバックに到達できません。代わりに、最終的なリダイレクト URL (または認証コード) をログイン プロンプトに貼り付けます。
OPENROUTER_API_KEYは API key を使用して引き続き利用可能です
半径
Radius は動的な pi-messages ゲートウェイです。 /login radius は OAuth トークンを auth.json に保管します。ゲートウェイ カタログは個別に更新され、models-store.json にキャッシュされます。カスタム Radius ゲートウェイは、"oauth": "radius" およびゲートウェイ baseUrl を使用して models.json で宣言できます。
API キー
環境変数または認証ファイル
対話モードで /login を使用し、プロバイダーを選択して API key を auth.json に保存するか、環境変数を介して資格情報を設定します。
export ANTHROPIC_API_KEY=sk-ant-...
pi| プロバイダー | 環境変数 | auth.jsonキー |
|---|---|---|
| 人間的 | ANTHROPIC_API_KEY |
anthropic |
| アント・リン | ANT_LING_API_KEY |
ant-ling |
| Azure OpenAI の応答 | AZURE_OPENAI_API_KEY |
azure-openai-responses |
| OpenAI | OPENAI_API_KEY |
openai |
| ディープシーク | DEEPSEEK_API_KEY |
deepseek |
| NVIDIA NIM | NVIDIA_API_KEY |
nvidia |
| Google ジェミニ | GEMINI_API_KEY |
google |
| アマゾンの岩盤 | AWS_BEARER_TOKEN_BEDROCK |
amazon-bedrock |
| ミストラル | MISTRAL_API_KEY |
mistral |
| グロク | GROQ_API_KEY |
groq |
| 大脳 | CEREBRAS_API_KEY |
cerebras |
| Cloudflare AI ゲートウェイ | CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_GATEWAY_ID) |
cloudflare-ai-gateway |
| Cloudflare ワーカー AI | CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID) |
cloudflare-workers-ai |
| xAI | XAI_API_KEY |
xai |
| オープンルーター | OPENROUTER_API_KEY |
openrouter |
| Vercel AI ゲートウェイ | AI_GATEWAY_API_KEY |
vercel-ai-gateway |
| ZAIコーディングプラン(グローバル) | ZAI_API_KEY |
zai |
| ZAIコーディングプラン(中国) | ZAI_CODING_CN_API_KEY |
zai-coding-cn |
| OpenCode Zen | OPENCODE_API_KEY |
opencode |
| OpenCode Go | OPENCODE_API_KEY |
opencode-go |
| 半径 | RADIUS_API_KEY |
radius |
| Hugging Face | HF_TOKEN |
huggingface |
| 花火 | FIREWORKS_API_KEY |
fireworks |
| 一緒にAI | TOGETHER_API_KEY |
together |
| ベーステン | BASETEN_API_KEY |
baseten |
| コーディングのためのキミ | KIMI_API_KEY |
kimi-coding |
| ミニマックス | MINIMAX_API_KEY |
minimax |
| ミニマックス(中国) | MINIMAX_CN_API_KEY |
minimax-cn |
| Qwen Token Plan(既存カタログ) | QWEN_TOKEN_PLAN_API_KEY |
qwen-token-plan |
| Qwenトークンプラン(個人) | QWEN_TOKEN_PLAN_API_KEY |
qwen-token-plan-individual |
| Qwen トークン プラン (中国) | QWEN_TOKEN_PLAN_CN_API_KEY |
qwen-token-plan-cn |
| シャオミ MiMo | XIAOMI_API_KEY |
xiaomi |
| Xiaomi MiMo トークン プラン (中国) | XIAOMI_TOKEN_PLAN_CN_API_KEY |
xiaomi-token-plan-cn |
| Xiaomi MiMo トークン プラン (アムステルダム) | XIAOMI_TOKEN_PLAN_AMS_API_KEY |
xiaomi-token-plan-ams |
| Xiaomi MiMo トークン プラン (シンガポール) | XIAOMI_TOKEN_PLAN_SGP_API_KEY |
xiaomi-token-plan-sgp |
環境変数と auth.json キーのリファレンス: packages/ai/src/env-api-keys.ts の const envMap。
認証ファイル
認証情報を ~/.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": "..." },
"qwen-token-plan": { "type": "api_key", "key": "sk-sp-..." },
"qwen-token-plan-individual": { "type": "api_key", "key": "sk-sp-..." },
"qwen-token-plan-cn": { "type": "api_key", "key": "sk-sp-..." },
"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": "..." }
}qwen-token-plan-individual は同じ国際エンドポイントを使用し、QWEN_TOKEN_PLAN_API_KEY は
qwen-token-plan ただし、ピッカーは個人サブスクリプション用に文書化されたモデルに制限されます。既存の
プロバイダーは、下位互換性を確保するために、より広範なカタログを保持しています。 auth.jsonを使用する場合は、
選択したプロバイダーの資格情報。環境変数は両方の国際プロバイダーによって共有されます。
ファイルは 0600 権限 (ユーザー読み取り/書き込みのみ) で作成されます。認証ファイルの資格情報は環境変数よりも優先されます。
API key 認証情報には、プロバイダー スコープの環境値を含めることもできます。これらの値は、資格情報キー、プロバイダー/モデル ヘッダー、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 がプロジェクト シェル環境とは異なるプロバイダー設定を使用する必要がある場合にこれを使用します。
キーの解決
key フィールドは、コマンドの実行、環境補間、およびリテラルをサポートします。
- シェル コマンド: 開始時の
"!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を使用します。環境変数が欠落していると、値が未解決になります。 - エスケープ:
"quot;はリテラル"quot;を出力します。"$!"は、コマンドの実行をトリガーせずにリテラルの"!"を発行します。{ "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 の後にここに保存され、自動的に管理されます。
クラウドProviders
Azure OpenAI
export AZURE_OPENAI_API_KEY=...
export AZURE_OPENAI_BASE_URL=https://your-resource.ai.azure.com
# also supported: https://your-resource.cognitiveservices.azure.com
# also supported: https://your-resource.openai.azure.com
# root endpoints are auto-normalized to /openai/v1
# or use resource name instead of base URL
export AZURE_OPENAI_RESOURCE_NAME=your-resource
# Optional
export AZURE_OPENAI_API_VERSION=2024-02-01
export AZURE_OPENAI_DEPLOYMENT_NAME_MAP=gpt-4=my-gpt4,gpt-4o=my-gpt4oアマゾンの岩盤
/login amazon-bedrock を使用して Bedrock API key を保存するか、以下のアンビエント AWS 認証情報ソースのいずれかを構成します。
# Option 1: AWS Profile
export AWS_PROFILE=your-profile
# Option 2: IAM Keys
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...
# Option 3: Bearer Token
export 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プロンプト キャッシュは、ID に認識可能なモデル名 (ベース モデルおよびシステム定義の推論プロファイル) が含まれるクロード モデルに対して自動的に有効になります。アプリケーション推論プロファイル (ARN にモデル名が含まれていない) の場合、AWS_BEDROCK_FORCE_CACHE=1 を設定してキャッシュ ポイントを有効にします。
export AWS_BEDROCK_FORCE_CACHE=1
pi --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 authentication
export AWS_BEDROCK_SKIP_AUTH=1
# Set if your proxy only supports HTTP/1.1
export AWS_BEDROCK_FORCE_HTTP1=1Cloudflare AI ゲートウェイ
CLOUDFLARE_API_KEYは/loginで設定できます。アカウント ID とゲートウェイ スラグは、環境変数として、または auth.json の API key 資格情報の env オブジェクトに設定できます。
export CLOUDFLARE_API_KEY=... # or use /login
export CLOUDFLARE_ACCOUNT_ID=...
export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI → AI Gateway
pi --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"Cloudflare AIゲートウェイを介してOpenAI、Anthropic、Workers AIにルーティングします。 Workers AI は、統合された API (/compat) およびプレフィックス付きモデル ID (workers-ai/@cf/...) を使用します。 OpenAI は、gpt-5.1 などのネイティブ OpenAI モデル ID を持つ OpenAI パススルー ルート (/openai) を使用します。 Anthropic は、claude-sonnet-4-5 などのネイティブ Anthropic モデル ID を持つ Anthropic パススルー ルート (/anthropic) を使用します。
AI ゲートウェイの認証では、CLOUDFLARE_API_KEY が cf-aig-authorization として使用されます。アップストリーム認証は次のいずれかになります。
| モード | 認証のリクエスト | アップストリーム認証 |
|---|---|---|
| ワーカーAI | Cloudflareトークンのみ | Cloudflareネイティブ |
| 統合請求 | Cloudflareトークンのみ | Cloudflareはアップストリーム認証を処理し、クレジットを差し引きます |
| 保存されたBYOK | Cloudflareトークンのみ | Cloudflareは、AIゲートウェイダッシュボードに保存されているプロバイダーキーを挿入します |
| インラインBYOK | CloudflareトークンとアップストリームのAuthorizationヘッダー |
リクエストは上流プロバイダーキーを提供します |
通常の pi の使用の場合は、統合請求または保存された BYOK をお勧めします。インライン BYOK では、たとえば models.json プロバイダー/モデルのオーバーライドを介して、Cloudflare AI Gateway プロバイダーの追加のアップストリーム Authorization ヘッダーを構成する必要があります。
Cloudflare ワーカー AI
CLOUDFLARE_API_KEYは/loginで設定できます。 CLOUDFLARE_ACCOUNT_ID は、環境変数として、または auth.json の API key 認証情報の env オブジェクトに設定できます。
export CLOUDFLARE_API_KEY=... # or use /login
export CLOUDFLARE_ACCOUNT_ID=...
pi --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"Pi は、prefix caching 割引に対して x-session-affinity を自動的に設定します。
Google バーテックス AI
アプリケーションのデフォルト認証情報を使用します。
gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT=your-project
export GOOGLE_CLOUD_LOCATION=us-central1または、GOOGLE_APPLICATION_CREDENTIALS をサービス アカウント キー ファイルに設定します。
llama.cpp
Pi は、llama.cpp ルーターサーバーをサポートします。 /login llama.cpp で設定し、/llama でロードされたモデルを管理し、/model でロードされたモデルを選択します。
サーバーのセットアップ、モデルのディレクトリのレイアウト、環境変数、およびコマンドの使用法については、llama.cpp を参照してください。
カスタムProviders
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 key または OAuth トークン)- 環境変数
models.jsonからのカスタムプロバイダーキー