Pi の設定、拡張、プラットフォーム設定、API リファレンス。

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_KEYAPI key を使用して引き続き利用可能です

オープンルーター

  • /login openrouter を実行し、OpenRouter でサインイン を選択して OpenRouter PKCE 認証フローを開きます
  • 認証により、OpenRouter クレジットから請求されるユーザー制御の OpenRouter API key が作成されます
  • リモート/ヘッドレス マシン (例: SSH 上) では、ブラウザはループバック コールバックに到達できません。代わりに、最終的なリダイレクト URL (または認証コード) をログイン プロンプトに貼り付けます。
  • OPENROUTER_API_KEYAPI 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.tsconst 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_KEYqwen-token-plan ただし、ピッカーは個人サブスクリプション用に文書化されたモデルに制限されます。既存の プロバイダーは、下位​​互換性を確保するために、より広範なカタログを保持しています。 auth.jsonを使用する場合は、 選択したプロバイダーの資格情報。環境変数は両方の国際プロバイダーによって共有されます。

ファイルは 0600 権限 (ユーザー読み取り/書き込みのみ) で作成されます。認証ファイルの資格情報は環境変数よりも優先されます。

API key 認証情報には、プロバイダー スコープの環境値を含めることもできます。これらの値は、資格情報キー、プロバイダー/モデル ヘッダー、Cloudflare アカウント ID、Azure OpenAI 設定、Vertex プロジェクト/場所、Bedrock 設定、PI_CACHE_RETENTIONHTTP_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-2

ECS タスク ロール (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/abc123

Bedrock 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=1

Cloudflare 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_KEYcf-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.mdexamples/extensions/custom-provider-gitlab-duo を参照してください。

解決順序

プロバイダーの資格情報を解決する場合:

  1. CLI --api-key フラグ
  2. auth.json エントリ (API key または OAuth トークン)
  3. 環境変数
  4. models.json からのカスタムプロバイダーキー