Ortam Değişkenleri
Pi ortam değişkenlerini üç şekilde kullanır:
PI_OFFLINEgibi değişkenler Pi sürecini yapılandırır.- Pi
PI_CODING_AGENT'yi ayarlar, böylece alt süreçler Pi içinde çalıştıklarını tespit edebilir. - LLM tarafından çağrılabilir bash aracı tarafından çalıştırılan komutlar, mevcut oturumu tanımlayan
PI_*değişkenleri alır.
Sağlayıcı API-anahtar değişkenleri Providers'de ayrı olarak belgelenmiştir.
Süreç İşaretleyicisi
CLI ve RPC giriş noktaları PI_CODING_AGENT=true olarak ayarlanır. Alt süreçler onu devralır ve içeride çalıştıklarını tespit etmek için bunu kullanabilir Pi. Oturuma özel değildir ve Pi, SDK'ye yerleştirildiğinde otomatik olarak ayarlanmaz.
Bash Aracı Oturum Ortamı
bash aracı tarafından çalıştırılan komutlar mevcut Pi oturum durumunu alır:
| Değişken | Tanım |
|---|---|
PI_SESSION_ID |
Geçerli oturum kimliği |
PI_SESSION_FILE |
Geçerli oturum JSONL dosyasının mutlak yolu; geçici oturumlar için ayarlanmamış |
PI_PROVIDER |
Şu anda seçili model sağlayıcı |
PI_MODEL |
Şu anda seçili model kimliği |
PI_REASONING_LEVEL |
Mevcut etkili akıl yürütme düzeyi: off, minimal, low, medium, high, xhigh veya max |
Her komut başlatıldığında değerler çözümlenir. Bu nedenle modelleri değiştirmek veya mantık düzeyini değiştirmek, Pi'yi yeniden başlatmadan sonraki bash komutunu etkiler. PI_PROVIDER ve PI_MODEL, bir yönlendiricinin dahili olarak seçebileceği farklı bir yukarı akış modeli değil, seçilen Pi modelini tanımlar.
Hangi modelin veya sağlayıcının çalıştığı sorulduğunda, cevabı sistem isteminden çıkarmak yerine bu değişkenleri inceleyin:
printf '%s/%s\n' "$PI_PROVIDER" "$PI_MODEL"
printf 'reasoning=%s session=%s\n' "$PI_REASONING_LEVEL" "$PI_SESSION_ID"Oturum kalıcı olduğunda oturum dosyası doğrudan incelenebilir:
if [ -n "$PI_SESSION_FILE" ]; then
tail -n 1 "$PI_SESSION_FILE"
fiBu değişkenler LLM tarafından çağrılabilen bash aracına enjekte edilir. Kullanıcı tarafından girilen ! veya !! komutlarına eklenmezler.
Özel Bash Araçları
createBashTool() ile oluşturulan Bash araçları, Pi ile kaydedildiğinde varsayılan olarak oturum ortamını ortaya çıkarır. Enjeksiyon spawnHook'den önce gerçekleşir, dolayısıyla bir kanca ctx.env'deki değişkenleri alır:
const bashTool = createBashTool(cwd, {
spawnHook: (ctx) => ({
...ctx,
env: { ...ctx.env, CI: "1" },
}),
});Oturum meta verilerini, ortaya çıkma kancasından bağımsız olarak devre dışı bırakın:
const bashTool = createBashTool(cwd, {
exposeSessionEnvironment: false,
spawnHook: (ctx) => ctx,
});Devre dışı bırakıldığında, Pi bu değişkenler için devralınan değerleri kaldırır, böylece iç içe geçmiş Pi süreçleri eski üst oturum meta verilerini açığa çıkarmaz.
Pi Süreç Yapılandırması
Bu değişkenler Pi'nin kendisi tarafından okunur:
| Değişken | Tanım |
|---|---|
PI_CODING_AGENT_DIR |
Yapılandırma dizinini geçersiz kılın; varsayılan ~/.pi/agent |
PI_CODING_AGENT_SESSION_DIR |
Oturum depolamayı geçersiz kıl; --session-dir tarafından geçersiz kılındı |
PI_PACKAGE_DIR |
Nix/Guix mağaza yolları için yararlı olan paket dizinini geçersiz kılın |
PI_OFFLINE |
Güncelleme kontrolleri, paket güncellemeleri ve kurulum/güncelleme telemetrisi dahil başlangıç ağ işlemlerini devre dışı bırakın |
PI_SKIP_VERSION_CHECK |
pi.dev son sürüm isteğini devre dışı bırakın |
PI_TELEMETRY |
Yükleme/güncelleme telemetrisini ve sağlayıcı ilişkilendirme başlıklarını geçersiz kıl: 1/true/yes veya 0/false/no |
PI_CACHE_RETENTION |
Desteklendiği yerlerde genişletilmiş sağlayıcı istemi önbelleğe alma işlemi için long olarak ayarlayın |
PI_SHARE_VIEWER_URL |
/share tarafından kullanılan temel URL'yi geçersiz kılın |
PI_HARDWARE_CURSOR |
Donanım imlecini göstermek için 1 olarak ayarlayın; bkz. Terminal setup |
VISUAL, EDITOR |
externalEditor ayarlanmadığında harici düzenleyici geri dönüşü |
HTTP_PROXY, HTTPS_PROXY |
Proxy giden HTTP istekleri |
ANTHROPIC_API_KEY, OPENAI_API_KEY gibi sağlayıcı kimlik bilgileri ve bulut sağlayıcı yapılandırması Providers'de listelenmiştir.