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.
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
bobGü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.
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çenek | Açı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. |
--trust | Bu 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-mcp | MCP sunucusu başlatmayı atlar. Oturum başlatma hatalarını izole etmek için bu seçeneği kullan. |
--disable-subagents | Görev delegasyon gerektirmediğinde Bob'un subajan tool kaydını atlar. |
--accept-license | Sunucu başlamadan önce lisans kabulünü kaydeder. Önce bob --show-license acp çalıştırarak lisans dosyalarını incele. |
--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.