TL;DR
- pi, bir kodlama ajanı altyapısını beş ayrı paket olarak sunan, MIT lisanslı bir monorepo: model API katmanı, ajan döngüsü, terminal arayüz kütüphanesi, kodlama ajanının kendisi ve bir telemetri paketi. Tek bir parçayı da alabilirsiniz, beşini de.
- CLI ilk günden eksiksiz bir kodlama ajanı: dört varsayılan araç, fork ve resume destekli ağaç yapısında oturum geçmişi, canlı maliyet sayacı ve deponuzda zaten bulunan AGENTS.md veya CLAUDE.md dosyasını okuması.
- Asıl değer SDK tarafında: createAgentSession, bir model runtime'ı ve bir session manager ile yaklaşık on satır TypeScript'te çalışan bir ajan elde edilir, defineTool ise ayrı bir süreç ya da protokol olmadan tip güvenli özel bir araç ekler.
- Bu şeffaflığın bedeli emek: yerleşik izin istemi yok, izolasyon size kalıyor, sürüm 1.0 öncesi (v0.84) ve yaklaşık yüz açık issue var.
- Günlük kullandığınız altyapıyı koruyun, pi'yi o altyapının gizlediklerini gösteren bir deney tezgahı olarak kullanın. Üzerine ürün kurmayı ancak korkulukları kendiniz üstlenmeyi kabul ediyorsanız düşünün.
Kaynaklar ne diyor
pi bir monorepo: tek depoda ayrı ayrı yayımlanan beş paket var ve her biri altyapının bir katmanını karşılıyor s2. pi-ai, model sağlayıcılarına giden birleşik API'dir (OpenAI, Anthropic, Google ve diğerleri tek arayüzün arkasında): yanıt akışını, thinking seviyeli akıl yürütme bloklarını ve her sağlayıcının sunduğu modellerin dinamik keşfini yönetir s2. pi-agent-core ajan döngüsünün kendisidir: konuşma durumu ile mesajı gönderen, araç çağrılarını okuyan, çalıştıran ve sonuçları geri besleyen döngü s2. pi-tui, diferansiyel render yapan bir terminal çizim kütüphanesidir, yani yalnızca ekranda değişen kısmı yeniden çizer s2. pi-coding-agent bu parçaları kurduğunuz CLI'da birleştirir, pi-telemetry ise bir satıcıya bağımlı olmadan kendi kullanım metriklerinizi bağlamanızı sağlar s3.
Benimsenme rakamları tasarımı doğruluyor: 92 123 yıldız, 11 400 fork ve 5 700'den fazla commit, hepsi ticari ürün içinde bile kullanım, değiştirme ve yeniden dağıtıma izin veren MIT lisansı altında s1. Sürüm temposu yaz boyunca sürdü: Ağustos'un ilk iki haftasında üç sürüm çıktı, v0.84.2 ise 14'ünde yayımlandı s4.
Kurulum tek komut, npm install -g --ignore-scripts @earendil-works/pi-coding-agent, ve ignore-scripts bayrağı önemli: bağımlılıkların install script'lerini çalıştırmasını engeller, bu da npm üzerinde en çok kullanılan saldırı yüzeylerinden biridir s3. Login komutuyla bir sağlayıcıya bağlandıktan sonra alt çubuk geçerli klasörü, oturumu, harcanan token'ları ve maliyeti gerçek zamanlı gösterir, böylece her istek ay sonunda değil, gönderildiği anda fiyatlanır s3.
Oturumlar öne çıkan özellik. Her konuşma, ev klasörünüzde projeye göre ayrılmış JSONL olarak kaydedilir ve geçmiş bir çizgi değil bir ağaçtır: fork herhangi bir noktaya dönüp yeni bir dal açar, tree dallar arasında gezinir, resume ise her şey yerel saklandığı için haftalar sonra bile geçmiş herhangi bir oturumu yeniden açar s3. Model varsayılan olarak yalnızca dört araç alır: read, write, edit ve bash. Piyasadaki ajanlara kıyasla çok az, ve bilerek öyle s3. Yapılandırma da aynı mantığı izler: ev klasöründe global bir settings.json, onu geçersiz kılan proje bazlı bir settings.json ve ilk kez açtığınız bir klasörün yerel ayarlarını uygulamadan önce soran bir güven sistemi. CLI ayrıca projenizin AGENTS.md veya CLAUDE.md dosyasını bağlam olarak yükler, böylece mevcut talimatlar yeniden yazılmadan çalışır s3.
SDK tarafında createAgentSession bir ModelRuntime ve bir SessionManager alır, çalışan bir ajan döndürür. SessionManager kalıcılık seçimidir: tek kullanımlık script için bellekte, çalıştırmalar arasında konuşmalarınızı bulmak için diskte; SDK ile oluşturulan oturumlar CLI'ın kendi oturumlarıyla aynı yapıyı paylaşır s8. createAgentSession seçenek listesi, sunulacak araç setini ve boş sayfadan başlamak istediğinizde ResourceLoader üzerinden sistem prompt'unun tamamını da seçmenize izin verir s8. Özel araçlar defineTool ile tanımlanır: bir ad, bir açıklama, tip güvenli bir parametre şeması ve bir execute fonksiyonu; bunlar createAgentSession'a customTools içinde verilir. Araç modele tıpkı read veya bash gibi görünür, tip güvenli şema size editörde otomatik tamamlama sağlar ve ajan zaten doğrulanmış girdiler alır. Bu, bir MCP sunucusuyla aynı mekanizmadır, yalnız her şey kendi dosyanızda yaşar, arada ayrı bir süreç ya da protokol yoktur s8.
CLI'ın kendisi dört mekanizmayla özelleştirilir ve hepsi projenizin ya da ev klasörünüzün içindeki klasörlere konur: extensions (araç, slash komutu, klavye kısayolu veya arayüz öğesi kaydeden, başlangıçta extensions klasöründen yüklenen TypeScript modülleri), skills (Agent Skills standardını izleyen yetenek paketleri, model tarafından çağrılır ya da elle çalıştırılır, yani mevcut skills olduğu gibi yeniden kullanılabilir), prompt şablonları ve CLI çalışırken yeniden yüklenen temalar s3. README felsefeyi tek satırda söyler: pi'yi iş akışlarınıza uyarlayın, tersini değil, fork etmeden ve iç yapıya dokunmadan s3. Büyük altyapılar alt ajanları, plan modunu ve izinleri ürüne gömerken pi bunları bilerek dışarıda bırakır; extension olarak yazılmaları ya da topluluktan kurulmaları beklenir s3.
Sınırları proje kendisi belgeliyor. Yerleşik izin istemi yok: varsayılan olarak ajan sormadan bir bash komutu çalıştırabilir. Resmi konteynerleştirme kılavuzu bunu kabul ediyor ve aralarında Docker'ın da bulunduğu üç izolasyon deseni öneriyor, ama önemli bir makinede ajanı serbest bırakmadan önce birini kurmak sizin işiniz s5. Olgunluk diğer bedel: 1.0 değil v0.84, yaklaşık yüz açık issue ve son haftalarda eklenen uzak oturum istemcisi gibi hâlâ deneysel işaretli API'ler s7. Aynı parçalar şimdiden başka bir ürüne de hizmet ediyor: pi-chat bunları konuşma otomasyonuna uyguluyor s6.
Karar: tut, dene ya da geç
| pi'nin parçası | Karar | Neden |
|---|---|---|
| Günlük altyapınızın yanında öğrenme tezgahı olarak CLI | Tut | Yerel ağaç oturumlar, canlı maliyet, dört araç: paketlenmiş bir altyapının gizlediği her katmanı görürsünüz |
| Ajan ürünleri için SDK (createAgentSession + defineTool) | Hemen dene | Çalışan ajana on satır, MCP altyapısı olmadan tip güvenli özel araçlar, değiştirilebilir sağlayıcı |
| Tek günlük asistanınız olarak CLI | Şimdilik geç | İzin istemi yok, izolasyon sizde, 1.0 öncesi API değişimi |
| Korkuluklar için extensions (bash onayı, politikalar) | Dene | Bir izin katmanı için tasarlanmış yer; projenizle birlikte sürüm kontrolünde |
| Skills klasörü | Tut | Agent Skills standardı, mevcut skills'iniz değişmeden yüklenir |
| Deneysel API'ler (uzak oturum istemcisi) | Geç | Deneysel işaretli, 1.0 öncesi değişebilir |
Pazartesi yapılacaklar
- CLI'ı
npm install -g --ignore-scripts @earendil-works/pi-coding-agentile kurun,piçalıştırın, login komutuyla bir sağlayıcı bağlayın ve gerçek bir görev sırasında maliyet çubuğunu izleyin. - Zaten AGENTS.md veya CLAUDE.md bulunan bir depo açın ve pi'nin bunu aldığını doğrulayın; aynı prompt ile ajanın ilk yanıtlarını alışık olduğunuz altyapıyla karşılaştırın.
- Bir konuşma yapın, sonra daha önceki bir düğümden
forkedip farklı bir yöne gidin; JSONL dosyalarını ve proje klasörlerini görmek için~/.pi/agent/sessions/içeriğini listeleyin. - Yirmi satırlık bir
our-agent.tsyazın: createAgentSession'ı içe aktarın, bir ModelRuntime ve bellek içi bir SessionManager verin, geçerli klasörde ne olduğunu sorun,npx tsxile çalıştırın. - Kendi sisteminizden bir şey okuyan (dahili bir API, bir veritabanı görünümü, bir CSV) tek bir defineTool ekleyin ve customTools ile verin; ajanın ilgili bir soruda onu kendiliğinden çağırdığını doğrulayın.
- Önemsediğiniz bir makinede bash etkin herhangi bir çalıştırmadan önce, konteynerleştirme kılavuzundaki üç izolasyon deseninden birini seçip kurun.
- Bash çağrılarını yakalayıp yıkıcı komutlarda onay isteyen ilk extension'ı taslak olarak yazın; projenizin extensions klasöründe sürüm kontrolü altında tutun.
- Açık issue listesine bir kez göz atın, böylece üzerine kurmadan önce hangi parçaların değişeceğini bilirsiniz.
Daha fazlası
- createAgentSession seçeneklerinin tam listesi için SDK belgelerini okuyun: araç seti, ResourceLoader ile sistem prompt'u, session manager'lar s8.
- Bir kullanıcının makinesinde bash çalıştıran herhangi bir şeyi yayına almadan önce konteynerleştirme kılavuzundaki üç izolasyon desenini inceleyin s5.
- Aynı beş paketin kodlama yerine konuşma otomasyonu için nasıl yeniden düzenlendiğini görmek için pi-chat'e bakın s6.
- packages klasörüne göz atın ve pi-agent-core'u tek başına okuyun: her paketlenmiş altyapının çalıştırdığı döngünün okunabilir en küçük sürümü bu s2.
- Sürüm sayfasını takip edin: v0.84.0 ile v0.84.2 Ağustos'ta iki hafta içinde çıktı, bu yüzden extensions'ı etkileyen değişiklik notları bekleyin s4.
- Açık issue'ları, uzak oturum istemcisinden başlayarak, hâlâ nelerin deneysel olduğunu gösteren bir harita olarak kullanın s7.
- Diğer araçlar için zaten yazdığınız skills'i yeniden kullanın: pi'nin skills klasörü Agent Skills standardını izler s3.
Kaynaklar
- pi: the agent toolkit (repository), Earendil Works. Neden okumalı: paket listesi, yıldız ve fork sayıları ile MIT lisansını içeren README.
- pi monorepo packages, Earendil Works. Neden okumalı: beş paket yan yana, her birinin hangi katmanı üstlendiğini görmenin en hızlı yolu.
- pi-coding-agent package README, Earendil Works. Neden okumalı: kurulum komutu, varsayılan araçlar, oturumlar ve dört genişletme mekanizması.
- pi releases, Earendil Works. Neden okumalı: v0.84 serisinin temposu ve değişiklik günlüğü.
- pi containerization guide (isolation patterns), Earendil Works. Neden okumalı: önemli bir yerde bash'i etkinleştirmeden önce uygulanacak üç izolasyon deseni.
- pi-chat: the same bricks applied to conversation automation, Earendil Works. Neden okumalı: aynı paketlerden yapılmış ikinci bir ürün, yeniden kullanılabilirliği değerlendirmek için faydalı.
- pi open issues, Earendil Works. Neden okumalı: mevcut sürümde nelerin kararsız veya deneysel olduğunun canlı listesi.
- pi-coding-agent SDK documentation (createAgentSession options), Earendil Works. Neden okumalı: createAgentSession, defineTool ve session manager'ların kesin seçenek adları.
FAQ
pi bugün günlük kodlama ajanımın yerini alabilir mi?
Hazır bir ikame olarak değil. İzin istemi olmadan geliyor, izolasyon size kalıyor ve sürüm 1.0 öncesi, yaklaşık yüz açık issue var. İş için mevcut altyapınızı koruyun, pi'yi yanında çalıştırın.
pi'ye özel bir araç vermek için MCP gerekir mi?
Hayır. defineTool bir ad, bir açıklama, tip güvenli bir parametre şeması ve bir execute fonksiyonu alır, araç da createAgentSession'a customTools içinde verilir. Yerleşik bir araç gibi davranır, ayrı bir süreç veya protokol yoktur.
Mevcut AGENTS.md, CLAUDE.md ve skills'im çalışır mı?
Evet. CLI projenizdeki AGENTS.md veya CLAUDE.md dosyasını otomatik yükler ve skills klasörü Agent Skills standardını izler, yani mevcut skills değişmeden yüklenir.
Neden varsayılan olarak yalnızca dört araç var?
read, write, edit ve bash varsayılan setin tamamı, piyasadaki ajanlardan çok daha az, ve proje bunu bir tercih olarak sunuyor. Gerisi customTools ya da bir extension ile bilinçli olarak eklenir.
AIDive