ACP-Integration

Jeden ACP-kompatiblen Editor als erstklassigen KI-Assistenten mit Bob Shell verbinden.

Bob Shell kann als Agent Client Protocol (ACP)-Server ausgeführt werden. Wenn verbunden, besitzt der Editor die Thread-Benutzeroberfläche, Berechtigungsdialoge und Diffs, während Bob die Laufzeit besitzt – Modellzugriff, Tools, MCP-Server und Shell-Ausführung.

Hinweis:

ACP spielt für Coding-Agenten dieselbe Rolle wie das Language Server Protocol für Sprach-Tooling: ein JSON-RPC-Vertrag, viele Editoren, viele Agenten. Lokale Agenten kommunizieren mit dem Editor über stdin und stdout.

Unterstützte Editoren

Die folgenden Editoren unterstützen ACP-Verbindungen zu Bob Shell:

  • Zed
  • IntelliJ IDEA
  • Neovim

Erste Schritte

Starte Bob Shell als ACP-Server:

bob acp

Der Prozess wartet auf JSON-RPC über stdin. Starte ihn über die ACP-Konfiguration deines Editors; wenn du ihn direkt in einem Terminal ausführst, scheint er zu hängen.

Folge den ACP-Konfigurationsanweisungen deines Editors, um eine Verbindung zum bob acp-Prozess herzustellen. Weitere Informationen zum Protokoll findest du in der ACP-Spezifikation.

Authentifizierung

Bob authentifiziert sich während der ACP-Initialisierung. Wenn BOBSHELL_API_KEY in der Umgebung gesetzt ist, die bob acp startet, verwendet Bob den Schlüssel und es sind keine weiteren Schritte erforderlich.

Ohne API-Schlüssel oder gespeichertes Token fordert dein Editor dich auf, dich per SSO zu authentifizieren. Schließe den Browser-Flow einmal ab – Bob speichert das Token, sodass spätere ACP-Sitzungen auf demselben Rechner es wiederverwenden.

Workspace-Vertrauen

Bob prüft das Workspace-Vertrauen, bevor eine Sitzung erstellt wird. Ein nicht vertrauenswürdiger Workspace führt dazu, dass die Sitzungserstellung fehlschlägt. Um einem Workspace zu vertrauen, öffne ein Terminal in diesem Verzeichnis und führe Bob Shell interaktiv aus:

cd /path/to/project
bob

Nachdem das Vertrauen gespeichert wurde, beende Bob Shell und stelle die Verbindung über den Editor wieder her.

Für kurzlebige oder temporäre Umgebungen übergib --trust in deinen ACP-Argumenten. Informationen zu den Auswirkungen findest du unter Befehlsoptionen.

MCP-Server

Sowohl der Editor als auch Bob können einer Sitzung MCP-Server bereitstellen. Beide Server-Sätze werden innerhalb desselben Bob-Sitzungs-Harness initialisiert, was doppelte Konfigurationen leicht übersehbar macht.

Bevorzuge einen Eigentümer für jeden MCP-Server. Wenn ein MCP-Tool unerwartet fehlt, überprüfe sowohl die MCP-Einstellungen deines Editors als auch Bobs native MCP-Konfiguration.

Wichtig:

Jede ACP-Sitzung erstellt ihr eigenes Harness mit den konfigurierten MCP-Servern. Ein lokaler MCP-Server kann einmal pro aktivem Bob-Thread gestartet werden. Überwache den Ressourcenverbrauch, bevor du viele parallele Threads öffnest, insbesondere wenn ein Server eine JVM, einen Container oder ein lokales Modell startet.

Bob Shell im Vergleich zum Editor-Terminal

Bob Shell führt Befehle in seinem eigenen Kindprozess aus, nicht im Terminal deines Editors. Ein Befehl, der in deinem Editor-Terminal funktioniert, kann für Bob Shell fehlschlagen, wenn der bob acp-Prozess einen anderen PATH, ein anderes Arbeitsverzeichnis oder eine andere Umgebung geerbt hat.

Änderungen, die du in einem laufenden Editor-Terminal vornimmst – wie cd oder export – erreichen Bob Shell nicht. Wenn du die Start-Umgebung aktualisierst, starte den ACP-Thread neu.

Befehlsoptionen

Beginne mit bob acp und füge Optionen nur aus einem bestimmten Grund hinzu:

OptionBeschreibung
--log-level <level>Setzt die Log-Ausführlichkeit: debug, info, warn, error oder silent. Auch über die Umgebungsvariable BOB_LOG_LEVEL konfigurierbar.
--trustVertraut jedem Workspace, den dieser ACP-Server öffnet. Diese Option entfernt eine Projektgrenze – füge sie nicht in eine dauerhafte Editor-Konfiguration ein.
--auto-approveGenehmigt jeden Tool-Aufruf ohne Berechtigungsdialoge. Diese Option ist umfassender als die Auswahl von Immer erlauben für ein einzelnes Tool.
--disable-mcpÜberspringt die MCP-Server-Initialisierung. Verwende diese Option, um Sitzungsstart-Fehler zu isolieren.
--disable-subagentsLässt die Subagenten-Tool-Registrierung von Bob weg, wenn die Aufgabe keine Delegation erfordert.
--accept-licenseSpeichert die Lizenzakzeptanz vor dem Server-Start. Überprüfe zuerst die Lizenzdateien, indem du bob --show-license acp ausführst.
Warnung:

Die gemeinsame Verwendung von --trust und --auto-approve entfernt sowohl die Workspace-Sperre als auch die Tool-Genehmigung pro Aufruf. Ein Prompt kann in jedem Workspace agieren, den der Server öffnet, ohne weitere Bestätigung. Füge beide Optionen nicht in deine Standard-Editor-Konfiguration ein.

Wie ist dieses Thema?