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

Ayarlar

Pi, proje ayarlarının genel ayarları geçersiz kıldığı JSON ayar dosyalarını kullanır.

Konum Kapsam
~/.pi/agent/settings.json Küresel (tüm projeler)
.pi/settings.json Proje (geçerli dizin)

Doğrudan düzenleyin veya ortak seçenekler için /settings kullanın.

Proje Güveni

Etkileşimli başlangıçta pi, proje yerel ayarlarını, kaynaklarını veya proje .agents/skills'yi içeren ve ~/.pi/agent/trust.json'deki klasör veya ana klasör için kayıtlı bir kararı olmayan bir proje klasörüne güvenmeden önce sorar. Bir projeye güvenmek pi'nin .pi/settings.json ve .pi kaynakları yüklemesine, eksik proje paketlerini yüklemesine ve proje uzantılarını yürütmesine olanak tanır.

Etkileşimli olmayan modlar (-p, --mode json ve --mode rpc) bir güven istemi göstermez. Geçerli bir kayıtlı güven kararı olmadan, genel ayarlardan defaultProjectTrust kullanırlar: ask (varsayılan) ve never bu proje kaynaklarını yok sayarken, always onlara güvenir. Bir çalıştırma için proje güvenini geçersiz kılmak için --approve/-a veya --no-approve/-na'yi geçin.

Hiçbir uzatma veya kayıtlı karar geçerli değilse, defaultProjectTrust geri dönüş davranışını kontrol eder. ~/.pi/agent/settings.json'de "ask", "always" veya "never" olarak ayarlayın veya /settings ile değiştirin.

pi config ve paket komutları aynı proje güven akışını kullanır, ancak pi update hiçbir zaman istemde bulunmaz. Bir komut için proje yerel ayarlarına güvenmek için --approve veya bunları yok saymak için --no-approve iletin.

Yakın ana klasöre yönelik güven de dahil olmak üzere gelecekteki oturumlar için bir proje güveni kararını kaydetmek için etkileşimli modda /trust tuşunu kullanın. Sadece ~/.pi/agent/trust.json yazıyor; geçerli oturum yeniden yüklenmediğinden değişikliklerin etkili olması için pi'yi yeniden başlatın.

Tüm Ayarlar

Modelleme ve Düşünme

Ayar Tip Varsayılan Tanım
defaultProvider sicim - Varsayılan sağlayıcı (ör. "anthropic", "openai")
defaultModel sicim - Varsayılan model kimliği
defaultThinkingLevel sicim - "off", "minimal", "low", "medium", "high", "xhigh", "max"
hideThinkingBlock boolean false Çıktıdaki düşünme bloklarını gizle
showCacheMissNotices boolean false Önemli bilgi istemi önbellek eksiklikleri için transkript bildirimlerini göster
thinkingBudgets nesne - Düşünce düzeyi başına özel token bütçeleri

düşünmeBütçeler

{
  "thinkingBudgets": {
    "minimal": 1024,
    "low": 4096,
    "medium": 10240,
    "high": 32768
  }
}

Kullanıcı Arayüzü ve Ekran

Ayar Tip Varsayılan Tanım
theme sicim "dark" Tema adı ("dark", "light" veya özel)
externalEditor sicim $VISUAL, ardından $EDITOR, ardından Windows'ta Not Defteri veya başka bir yerde nano Ctrl+G harici düzenleyici komutu; ortam değişkenlerine göre önceliklidir
quietStartup boolean false Başlangıç ​​başlığını gizle
defaultProjectTrust sicim "ask" Geri dönüş projesi güven davranışı: "ask", "always" veya "never". Yalnızca genel ayar
collapseChangelog boolean false Güncellemelerden sonra yoğunlaştırılmış değişiklik günlüğünü göster
enableInstallTelemetry boolean true İlk kurulumdan veya değişiklik günlüğü tarafından algılanan güncellemelerden sonra anonim bir kurulum/güncelleme sürümü ping'i gönderin. Bu güncelleme kontrollerini kontrol etmez
enableAnalytics boolean false Analitik veri paylaşımını etkinleştirin. Şu anda yalnızca deneysel ilk kurulum sırasında sorulur (PI_EXPERIMENTAL=1)
trackingId sicim - enableAnalytics açıldığında oluşturulan Analytics izleme tanımlayıcısı
doubleEscapeAction sicim "tree" Çift kaçış eylemi: "tree", "fork" veya "none"
treeFilterMode sicim "default" /tree için varsayılan filtre: "default", "no-tools", "user-only", "labeled-only", "all"
editorPaddingX sayı 0 Giriş düzenleyicisi için yatay dolgu (0-3)
outputPad sayı 1 Kullanıcı mesajları, asistan mesajları ve düşünme için yatay dolgu (0 veya 1)
autocompleteMaxVisible sayı 5 Otomatik tamamlama açılır menüsünde maksimum görünür öğe (3-20)
showHardwareCursor boolean false TUI IME desteği için konumlandırırken terminal imlecini gösterin
tuiMode sicim "regular" Etkileşimli TUI modu: "regular" veya deneysel "fullscreen". /settings'den itibaren yapılan değişiklikler hemen uygulanır; --tui-mode başlangıçta bu ayarı geçersiz kılar
fullscreenExitOutput sicim "transcript" Tam ekran çıkış çıktısı: "transcript" son metni ve devam etme ipucunu yazdırırken, "resume-hint" önceki ekranı geri yükler ve yalnızca devam etme ipucunu yazdırır. Normal TUI modunda hiçbir etkisi yoktur
fullscreenScrollbar sicim "auto" Tam ekran transkript kaydırma çubuğu: "auto" kaydırma sırasında bunu geçici olarak gösterir, "always" en sağdaki sütunu ayırır ve görünür tutar ve "hidden" onu gizler. Normal TUI modunda hiçbir etkisi yoktur

VS Kodu için --wait ekleyin, böylece editör çıktıktan sonra pi devam eder:

{
  "externalEditor": "code --wait"
}

Telemetri ve güncelleme kontrolleri

enableInstallTelemetry yalnızca https://pi.dev/api/report-install'ye olan anonim kurulum/güncelleme pingini kontrol eder. Telemetriyi devre dışı bırakmak güncelleme kontrollerini devre dışı bırakmaz; Pi en son sürümü aramak için yine de https://pi.dev/api/latest-version'yi getirebilir.

Pi sürüm güncelleme kontrolünü devre dışı bırakmak için PI_SKIP_VERSION_CHECK=1 öğesini ayarlayın. Güncelleme kontrolleri, paket güncelleme kontrolleri ve kurulum/güncelleme telemetrisi dahil olmak üzere burada açıklanan tüm başlangıç ​​ağ işlemlerini devre dışı bırakmak için --offline veya PI_OFFLINE=1 tuşlarını kullanın.

Ayar Tip Varsayılan Tanım
httpProxy sicim - HTTP proxy URL'si HTTP_PROXY ve HTTPS_PROXY olarak uygulandı. Yalnızca genel ayar.
{
  "httpProxy": "http://127.0.0.1:7890"
}

Uyarılar

Ayar Tip Varsayılan Tanım
warnings.anthropicExtraUsage boolean true Antropik abonelik kimlik doğrulaması ücretli ekstra kullanımı kullanabileceğinde bir uyarı göster
{
  "warnings": {
    "anthropicExtraUsage": false
  }
}

Sıkıştırma

Ayar Tip Varsayılan Tanım
compaction.enabled boolean true Otomatik sıkıştırmayı etkinleştir
compaction.reserveTokens sayı 16384 LLM yanıtı için ayrılan jetonlar
compaction.keepRecentTokens sayı 20000 Saklanacak en son belirteçler (özetlenmemiş)
{
  "compaction": {
    "enabled": true,
    "reserveTokens": 16384,
    "keepRecentTokens": 20000
  }
}

Şube Özeti

Ayar Tip Varsayılan Tanım
branchSummary.reserveTokens sayı 16384 branch summarization için ayrılmış jetonlar
branchSummary.skipPrompt boolean false "Dal özetlensin mi?" atla /tree gezinmede istem (varsayılan olarak özet yoktur)

Yeniden dene

Ayar Tip Varsayılan Tanım
retry.enabled boolean true Geçici hatalarda aracı düzeyinde otomatik yeniden denemeyi etkinleştir
retry.maxRetries sayı 3 Maksimum aracı düzeyinde yeniden deneme sayısı
retry.baseDelayMs sayı 2000 Aracı düzeyinde üstel geri çekilme için temel gecikme (2 sn, 4 sn, 8 sn)
retry.provider.timeoutMs sayı SDK varsayılan Sağlayıcı/SDK milisaniye cinsinden istek zaman aşımı
retry.provider.maxRetries sayı 0 Sağlayıcı/SDK yeniden deneme girişimleri
retry.provider.maxRetryDelayMs sayı 60000 Başarısız olmadan önce sunucu tarafından istenen maksimum gecikme (60s)

Bir sağlayıcı retry.provider.maxRetryDelayMs'den daha uzun bir yeniden deneme gecikmesi talep ettiğinde, istek sessizce beklemek yerine bilgilendirici bir hatayla hemen başarısız olur. Sınırı devre dışı bırakmak için 0 olarak ayarlayın.

Sağlayıcı düzeyinde yeniden denemelere açıkça ihtiyaç duyulmadığı sürece retry.provider.maxRetries'yi 0'de tutun. Bunu 0 değerinin üzerine ayarlamak, SDK/sağlayıcı yeniden denemelerinin kullanım sınırı dışı hataları Pi görmeden önce ele almasını sağlayabilir ve bu da bazı durumlarda sağlayıcı kotası sıfırlanana kadar aracıyı engelleyebilir.

{
  "retry": {
    "enabled": true,
    "maxRetries": 3,
    "baseDelayMs": 2000,
    "provider": {
      "timeoutMs": 3600000,
      "maxRetries": 0,
      "maxRetryDelayMs": 60000
    }
  }
}

Mesaj Gönderimi

Ayar Tip Varsayılan Tanım
steeringMode sicim "one-at-a-time" Yönlendirme mesajları nasıl gönderilir: "all" veya "one-at-a-time"
followUpMode sicim "one-at-a-time" Takip mesajları nasıl gönderilir: "all" veya "one-at-a-time"
transport sicim "auto" Birden fazla aktarımı destekleyen sağlayıcılar için tercih edilen aktarım: "sse", "websocket", "websocket-cached" veya "auto"
httpIdleTimeoutMs sayı 300000 Milisaniye cinsinden HTTP üstbilgisi/gövdesi boşta kalma zaman aşımı, açık akış boşta kalma zaman aşımlarına sahip sağlayıcılar tarafından da kullanılır. Devre dışı bırakmak için 0 olarak ayarlayın.
websocketConnectTimeoutMs sayı 15000 WebSocket aktarımlarını destekleyen sağlayıcılar için milisaniye cinsinden WebSocket bağlantısı/açma anlaşması zaman aşımı. Devre dışı bırakmak için 0 olarak ayarlayın.

Terminal ve Görseller

Ayar Tip Varsayılan Tanım
terminal.showImages boolean true Resimleri terminalde göster (destekleniyorsa)
terminal.imageWidthCells sayı 60 Terminal hücrelerinde tercih edilen satır içi görüntü genişliği
terminal.clearOnShrink boolean false İçerik küçüldüğünde boş satırları temizleyin (titremeye neden olabilir)
images.autoResize boolean true Resimleri maksimum 2000x2000 olarak yeniden boyutlandırın. Araçlar tarafından döndürülen @file ekler, read ve resimler için geçerlidir
images.blockImages boolean false Tüm görsellerin LLM'ye gönderilmesini engelle

Kabuk

Ayar Tip Varsayılan Tanım
shellPath sicim - Özel kabuk yolu (örneğin, Windows'ta Cygwin için); giriş dizini için baştaki ~ karakterini destekler
shellCommandPrefix sicim - Her bash komutu için önek (ör. "shopt -s expand_aliases")
npmCommand sicim[] - npm paket arama/yükleme işlemleri için kullanılan argv komutu (ör. ["mise", "exec", "node@20", "--", "npm"])
{
  "npmCommand": ["mise", "exec", "node@20", "--", "npm"]
}

npmCommand, git paketleri içindeki kurulumlar, kaldırmalar ve bağımlılık kurulumları dahil olmak üzere tüm npm paket yöneticisi işlemleri için kullanılır. Kullanıcı kapsamlı npm paketleri ~/.pi/agent/npm/ altına kurulur; proje kapsamlı npm paketleri .pi/npm/ altına kurulur. Argv tarzı girişleri tam olarak işlemin başlatılması gerektiği gibi kullanın. npmCommand yapılandırıldığında, git paketi bağımlılığı kurulumları, sarmalayıcılarda veya alternatif paket yöneticilerinde npm'ye özgü işaretlerden kaçınmak için düz install kullanır.

Oturumlar

Ayar Tip Varsayılan Tanım
sessionDir sicim - Oturum dosyalarının saklandığı dizin. Mutlak veya göreceli yolları ve artı ~'yi kabul eder.
{ "sessionDir": ".pi/sessions" }

Birden fazla kaynak bir oturum dizini belirttiğinde, settings.json'da öncelik --session-dir, PI_CODING_AGENT_SESSION_DIR ve ardından sessionDir olur.

Model Bisiklet

Ayar Tip Varsayılan Tanım
enabledModels sicim[] - Ctrl+P döngüsü için model desenleri (--models CLI bayrağıyla aynı format)
{
  "enabledModels": ["claude-*", "gpt-4o", "gemini-2*"]
}

Markdown

Ayar Tip Varsayılan Tanım
markdown.codeBlockIndent sicim " " Kod blokları için girinti
markdown.mermaid sicim "streaming" Deniz kızı oluşturma modu: "off", "final" veya "streaming"

Kaynaklar

Bu ayarlar uzantıların, becerilerin, istemlerin ve temaların nereden yükleneceğini tanımlar.

~/.pi/agent/settings.json içindeki yollar ~/.pi/agent'ye göre çözümlenir. .pi/settings.json içindeki yollar .pi'ye göre çözümlenir. Mutlak yollar ve ~ desteklenir.

Ayar Tip Varsayılan Tanım
packages sıralamak [] Kaynakları yüklemek için npm/git paketleri
extensions sicim[] [] Yerel uzantılı dosya yolları veya dizinleri
skills sicim[] [] Yerel beceri dosyası yolları veya dizinleri
prompts sicim[] [] Yerel bilgi istemi şablon yolları veya dizinleri
themes sicim[] [] Yerel tema dosya yolları veya dizinleri
enableSkillCommands boolean true Becerileri /skill:name komutları olarak kaydedin

Diziler glob kalıplarını ve hariç tutmaları destekler. Hariç tutmak için !pattern tuşunu kullanın. Tam bir yolu zorunlu olarak dahil etmek için +path tuşunu, tam bir yolu zorla hariç tutmak için ise -path tuşunu kullanın.

paketler

Dize formu bir paketteki tüm kaynakları yükler:

{
  "packages": ["pi-skills", "@org/my-extension"]
}

Nesne formu hangi kaynakların yükleneceğini filtreler:

{
  "packages": [
    {
      "source": "pi-skills",
      "skills": ["brave-search", "transcribe"],
      "extensions": []
    }
  ]
}

Paket yönetimi ayrıntıları için packages.md'e bakın.

Örnek

{
  "defaultProvider": "anthropic",
  "defaultModel": "claude-sonnet-4-20250514",
  "defaultThinkingLevel": "medium",
  "theme": "dark",
  "compaction": {
    "enabled": true,
    "reserveTokens": 16384,
    "keepRecentTokens": 20000
  },
  "retry": {
    "enabled": true,
    "maxRetries": 3
  },
  "enabledModels": ["claude-*", "gpt-4o"],
  "warnings": {
    "anthropicExtraUsage": true
  },
  "packages": ["pi-skills"]
}

Proje Geçersiz Kılmaları

Proje ayarları (.pi/settings.json) genel ayarları geçersiz kılar. İç içe geçmiş nesneler birleştirilir:

// ~/.pi/agent/settings.json (global)
{
  "theme": "dark",
  "compaction": { "enabled": true, "reserveTokens": 16384 }
}

// .pi/settings.json (project)
{
  "compaction": { "reserveTokens": 8192 }
}

// Result
{
  "theme": "dark",
  "compaction": { "enabled": true, "reserveTokens": 8192 }
}