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 xaikomutunu çalıştırın ve ardından Abonelik kullan seçeneğini seçinXAI_API_KEY, API key kullanın aracılığıyla kullanılabilir olmaya devam eder
Açık Yönlendirici
/login openrouterkomutunu ç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_BARdeğişkenidir;BARgerçek metin olduğunda${FOO}_BARkullanı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_KEYgibi düz büyük harf dizeleri değişmez değerlerdir; ortam değişkenleri için$MY_API_KEYkullanı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-gpt4oAmazon 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-2Ayrı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:0Kimliğ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/abc123Bedrock 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=1Cloudflare 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-central1Veya 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:
- CLI
--api-keybayrak auth.jsongirişi (API key veya OAuth jetonu)- Ortam değişkeni
models.jsontarihinden itibaren özel sağlayıcı anahtarları