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 (Kodeks)
  • Claude Pro/Max
  • GitHub Yardımcı Pilot
  • xAI (Grok/X aboneliği)
  • OpenRouter (OAuth-basılmış API key OpenRouter kredilerinden faturalandırılır)
  • Yarıçap

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 Kodeksi

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

Claude Pro/Max

Antropik abonelik kimlik doğrulaması Claude Pro/Max hesapları için etkindir. Üçüncü taraf kablo demeti kullanımı extra usage'dan başlar ve Claude planı sınırlarına aykırı değil, jeton başına faturalandırılır.

GitHub Yardımcı Pilot

  • 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 Kodunda etkinleştirin: Copilot Chat → model seçici → modeli seç → "Etkinleştir"

xAI (Grok/X aboneliği)

  • /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

Açık Yönlendirici

  • /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

Yarıçap

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 Yarıçap ağ geçitleri models.json'de "oauth": "radius" ve bir ağ geçidi baseUrl ile bildirilebilir.

API Tuşlar

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
Antropik ANTHROPIC_API_KEY anthropic
Karınca Ling ANT_LING_API_KEY ant-ling
Azure OpenAI Yanıtları AZURE_OPENAI_API_KEY azure-openai-responses
OpenAI OPENAI_API_KEY openai
Derin Arama DEEPSEEK_API_KEY deepseek
NVIDIA NIM NVIDIA_API_KEY nvidia
Google İkizler GEMINI_API_KEY google
Amazon Ana Kayası AWS_BEARER_TOKEN_BEDROCK amazon-bedrock
Mistral MISTRAL_API_KEY mistral
Büyük GROQ_API_KEY groq
Beyinler CEREBRAS_API_KEY cerebras
Cloudflare AI Ağ Geçidi CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_GATEWAY_ID) cloudflare-ai-gateway
Cloudflare Çalışanları Yapay Zekası CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID) cloudflare-workers-ai
xAI XAI_API_KEY xai
Açık Yönlendirici OPENROUTER_API_KEY openrouter
Vercel AI Ağ Geçidi AI_GATEWAY_API_KEY vercel-ai-gateway
ZAI Kodlama Planı (Küresel) ZAI_API_KEY zai
ZAI Kodlama Planı (Çin) ZAI_CODING_CN_API_KEY zai-coding-cn
OpenCode Zen OPENCODE_API_KEY opencode
OpenCode'a Git OPENCODE_API_KEY opencode-go
Yarıçap RADIUS_API_KEY radius
Hugging Face HF_TOKEN huggingface
havai fişek FIREWORKS_API_KEY fireworks
Birlikte Yapay Zeka TOGETHER_API_KEY together
Baseten BASETEN_API_KEY baseten
Kimi Kodlama İçin KIMI_API_KEY kimi-coding
MiniMaks MINIMAX_API_KEY minimax
MiniMax (Çin) MINIMAX_CN_API_KEY minimax-cn
Qwen Token Planı (mevcut katalog) QWEN_TOKEN_PLAN_API_KEY qwen-token-plan
Qwen Token Planı (Bireysel) QWEN_TOKEN_PLAN_API_KEY qwen-token-plan-individual
Qwen Token Planı (Çin) QWEN_TOKEN_PLAN_CN_API_KEY qwen-token-plan-cn
Xiaomi MiMo XIAOMI_API_KEY xiaomi
Xiaomi MiMo Token Planı (Çin) 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ı (Singapur) 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 aynı zamanda sağlayıcı kapsamlı ortam değerlerini de içerebilir. Bu değerler, kimlik bilgisi anahtarı, sağlayıcı/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 sağlayıcı 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: "
    quot;
    gerçek bir "
    quot;
    yayar; "$!", komut yürütmeyi tetiklemeden değişmez bir "!" yayar.
    { "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 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

Amazon Ana Kayası

Bir Bedrock API key depolamak için /login amazon-bedrock kullanın veya aşağıdaki ortam 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 Ağ Geçidi

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 Antropik model kimlikleriyle Antropik 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 Ağ Geçidi 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 Çalışanları Yapay Zekası

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 Providers

models.json aracılığıyla: Ollama, LM Studio, vLLM veya desteklenen bir API (OpenAI Tamamlamaları, OpenAI Yanıtları, Antropik Mesajlar, Google Generative AI) konuşan herhangi bir sağlayıcıyı ekleyin. Bakınız 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ı