12 puan yazan GN⁺ 2026-02-25 | 2 yorum | WhatsApp'ta paylaş
  • Pi, kullanıcının iş akışına uyacak şekilde genişletilebilen bir yapı sunan, terminal tabanlı minimal bir kodlama ajanıdır
  • TypeScript uzantıları, beceriler, prompt şablonları ve temaları birleştirerek kendi geliştirme ortamınızı oluşturabilir, bunu npm veya git paketi olarak paylaşabilirsiniz
  • 15’ten fazla yapay zeka sağlayıcısını ve yüzlerce modeli destekler; oturum sırasında model değiştirebilir veya özel modeller ekleyebilirsiniz
  • Oturumlar ağaç yapılı bir geçmiş olarak kaydedilir; önceki noktalara dönebilir veya HTML ya da GitHub gist olarak dışa aktarabilirsiniz
  • Çekirdek özellikleri minimumda tutup genişletilebilirlik odaklı tasarım felsefesini koruyarak, geliştiricilerin yalnızca ihtiyaç duydukları işlevleri doğrudan uygulamasına veya paket olarak eklemesine olanak tanır

Pi’ye genel bakış

  • Pi, kullanıcının iş akışını değiştirmeden araçları özelleştirmesine imkân veren bir yapıya sahip bir terminal kodlama harness’idir
    • Genişletilebilir bileşenler olarak TypeScript uzantıları, beceriler, prompt şablonları ve temaları destekler
    • Bunları bir araya getiren pi paketleri npm veya git üzerinden kurulup paylaşılabilir
  • Varsayılan yapılandırma güçlüdür, ancak alt ajanlar veya plan modu gibi özellikleri içermez
  • Dört mod sunar (interactive, print/JSON, RPC, SDK) ve gerçek entegrasyon örnekleri clawdbot içinde görülebilir

Modeller ve sağlayıcılar

  • Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama dâhil 15’ten fazla sağlayıcıyı ve yüzlerce modeli destekler
  • API anahtarı veya OAuth ile kimlik doğrulaması yapılabilir
  • Oturum sırasında /model komutu veya Ctrl+L ile model değiştirilebilir, Ctrl+P ile favori modeller arasında dolaşılabilir
  • models.json veya uzantılar üzerinden özel modeller eklenebilir

Oturum yönetimi

  • Oturumlar ağaç yapısında saklanır; /tree komutuyla geçmişteki bir noktaya gidilebilir
  • Tüm dallar tek bir dosyada tutulur ve mesaj türü filtreleme ile yer imi etiketleme desteklenir
  • /export ile HTML dışa aktarımı, /share ile GitHub gist yükleme ve paylaşım URL’si oluşturma yapılabilir

Bağlam mühendisliği

  • Minimum sistem prompt’u ve genişletilebilirlik sayesinde bağlam penceresi ayrıntılı biçimde kontrol edilebilir
    • AGENTS.md: proje yönergelerini başlangıçta otomatik yükler
    • SYSTEM.md: projeye özel varsayılan sistem prompt’unu değiştirir veya ekler
    • Compaction: bağlam sınırına ulaşıldığında önceki mesajları otomatik özetler; uzantılarla konu tabanlı özetleme veya kod farkındalıklı özetleme uygulanabilir
    • Skills: gerektiğinde yüklenen işlev paketleri olarak prompt önbelleğini korur ve kademeli işlev sunar
    • Prompt templates: /name komutuyla genişletilebilen yeniden kullanılabilir prompt’lar
    • Dynamic context: uzantılarla mesaj ekleme, geçmiş filtreleme, RAG uygulama ve uzun süreli bellek kurma mümkündür

Mesaj kuyruğa alma

  • Ajan çalışırken bile mesaj gönderilebilir
    • Enter: mevcut araç çalıştırmasından sonra iletilen yönlendirme mesajı
    • Alt+Enter: iş tamamlandıktan sonra iletilen takip mesajı

Uzantı yapısı

  • Pi, işlevler değil ilkel bileşenler (Primitives) etrafında tasarlanmıştır; böylece kullanıcılar işlevleri kendileri uygulayabilir
    • Uzantılar TypeScript modülleri biçimindedir ve araçlara, komutlara, kısayollara, olaylara ve tüm TUI’ye erişebilir
    • Örnek uzantılar: alt ajanlar, plan modu, izin geçitleri, yol koruması, SSH yürütme, sandboxing, MCP entegrasyonu, özel editörler, overlay’ler
    • “Yes, Doom runs.” örneğinde olduğu gibi bir oyun overlay uzantısı da vardır
  • Kendiniz uygulamak istemiyorsanız pi paketi kurarak işlev ekleyebilirsiniz
  • 50’den fazla uzantı örneği GitHub’da açık olarak yayımlanmıştır

Paket yönetimi

  • Uzantılar, beceriler, prompt’lar ve temalar paket hâlinde bundle edilerek npm veya git üzerinden kurulabilir
    • Örnek:
      $ pi install npm:@foo/pi-tools  
      $ pi install git:github.com/badlogic/pi-doom  
      
    • Sürüm sabitleme (@1.2.3 veya @tag), pi update ile tümünü güncelleme, pi list ile liste görüntüleme, pi config ile yapılandırma mümkündür
    • pi -e komutuyla kurulum yapmadan test edebilirsiniz
  • Paketler pi-package npm araması veya Discord kanalı üzerinden keşfedilip paylaşılabilir

Entegrasyon modları

  • Interactive: tam TUI ortamı
  • Print/JSON: betikler için pi -p "query", olay akışı için --mode json
  • RPC: stdin/stdout tabanlı JSON protokolü ile Node dışı ortamlarda entegrasyon desteği
  • SDK: uygulama içine gömülebilir; clawdbot içinde gerçek kullanım örneği bulunur

Tasarım felsefesi

  • Pi, genişletilebilirliği en üst düzeye çıkararak çekirdeği minimumda tutar ve kullanıcının iş akışını kendisinin tanımlamasını hedefler
    • MCP, alt ajanlar, izin açılır pencereleri, plan modu, yerleşik TODO, arka planda bash özelliklerini içermez
    • Bunun yerine aynı işlevler uzantılar, beceriler ve paketler aracılığıyla uygulanabilir veya harici araçlarla entegre edilebilir
    • tmux üzerinden paralel çalışma ve gözlem desteği sunar
  • Bu yaklaşım, kullanıcı odaklı geliştirme ortamı kurulumunu mümkün kılar
  • Genel felsefe ilgili blog yazısında daha ayrıntılı açıklanır

2 yorum

 
qodot 2026-02-26

pi'ı gerçekten çok beğendim

 
GN⁺ 2026-02-25
Hacker News yorumları
  • Pi ve “claw” fenomenini benim için ilginç kılan şey, bunun açık kaynağın geleceğini göstermesi
    Artık özellik isteği ya da PR göndermek yerine, bir kodlama ajanına nasıl özellik ekleneceğini anlatan skill dosyaları indirdiğimiz bir dönemdeyiz
    Yazılım artık sabit bir çıktı değil, her kullanıcı için farklı olan canlı bir araç haline geliyor
    Bu yeni işbirliği paradigmasında nasıl araçların ortaya çıkacağını merak ediyorum

    • Ben de aynı eğilimi görüyorum
      Bugünün yazılımları, kullanıcının ortamı kontrol etmesini engelleyerek bir yabancılaşma hissi yaratıyor
      Ama kişiselleştirilmiş, ucuz ve esnek yazılımlar gerçek bir sahiplik hissi verebilir
      Eskiden Linux masaüstü böyle bir özgürlük sunuyorduysa, şimdi herkesin bu avantajdan yararlanabileceğini düşünüyorum
      Bu geleceğe iyimser bakıyorum
    • Ben de son zamanlarda bunu çok düşünüyorum
      İleride aşırı derecede kişiselleştirilmiş yazılımlar artacak gibi geliyor — yalnızca belirli bir kişi ya da küçük bir grup tarafından anlaşılabilecek düzeyde
      Ben de son dönemde Claude kullanarak yalnızca benim ve birkaç kişinin kullandığı birçok araç yaptım
      Örneğin bir DnD takvim uygulaması, spoiler içermeyen bir Formula E haber kontrolcüsü ve bir tırmanış kooperatifi oylama sitesi
      Eskiden bunları yapmak için bir neden yoktu, ama artık mümkün
      İlgili düşüncelerimi Releasing Software Now yazısında topladım
    • “Başkalarının kopyalarından farklı, yaşayan bir araç” ifadesine katılıyorum ama bu modelin kurumsal benimsenme açısından zor olduğunu düşünüyorum
      Büyük şirketlerin ya da devletlerin bu kadar tutarsız sistemlere izin vereceğini sanmıyorum
    • Bu paradigmanın neden ilginç araçlar doğuracağını anlamıyorum
      Bence aksine daha kötü araçlar ortaya çıkacak
    • Herkes birbirinden farklı bir yazılım sürümü kullanırsa, sorun gidermenin ne kadar karmaşık hale geleceğini düşünmek bile ürkütücü
  • OpenCode’a alışığım, o yüzden onu kişisel bir yapay zeka çalışma alanı olarak kullanmayı düşünüyordum
    Pi’nin ekosistemi daha küçük ama esneklik ve genişletilebilirlik açısından daha güçlü görünüyor, ayrıca topluluğun tutkusu da hissediliyor
    OpenCode yerine Pi kullanmanın daha iyi olup olmayacağını ve hangi UI seçeneklerinin bulunduğunu merak ediyorum

    • Ben de aynı şeyi düşünüyorum
      OpenCode’u .md dosyaları tabanlı yazma ve düzenleme işleri için kullandım, gayet iyi uydu
      Şimdi bu işe daha uygun yeni bir harness arıyorum
    • Anladığın yön tam olarak doğru
  • Son zamanlarda en sevdiğim harness bu
    Doğrudan genişletilebildiği için çok verimli ve bunu vibes projesine entegre ettim
    ACP’den çok daha hızlı

    • Doğrudan entegrasyonla ACP arasında neden böyle bir hız farkı olduğunu merak ediyorum
      Ben genel amaçlı bir ajan etkileşim protokolü arıyordum, ACP de bunun için bir adaydı
      Ama OpenCode’un bile UI tarafında ACP kullanmaması, burada bir sorun olduğuna işaret ediyor gibi
      Bunun yerine geçebilecek daha iyi seçenekler olup olmadığını da bilmek isterim
    • Hangi harness’lerle karşılaştırdığını merak ediyorum
    • Bunu gerçekten çok beğendim! Sanki benim yapmayı düşündüğüm şeyi önceden yapmışsın gibi hissettirdi
    • “Harness” derken tam olarak ne kastediliyor? Bu sadece bir kodlama ajanı değil mi?
  • Pi’yi birkaç gün bile kullanıp da onu günlük kullanım için bırakmış birini hiç görmedim
    Aracı kendi zevkine göre ayarlayabilme özgürlüğünü tadınca geri dönmek zor oluyor
    Üstelik bunun üstüne harika genişletmeler de yapılabiliyor

    • Duyduğuma göre Pi, kodlama ajanları dünyasının Neovim’i ya da Emacs’i gibiymiş
    • Hoş ama ben Pi’ye kıyasla Claude CLI ve OpenCode ile çok daha üretken oldum
      Pi’nin genişletilebilirliği ilgi çekici ama gerçek iş kalitesi yetersiz geldi
    • Claude Code’da olmayan, kendin yaptığın özelliklerden en çok hangisini sevdiğini merak ediyorum
  • Neden ille de terminal uygulamasıyla kod yazmak gerektiğini anlamıyorum
    Aynı şey bir IDE eklentisiyle daha iyi yapılabilir, ayrıca VSCode’da pencere düzeni de aynen geri yüklenebiliyor

    • Ben CLI ajanları kullandığımda IDE’ye hiç ihtiyaç duymuyorum
      Sanki metin sohbeti üzerinden bir ekip arkadaşına talimat veriyormuşum gibi oluyor
      Mesela bir sunucu bakım programını Claude’a bırakıp başka işlerle uğraşıyor, sonra sadece sonucu kontrol ediyorum
      Testler geçiyorsa kodun nasıl göründüğü önemli olmuyor
      Gerçekten de yaklaşık 15 dakikalık aktif çalışmayla birden fazla işi paralel yürütebildim
  • Ben Pi’yi Emacs için olan pi-coding-agent paketiyle kullanıyorum
    RPC modunda giriş/çıkış için Markdown tamponları oluşturuyor, bu da diğer TUI’lere göre çok daha rahat bir deneyim sunuyor
    Sorun takip sistemi entegrasyonunu da kolayca yaptım ve read ile write komutlarını Emacs tamponları tabanlı olacak şekilde yeniden tanımladım
    edit komutunu da Emacs’in tree-sitter sorgularından yararlanarak geliştirmeyi denemek istiyorum
    Ayrıca emacs_eval komutuyla EWW üzerinden doküman gezintisini de mümkün hale getirdim

    • Harika! read ve write komutlarını Emacs tamponlarına nasıl eşlediğini merak ediyorum
      Bu arada Pi Emacs modu buradan kurulabiliyor
      read, write, edit çağrılarının sonucundan ilgili dosyayı doğrudan açabilen bir özellik de ekliyorum
      Yakında Pi’nin oturum ve ağaç gezintisi için Magit entegrasyonu da desteklenecek
  • Ben Pi ile başladım, son 2 haftadır ise oh-my-pi kullanıyorum
    oh-my-pi deposu, Pi’nin her şey dahil sürümü gibi

    • oh-my-pi kullanma deneyiminin nasıl olduğunu merak ediyorum
    • Sandbox ortamında mı çalıştırıyorsun, ya da bir izolasyon özelliği var mı, onu da öğrenmek isterim
  • Ben de mevcut projeyi kopyalayıp başka bir adla yayımlamayı düşünüyorum
    Mesela “Waterfox — minimal web tüketicisi” gibi

  • Önceden yapılandırılmış Pi sürümü: oh-my-pi

    • Bu fork harika ama rastgele depolardaki araçları gelişi güzel eklemek güvenlik açısından riskli görünüyor
      Uygulama gibi güvenli biçimde kurulup test edilebilecek izole bir ortam gerekli
    • Bu forkun büyük bir hayranıyım
      codex/claude code → opencode → pi → oh-my-pi şeklinde geçiş yaptım
    • Harika bir fork! Ben de katkıda bulunmak istemiştim ama topluluk biraz kapalı hissettirdi
    • oh-my-pi’nin web araçlarını genel Pi eklentileri olarak ayırıp kullanmak iyi olabilir
      Bir gün bunu kendim denemeyi düşünüyorum
    • Ama bence bu, Pi’nin özünü kaçırıyor
      Pi’nin çekiciliği hafifliği ve özerkliği, oysa oh-my-pi çok fazla özellikle gelip daha çok OpenCode benzeri bir ağırlık hissettiriyor
  • Pi gerçekten harika tasarım kararları almış
    Mario ve Armin’i tebrik etmek gerek — iyi zevk eninde sonunda kendini belli ediyor

    • Ama neden bunun özellikle JavaScript ile yazıldığını anlamıyorum