ACP entegrasyonu

ACP uyumlu herhangi bir editörü Bob Shell'e birinci sınıf yapay zeka asistanı olarak bağla.

Bob Shell, bir Agent Client Protocol (ACP) sunucusu olarak çalışabilir. Bağlandığında, editör thread arayüzünü, izin diyaloglarını ve diff'leri yönetirken, Bob runtime'ı yönetir: model erişimi, tool'lar, MCP sunucuları ve shell yürütme.

Not:

ACP, kodlama ajanları için Language Server Protocol'ün dil araçları için oynadığı rolü oynar: bir JSON-RPC sözleşmesi, birçok editör, birçok ajan. Yerel ajanlar editörle stdin ve stdout üzerinden iletişim kurar.

Desteklenen editörler

Aşağıdaki editörler Bob Shell'e ACP bağlantısını destekler:

  • Zed
  • IntelliJ IDEA
  • Neovim

Başlarken

Bob Shell'i ACP sunucusu olarak başlat:

bob acp

İşlem stdin'de JSON-RPC bekler. Editörünün ACP yapılandırması üzerinden başlat; doğrudan terminalde çalıştırmak donmuş gibi görünür.

bob acp işlemine bağlanmak için editörünün ACP yapılandırma talimatlarını takip et. Protokol hakkında daha fazla bilgi için ACP spesifikasyonu'na bak.

Kimlik doğrulama

Bob, ACP başlatma sırasında kimlik doğrulaması yapar. bob acp'yi başlatan ortamda BOBSHELL_API_KEY ayarlanmışsa, Bob anahtarı kullanır ve başka bir işlem gerekmez.

API anahtarı veya kayıtlı token olmadan, editörün SSO üzerinden kimlik doğrulaması yapmanı ister. Tarayıcı akışını bir kez tamamla; Bob token'ı kaydeder, böylece aynı makinedeki sonraki ACP oturumları onu yeniden kullanabilir.

Workspace güveni

Bob, bir oturum oluşturmadan önce workspace güvenini kontrol eder. Güvenilmeyen bir workspace, oturum oluşturmanın başarısız olmasına neden olur. Bir workspace'e güvenmek için o dizinde terminal aç ve Bob Shell'i etkileşimli olarak çalıştır:

cd /path/to/project
bob

Güven kaydedildikten sonra çık ve editör üzerinden yeniden bağlan.

Kısa ömürlü veya tek kullanımlık ortamlar için ACP argümanlarına --trust ekle. Ödünleşimler için bkz. Komut seçenekleri.

MCP sunucuları

Hem editör hem de Bob, bir oturuma MCP sunucuları sağlayabilir. Her iki sunucu seti de aynı Bob oturum harness'ında başlatılır; bu da yinelenen yapılandırmayı gözden kaçırmayı kolaylaştırır.

Her MCP sunucusu için tek bir sahip tercih et. Bir MCP tool'u beklenmedik şekilde eksikse, hem editörünün MCP ayarlarını hem de Bob'un yerel MCP yapılandırmasını kontrol et.

Önemli:

Her ACP oturumu, yapılandırılmış MCP sunucularıyla kendi harness'ını oluşturur. Yerel bir MCP sunucusu her aktif Bob thread'i için bir kez başlayabilir. Özellikle bir sunucu JVM, container veya yerel model başlattığında, birçok paralel thread açmadan önce kaynak kullanımını izle.

Bob Shell ile editör terminali karşılaştırması

Bob Shell, komutları editörünün terminalinde değil, kendi alt sürecinde yürütür. Editör terminalinde çalışan bir komut, bob acp süreci farklı bir PATH, çalışma dizini veya ortam devraldıysa Bob Shell için başarısız olabilir.

Çalışan bir editör terminalinde yaptığın değişiklikler, cd veya export gibi, Bob Shell'e ulaşmaz. Başlatma ortamını güncellersen, ACP thread'ini yeniden başlat.

Komut seçenekleri

bob acp ile başla ve seçenekleri yalnızca belirli bir nedenle ekle:

SeçenekAçıklama
--log-level <level>Log ayrıntı düzeyini ayarlar: debug, info, warn, error veya silent. BOB_LOG_LEVEL ortam değişkeni aracılığıyla da yapılandırılabilir.
--trustBu ACP sunucusunun açtığı her workspace'e güvenir. Bu seçenek proje düzeyinde bir sınırı kaldırır; kalıcı editör yapılandırmasına dahil etme.
--auto-approveİzin diyalogları göstermeden her tool çağrısını onaylar. Bu seçenek, tek bir tool için Her zaman izin ver'i seçmekten daha kapsamlıdır.
--disable-mcpMCP sunucusu başlatmayı atlar. Oturum başlatma hatalarını izole etmek için bu seçeneği kullan.
--disable-subagentsGörev delegasyon gerektirmediğinde Bob'un subajan tool kaydını atlar.
--accept-licenseSunucu başlamadan önce lisans kabulünü kaydeder. Önce bob --show-license acp çalıştırarak lisans dosyalarını incele.
Uyarı:

--trust ve --auto-approve'u birlikte kullanmak hem workspace denetimini hem de tool başına onayı kaldırır. Bir istem, sunucunun açtığı herhangi bir workspace'te başka onay olmadan işlem yapabilir. Her iki seçeneği de varsayılan editör yapılandırmanıza dahil etme.

Bu konu nasıl?