Integracja ACP
Połącz dowolny edytor zgodny z ACP z Bob Shell jako asystentem AI pierwszej klasy.
Bob Shell może działać jako serwer Agent Client Protocol (ACP). Po połączeniu edytor zarządza interfejsem wątków, oknami dialogowymi uprawnień i diffami, podczas gdy Bob zarządza runtime: dostępem do modelu, narzędziami, serwerami MCP i wykonywaniem poleceń shell.
ACP pełni dla agentów kodowania tę samą rolę, co Language Server Protocol dla narzędzi językowych: jeden kontrakt JSON-RPC, wiele edytorów, wiele agentów. Lokalne agenty komunikują się z edytorem przez stdin i stdout.
Obsługiwane edytory
Następujące edytory obsługują połączenia ACP z Bob Shell:
- Zed
- IntelliJ IDEA
- Neovim
Pierwsze kroki
Uruchom Bob Shell jako serwer ACP:
bob acpProces czeka na JSON-RPC na stdin. Uruchom go przez konfigurację ACP swojego edytora; uruchomienie go bezpośrednio w terminalu wygląda jak zawieszenie.
Postępuj zgodnie z instrukcjami konfiguracji ACP swojego edytora, aby połączyć się z procesem bob acp. Więcej informacji o protokole znajdziesz w specyfikacji ACP.
Uwierzytelnianie
Bob uwierzytelnia się podczas inicjalizacji ACP. Jeśli BOBSHELL_API_KEY jest ustawiony w środowisku uruchamiającym bob acp, Bob używa klucza i nie jest wymagana żadna dodatkowa akcja.
Bez klucza API ani zapisanego tokenu edytor prosi o uwierzytelnienie przez SSO. Ukończ przepływ przeglądarki raz; Bob zapisuje token, aby kolejne sesje ACP na tym samym urządzeniu mogły go ponownie użyć.
Zaufanie do workspace
Bob sprawdza zaufanie do workspace przed utworzeniem sesji. Niezaufany workspace powoduje niepowodzenie tworzenia sesji. Aby zaufać workspace, otwórz terminal w tym katalogu i uruchom Bob Shell interaktywnie:
cd /path/to/project
bobPo zapisaniu zaufania wyjdź i połącz się ponownie przez edytor.
W środowiskach tymczasowych lub jednorazowych przekaż --trust w argumentach ACP. Informacje o kompromisach znajdziesz w sekcji Opcje polecenia.
Serwery MCP
Zarówno edytor, jak i Bob mogą dostarczać serwery MCP do sesji. Oba zestawy serwerów są inicjalizowane w tym samym harness sesji Boba, co sprawia, że zduplikowaną konfigurację łatwo przeoczyć.
Preferuj jednego właściciela dla każdego serwera MCP. Jeśli narzędzie MCP nieoczekiwanie brakuje, sprawdź zarówno ustawienia MCP edytora, jak i natywną konfigurację MCP Boba.
Każda sesja ACP tworzy własny harness ze skonfigurowanymi serwerami MCP. Lokalny serwer MCP może uruchomić się raz dla każdego aktywnego wątku Boba. Monitoruj użycie zasobów przed otwarciem wielu równoległych wątków, zwłaszcza gdy serwer uruchamia JVM, kontener lub lokalny model.
Bob Shell w porównaniu z terminalem edytora
Bob Shell wykonuje polecenia we własnym procesie potomnym, nie w terminalu twojego edytora. Polecenie, które działa w terminalu edytora, może nie działać w Bob Shell, jeśli proces bob acp odziedziczył inny PATH, katalog roboczy lub środowisko.
Zmiany wprowadzane w działającym terminalu edytora takie jak cd lub export nie docierają do Bob Shell. Jeśli zaktualizujesz środowisko uruchomieniowe, uruchom ponownie wątek ACP.
Opcje polecenia
Zacznij od bob acp i dodawaj opcje tylko z konkretnego powodu:
| Opcja | Opis |
|---|---|
--log-level <level> | Ustawia poziom szczegółowości logów: debug, info, warn, error lub silent. Można też skonfigurować przez zmienną środowiskową BOB_LOG_LEVEL. |
--trust | Ufa każdemu workspace otwartemu przez ten serwer ACP. Ta opcja usuwa granicę na poziomie projektu; nie umieszczaj jej w stałej konfiguracji edytora. |
--auto-approve | Zatwierdza każde wywołanie narzędzia bez wyświetlania okien dialogowych uprawnień. Ta opcja jest szersza niż wybranie Zawsze zezwalaj dla jednego narzędzia. |
--disable-mcp | Pomija inicjalizację serwerów MCP. Użyj tej opcji, aby izolować awarie podczas uruchamiania sesji. |
--disable-subagents | Pomija rejestrację narzędzi subagenta Boba, gdy zadanie nie wymaga delegowania. |
--accept-license | Rejestruje akceptację licencji przed uruchomieniem serwera. Najpierw przejrzyj pliki licencji, uruchamiając bob --show-license acp. |
Używanie --trust i --auto-approve razem usuwa zarówno blokadę workspace, jak i zatwierdzanie narzędzi. Monit może działać w dowolnym workspace otwartym przez serwer bez dalszego potwierdzenia. Nie umieszczaj obu opcji w domyślnej konfiguracji edytora.