Pi için yapılandırma, özelleştirme, platform kurulumu ve API referansları.

Providers

Pi, ortam değişkenleri veya kimlik doğrulama dosyası aracılığıyla OAuth ve API key sağlayıcıları aracılığıyla abonelik tabanlı sağlayıcıları destekler. Yerleşik kataloglar pi ile birlikte gönderilir; yapılandırılmış sağlayıcılar daha yeni katalogları yenileyebilir ve bunları çevrimdışı kullanım için ~/.pi/agent/models-store.json'de önbelleğe alabilir.

İçindekiler

Abonelikler

Etkileşimli modda /login tuşunu kullanın, ardından bir sağlayıcı seçin:

  • ChatGPT Plus/Pro (Codex)
  • Claude Pro/Max
  • GitHub Copilot
  • xAI (Grok/X subscription)
  • OpenRouter (OAuth-minted API key billed from OpenRouter credits)
  • Radius

Kimlik bilgilerini temizlemek için /logout tuşunu kullanın. Jetonlar ~/.pi/agent/auth.json'de saklanır ve süresi dolduğunda otomatik olarak yenilenir. OpenRouter bunun yerine kullanıcı tarafından kontrol edilen ve süresi otomatik olarak dolmayan bir API key basar.

OpenAI Codex

  • ChatGPT Plus veya Pro aboneliği gerektirir
  • OpenAI tarafından resmi olarak onaylanmıştır: Codex for OSS

Claude Pro/Max

Anthropic abonelik kimlik doğrulaması Claude Pro/Max hesapları için etkindir. Üçüncü taraf araç kullanımı extra usage üzerinden düşülür ve Claude plan sınırlarından değil token başına faturalandırılır.

GitHub Copilot

  • github.com için Enter tuşuna basın veya GitHub Enterprise Server alan adınızı girin
  • "Model desteklenmiyor" mesajını alırsanız, bunu VS Code'da etkinleştirin: Copilot Chat → model seçici → modeli seç → "Etkinleştir"

xAI (Grok/X subscription)

  • /login xai komutunu çalıştırın ve ardından Abonelik kullan seçeneğini seçin
  • XAI_API_KEY, API key kullanın aracılığıyla kullanılabilir olmaya devam eder

OpenRouter

  • /login openrouter komutunu çalıştırın ve ardından OpenRouter PKCE yetkilendirme akışını açmak için OpenRouter ile oturum aç seçeneğini seçin
  • Yetkilendirme, OpenRouter kredilerinizden faturalandırılan, kullanıcı kontrollü bir OpenRouter API key oluşturur
  • Uzak/başsız makinelerde (örneğin SSH'nin üzerinde) tarayıcı geri döngü geri çağrısına ulaşamaz; bunun yerine son yönlendirme URL'sini (veya yetkilendirme kodunu) giriş istemine yapıştırın
  • OPENROUTER_API_KEY, API key kullanın aracılığıyla kullanılabilir olmaya devam eder

Radius

Radius dinamik bir pi-messages ağ geçididir. /login radius OAuth token'ı auth.json'de saklar; ağ geçidi kataloğu bağımsız olarak yenilenir ve models-store.json'de önbelleğe alınır. Özel Radius ağ geçitleri models.json'de "oauth": "radius" ve bir ağ geçidi baseUrl ile bildirilebilir.

API keys

Ortam Değişkenleri veya Kimlik Doğrulama Dosyası

Etkileşimli modda /login kullanın ve API key'yi auth.json'de depolamak için bir sağlayıcı seçin veya kimlik bilgilerini ortam değişkeni aracılığıyla ayarlayın:

export ANTHROPIC_API_KEY=sk-ant-...
pi
sağlayıcı Ortam Değişkeni auth.json tuşu
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
Amazon Bedrock AWS_BEARER_TOKEN_BEDROCK amazon-bedrock
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 Coding Plan (Global) 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
Radius RADIUS_API_KEY radius
Hugging Face HF_TOKEN huggingface
Fireworks FIREWORKS_API_KEY fireworks
Together AI TOGETHER_API_KEY together
Baseten BASETEN_API_KEY baseten
Kimi For Coding KIMI_API_KEY kimi-coding
MiniMax MINIMAX_API_KEY minimax
MiniMax (China) MINIMAX_CN_API_KEY minimax-cn
Qwen Token Plan (existing catalog) QWEN_TOKEN_PLAN_API_KEY qwen-token-plan
Qwen Token Plan (Individual) QWEN_TOKEN_PLAN_API_KEY qwen-token-plan-individual
Qwen Token Plan (China) QWEN_TOKEN_PLAN_CN_API_KEY qwen-token-plan-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

Ortam değişkenleri ve auth.json tuşları için referans: packages/ai/src/env-api-keys.ts'de const envMap.

Kimlik Doğrulama Dosyası

Kimlik bilgilerini ~/.pi/agent/auth.json konumunda saklayın:

{
  "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 aynı uluslararası uç noktayı kullanır ve QWEN_TOKEN_PLAN_API_KEY ile qwen-token-plan, ancak seçiciyi Bireysel abonelikler için belgelenen modellerle sınırlar. Mevcut sağlayıcı geriye dönük uyumluluk için daha geniş kataloğunu korur. auth.json kullanırken, seçtiğiniz sağlayıcının kimlik bilgileri; bir ortam değişkeni her iki uluslararası sağlayıcı tarafından paylaşılmaktadır.

Dosya 0600 izinleriyle oluşturulmuştur (yalnızca kullanıcı okuma/yazma). Kimlik doğrulama dosyası kimlik bilgileri, ortam değişkenlerine göre önceliklidir.

API key kimlik bilgileri provider kapsamlı ortam değerleri de içerebilir. Bu değerler kimlik bilgisi anahtarı, provider/model başlıkları ve Cloudflare hesap kimlikleri, Azure OpenAI ayarları, Vertex projesi/konumu, Bedrock ayarları, PI_CACHE_RETENTION ve HTTP_PROXY/HTTPS_PROXY gibi provider yapılandırmaları çözümlenirken işlem ortamı değişkenlerinden önce kullanılır.

{
  "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'nin proje kabuk ortamından farklı sağlayıcı ayarları kullanması gerektiğinde bunu kullanın.

Anahtar Çözünürlüğü

key alanı komut yürütmeyi, ortam enterpolasyonunu ve değişmez değerleri destekler:

  • Kabuk komutu: "!command" başlangıçta tüm değeri bir komut olarak yürütür ve stdout'yi kullanır (işlem ömrü boyunca önbelleğe alınır)
    { "type": "api_key", "key": "!security find-generic-password -ws 'anthropic'" }
    { "type": "api_key", "key": "!op read 'op://vault/item/credential'" }
  • Ortam enterpolasyonu: "$ENV_VAR" veya "${ENV_VAR}", adlandırılmış değişkenin değerini kullanır. Enterpolasyon daha büyük değişmezlerin içinde çalışır.
    { "type": "api_key", "key": "$MY_ANTHROPIC_KEY" }
    { "type": "api_key", "key": "${KEY_PREFIX}_${KEY_SUFFIX}" }
    $FOO_BAR, FOO_BAR değişkenidir; BAR gerçek metin olduğunda ${FOO}_BAR kullanın. Eksik ortam değişkenleri değeri çözümsüz hale getirir.
  • Kaçışlar: "$" değişmez "
    quot;
    üretir; "$!" komut yürütmeyi tetiklemeden değişmez "!" üretir.
    { "type": "api_key", "key": "$literal-dollar-prefix" }
    { "type": "api_key", "key": "$!literal-bang-prefix" }
  • Gerçek değer: Doğrudan kullanılır. MY_API_KEY gibi düz büyük harf dizeleri değişmez değerlerdir; ortam değişkenleri için $MY_API_KEY kullanın.
    { "type": "api_key", "key": "sk-ant-..." }
    { "type": "api_key", "key": "public" }

OAuth kimlik bilgileri /login sonrasında da burada saklanır ve otomatik olarak yönetilir.

Bulut sağlayıcıları

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

Amazon Bedrock

Bedrock API key saklamak için /login amazon-bedrock kullanın veya aşağıdaki ortam tabanlı AWS kimlik bilgisi kaynaklarından birini yapılandırın:

# 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

Ayrıca ECS görev rollerini (AWS_CONTAINER_CREDENTIALS_*) ve IRSA'yı (AWS_WEB_IDENTITY_TOKEN_FILE) destekler.

pi --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0

Kimliği tanınabilir bir model adı içeren Claude modelleri (temel modeller ve sistem tanımlı çıkarım profilleri) için istemi önbelleğe alma otomatik olarak etkinleştirilir. Uygulama çıkarım profilleri için (ARN'leri model adını içermeyen), önbellek noktalarını etkinleştirmek için AWS_BEDROCK_FORCE_CACHE=1 değerini ayarlayın:

export AWS_BEDROCK_FORCE_CACHE=1
pi --provider amazon-bedrock --model arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abc123

Bedrock API proxy'sine bağlanıyorsanız aşağıdaki ortam değişkenleri kullanılabilir:

# 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 Gateway

CLOUDFLARE_API_KEY /login ile ayarlanabilir. Hesap kimliği ve ağ geçidi bilgisi, ortam değişkenleri olarak veya auth.json'deki API key kimlik bilgisinin env nesnesinde ayarlanabilir.

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 Gateway aracılığıyla OpenAI, Anthropic ve Workers AI'ye giden yollar. Workers AI, Birleşik API (/compat) ve ön ekli model kimliklerini (workers-ai/@cf/...) kullanır. OpenAI, gpt-5.1 gibi yerel OpenAI model kimlikleriyle OpenAI geçiş rotasını (/openai) kullanır. Anthropic, claude-sonnet-4-5 gibi yerel Anthropic model kimlikleriyle Anthropic geçiş rotasını (/anthropic) kullanır.

AI Ağ Geçidi kimlik doğrulaması, CLOUDFLARE_API_KEY'yi cf-aig-authorization olarak kullanır. Yukarı akış kimlik doğrulaması aşağıdakilerden biri olabilir:

Mod Kimlik doğrulama isteği Yukarı akış kimlik doğrulaması
İşçi Yapay Zekası Yalnızca Cloudflare jetonu Cloudflare'de yerel
Birleşik faturalandırma Yalnızca Cloudflare jetonu Cloudflare yukarı akış kimlik doğrulamasını yönetir ve kredileri düşürür
BYOK'ta depolandı Yalnızca Cloudflare jetonu Cloudflare, AI Gateway kontrol panelinde saklanan sağlayıcı anahtarlarını enjekte ediyor
Satır içi BYOK Cloudflare belirteci artı yukarı akış Authorization başlığı İstek, yukarı akış sağlayıcı anahtarını sağlar

Normal pi kullanımı için birleşik faturalandırmayı veya depolanan BYOK'u tercih edin. Satır içi BYOK, Cloudflare AI Gateway sağlayıcısı için örneğin models.json sağlayıcı/model geçersiz kılma yoluyla ek bir yukarı akış Authorization başlığının yapılandırılmasını gerektirir.

Cloudflare Workers AI

CLOUDFLARE_API_KEY /login ile ayarlanabilir. CLOUDFLARE_ACCOUNT_ID bir ortam değişkeni olarak veya auth.json'deki API key kimlik bilgisinin env nesnesinde ayarlanabilir.

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 indirimler için otomatik olarak x-session-affinity'yi ayarlar.

Google Vertex AI

Uygulama Varsayılan Kimlik Bilgilerini kullanır:

gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT=your-project
export GOOGLE_CLOUD_LOCATION=us-central1

Veya GOOGLE_APPLICATION_CREDENTIALS'yi bir hizmet hesabı anahtar dosyasına ayarlayın.

llama.cpp

Pi, llama.cpp yönlendirici sunucusunu destekler. /login llama.cpp ile yapılandırın, yüklü modelleri /llama ile yönetin ve /model ile yüklü bir model seçin.

Sunucu kurulumu, model dizini düzeni, ortam değişkenleri ve komut kullanımı için llama.cpp'e bakın.

Özel Provider'lar

models.json aracılığıyla: Ollama, LM Studio, vLLM veya desteklenen bir API'yi kullanan herhangi bir sağlayıcı ekleyin (OpenAI Completions, OpenAI Responses, Anthropic Messages, Google Generative AI). Bkz. models.md.

Uzantılar aracılığıyla: Özel API uygulamalara veya OAuth akışlara ihtiyaç duyan sağlayıcılar için bir uzantı oluşturun. Bkz. custom-provider.md ve examples/extensions/custom-provider-gitlab-duo.

Çözüm Sırası

Bir sağlayıcının kimlik bilgilerini çözümlerken:

  1. CLI --api-key bayrak
  2. auth.json girişi (API key veya OAuth jetonu)
  3. Ortam değişkeni
  4. models.json tarihinden itibaren özel sağlayıcı anahtarları