1 puan yazan GN⁺ 2025-10-14 | 1 yorum | WhatsApp'ta paylaş
  • agent-shell, Emacs içinde yapay zeka ajanlarını doğrudan kontrol etmeyi sağlayan comint-mode tabanlı yerel bir kabuktur
  • ACP (Agent Client Protocol) kullanarak belirli bir ajana bağlı kalmadan çeşitli ajanlarla iletişim kurabilen esnek bir yapıya sahiptir
  • Gerçek zamanlı trafik analizi özelliği ve sahte (fake) ajan replay özelliği sayesinde test ve geliştirme verimliliği artar
  • Henüz protokolün tüm işlevleri eklenmemiş olsa da, hızla günlük kullanım için yeterli seviyeye ulaşan bir uygulama sunuyor
  • agent-shell ve acp.el'in ikisi de GitHub'da açık olarak yayımlanmıştır; ek özellikler veya hatalarla ilgili kullanıcı geri bildirimi memnuniyetle karşılanır

Giriş

  • Kısa süre önce Emacs Lisp ile geliştirilen acp.el sayesinde Zed ve Google'ın birlikte geliştirdiği Agent Client Protocol (ACP) ile entegrasyon mümkün hale geldi
  • Daha önce chatgpt-shell gibi araçlarla yalnızca LLM'lerle temel entegrasyon sağlanıyordu; ancak yapay zeka ajanlarının tam ölçekli kullanımı yavaş ilerliyordu
  • ACP'nin devreye girmesiyle Emacs ortamında ajan entegrasyonuna yönelik talep artınca, yerel Emacs agent-shell geliştirmesi başlatıldı

agent-shell genel bakış

  • agent-shell, comint-mode temel alınarak Emacs'ın alışıldık buffer sistemi içinde çalışır
  • Ayrı karakter ve satır modu geçişleri olmadan, normal Emacs kabuğu ile aynı şekilde kullanılabilen bir ortam sunar

Agent-agnostic (ajana bağımsızlık)

  • ACP sayesinde tek bir protokolle çeşitli ajanlarla iletişim kurabilen tutarlı bir kullanıcı deneyimi sağlamak mümkün
  • Yapılandırma örnekleri üzerinden Gemini CLI, Claude Code gibi farklı ajanlar yalnızca basit kod değişiklikleriyle uygulanabilir
    • Örnek kod: her ajana yönelik kimlik doğrulama, komut ve ortam değişkeni ayarlama yöntemlerini açıklar
  • Diğer ajanlar da aynı şekilde kolayca entegre edilebilir

Trafik görüntüleme özelliği

  • ACP protokolünü kullanmaya alışık olunmadığından, iletişim trafiğini gerçek zamanlı analiz etme ihtiyacı vardı
  • agent-shell, ayrı bir trafik görüntüleyici buffer'ı sunar; M-x agent-shell-view-traffic komutuyla JSON tabanlı trafik görsel olarak incelenebilir

Fake agents (sahte ajanlar ve replay)

  • Gerçek ücretli ajanlarla geliştirme yaparken ortaya çıkan maliyet ve zaman verimsizliği nedeniyle sahte ajan replay özelliği eklendi
  • Trafik buffer'ı üzerinden kaydedilen iletişim verileri yeniden oynatılarak (replay), hızlı biçimde çok sayıda test yapılabilir hale geldi
  • Bazı kısıtlar ve sınırlamalar olsa da, hata ayıklama ve geliştirme süreci büyük ölçüde verimli hale geliyor

Gelecek planları ve mevcut durum

  • Agent Client Protocol Schema'nın yalnızca bir kısmı uygulanmış durumda; tamamlanmamış bölümler hâlâ var
  • n/p tuşlarına dayalı hızlı diff buffer'ı ve permission dialog gibi yenilikçi UX denemeleri sürüyor
  • Protokolün tüm işlevlerinin anlaşılması ve ek implementasyonların yapılması planlanıyor

GitHub'da yayımlanması ve kullanım rehberi

  • agent-shell ve acp.el'in ikisi de GitHub'da açık olarak yayımlandı
    • agent-shell: ajan kullanıcıları için paket
    • acp.el: ajanlarla ilgili entegrasyon paketleri oluşturmak isteyen geliştiriciler için kütüphane
  • Her iki proje de çok erken (beta) aşamada; bu nedenle hata ve özellik isteği gönderilmesi tavsiye ediliyor
  • Bulut LLM servislerini kullanırken ek maliyetler doğuyor ve açık kaynak geliştirme de başlı başına maliyet ve emek gerektiriyor
  • Proje faydalıysa destek verilmesi teşvik ediliyor

1 yorum

 
GN⁺ 2025-10-14
Hacker News yorumu
  • Xenodium, Emacs üzerinde harika işler yapıyor; Emacs’e ilginiz varsa Xenodium bloguna mutlaka bakmanızı öneririm. Diğer Emacs kullanıcılarının tavsiyesiyle ilk kez satın aldığım iOS uygulaması da Journelly olmuştu; bağlantıları ya da notları kolayca kaydedip org dosyalarına aktarabilen taşınabilir bir alan. Yakında markdown desteği de gelecekmiş. Xenodium’la hiçbir bağlantım yok; bu yıl Emacs’e daha çok gömülürken onun katkılarını görmek gerçekten çok keyifliydi.
    • Çok teşekkürler; böyle geri bildirimler insanın gününü güzelleştiriyor. Journelly hayranı olmanı duymak da sevindirici, satın aldığın için teşekkürler. Niş bir uygulamayı sürekli geliştirmek büyük bir meydan okuma.
  • agent-shell, ACP (Agent Client Protocol) ile çalışan çeşitli yapay zeka ajanlarını doğrudan Emacs içinde kullanmayı sağlayan yerel bir deneyim sunuyor. Şu anda Claude Code, Gemini CLI, Codex ve Goose ile entegre olabiliyor; ama teknik olarak ACP destekleyen herhangi bir ajanla da çalışabilir. Sürdürülebilir geliştirme için daha fazla sponsora ihtiyaç var; GitHub Sponsors üzerinden destek olunabilir.
    • Çok ilginç görünüyor. Daha önce claude-code-ide kullanmıştım ama comint-mode kullanmaması büyük bir rahatsızlıktı. agent-shell’i kesinlikle denemek istiyorum. Bir sorum var: ACP spesifikasyonu “IDE” ile ilgili özellikleri de kapsıyor mu? Örneğin Claude Code IDE’deki imleç konumu, diff entegrasyonu gibi şeyleri. Yoksa gerçekten yalnızca temel işlevlere mi odaklanıyor?
  • Agent shell tam da her zaman istediğim şeydi. Çeşitli Claude Code entegrasyon paketlerini denedim ama bunları terminal emülatöründe çalıştırma zahmeti vardı. agent shell ise çok daha doğal ve bütünleşik hissettiriyor. Özellikle ortam yapılandırmasını dosyalardan okuma özelliğini dört gözle bekliyorum. agent-shell-sidebar’ın pratikte nasıl çalıştığını gösterecek ekran görüntüleri olsaydı keşke.
  • Xenodium, Emacs topluluğu için harika işler yapıyor. Şu anda agent-shell kullanıyorum ama buffer’ın üstüne eklenen header hoşuma gitmiyor. İstediğim bilgi zaten altta mevcut. Alt satırı isteğe bağlı kapatabilmek minimalistler için güzel olurdu.
    • Header’ı beğenmediysen bir özellik isteği açmanı isterim. Grafik header’ın isteğe bağlı olarak açılıp kapatılabilmesi iyi olurdu.
  • agent-shell’i birkaç kez kullandım; henüz çok yeni bir paket olmasına rağmen son derece akıcı bir deneyim sunuyor.
  • ACP’yi ilk kez duyuyorum. AG-UI ile karşılaştırıldığında nasıl farklı olduğunu merak ediyorum. Elbette ACP’nin kodlamaya odaklı, AG-UI’nin ise çok daha genel amaçlı olduğunu biliyorum; ama bunun dışında ne gibi farklar var, onu merak ediyorum.
    • Bu, LSP ile aynı mantığın yapay zeka ajanlarına uygulanmış hali. claude, codex, gemini, aider gibi araçlar için her editörde tekrar tekrar wrapper yazmak büyük eziyet; bu yüzden Zed ekibi protokol standardizasyonunu başlattı.
  • ECA adlı bir proje de var: ECA GitHub. ECA, birden fazla front-end ve editör için LSP tarzı bir kodlama ajanı protokolü ve çeşitli modelleri doğrudan destekliyor. Buna karşılık agent protocol, Gemini CLI, Claude Code gibi farklı ajanların, protokol desteği durumuna göre çeşitli front-end’lerde kullanılmasını sağlıyor gibi görünüyor. Farklı kodlama ajanları da ECA protokolünü benimseyebilir gibi duruyor.
    • Evet, ECA projesinin bir Emacs paketi de var. Son zamanlarda onu kullanıyorum. Emacs ile ilgili bir sorunu debug ederken ECA protokolüyle ACP belgelerine göz attım; ikisi oldukça benzer ve ikisi de iyi dokümante edilmiş. İstenmeden yeniden icat edilmiş benzer şeyler gibi duruyor.
    • İkisini de kullandım ve yukarıdaki açıklama doğru. MCP’leri yeniden ayarlamak gerekiyor ve ECA’nın kendi sunucusu arka planda çalışıyor. Bu yüzden agent-shell bana daha çok hitap etti. Her ajanın config biçimi ve konumu farklı, ayrıca proje düzeyiyle kullanıcı düzeyi config’ler de değişiyor; bu yüzden agent-shell’in sadeliği büyük bir avantaj. İleride config için de bir standart oluşursa gerçekten harika olur.
  • Neden doğrudan Claude Code kullanmak yerine özellikle agent-shell kullanmak isteyesiniz ki, merak ediyorum.
    • Nedeni, metin editörüne tamamen entegre, birleşik ve yerel bir UI deneyimi sunması. Üstelik yalnızca Claude Code değil, Gemini CLI, Codex, Goose gibi ACP destekleyen farklı ajanları da aynı şekilde kullanabiliyorsunuz.
    • İşte bu tam Emacs tarzı bir şey. Emacs dünyayı yutan bir varlıktır.
  • Bunu Neovim için birinin yapmasını bekliyorum. Adını bilmediğim bir kahraman bir an önce ortaya çıksa keşke. Spesifikasyonu hazırlayan Zed ekibine ve Google’a da teşekkürler.