Intégration ACP
Connecte n'importe quel éditeur compatible ACP à Bob Shell en tant qu'assistant IA de première classe.
Bob Shell peut fonctionner comme serveur Agent Client Protocol (ACP). Une fois connecté, l'éditeur gère l'interface des fils de discussion, les dialogues d'autorisation et les diffs, tandis que Bob gère le runtime: accès au modèle, tools, serveurs MCP et exécution shell.
ACP joue le même rôle pour les agents de codage que le Language Server Protocol pour les outils de langage : un contrat JSON-RPC, plusieurs éditeurs, plusieurs agents. Les agents locaux communiquent avec l'éditeur via stdin et stdout.
Éditeurs pris en charge
Les éditeurs suivants prennent en charge les connexions ACP à Bob Shell :
- Zed
- IntelliJ IDEA
- Neovim
Premiers pas
Démarre Bob Shell en tant que serveur ACP :
bob acpLe processus attend du JSON-RPC sur stdin. Lance-le via la configuration ACP de ton éditeur; l'exécuter directement dans un terminal semble bloquer.
Suis les instructions de configuration ACP de ton éditeur pour te connecter au processus bob acp. Pour plus d'informations sur le protocole, consulte la spécification ACP.
Authentification
Bob s'authentifie lors de l'initialisation ACP. Si BOBSHELL_API_KEY est défini dans l'environnement qui lance bob acp, Bob utilise la clé et aucune action supplémentaire n'est requise.
Sans clé API ni token stocké, ton éditeur t'invite à t'authentifier via SSO. Complète le flux navigateur une fois; Bob stocke le token afin que les sessions ACP suivantes sur la même machine le réutilisent.
Confiance dans le workspace
Bob vérifie la confiance dans le workspace avant de créer une session. Un workspace non approuvé entraîne l'échec de la création de session. Pour approuver un workspace, ouvre un terminal dans ce répertoire et lance Bob Shell en mode interactif :
cd /path/to/project
bobUne fois la confiance enregistrée, quitte et reconnecte-toi via l'éditeur.
Pour les environnements éphémères ou jetables, passe --trust dans tes arguments ACP. Pour les implications, voir Options de commande.
Serveurs MCP
L'éditeur et Bob peuvent tous les deux fournir des serveurs MCP à une session. Les deux ensembles de serveurs s'initialisent dans le même harness de session Bob, ce qui rend les doublons de configuration faciles à manquer.
Préfère un seul propriétaire pour chaque serveur MCP. Si un outil MCP manque de façon inattendue, vérifie à la fois les paramètres MCP de ton éditeur et la configuration MCP native de Bob.
Chaque session ACP crée son propre harness avec ses serveurs MCP configurés. Un serveur MCP local peut démarrer une fois par fil Bob actif. Surveille l'utilisation des ressources avant d'ouvrir de nombreux fils en parallèle, surtout quand un serveur démarre une JVM, un conteneur ou un modèle local.
Bob Shell comparé au terminal de l'éditeur
Bob Shell exécute les commandes dans son propre processus enfant, pas dans le terminal de ton éditeur. Une commande qui fonctionne dans ton terminal d'éditeur peut échouer pour Bob Shell si le processus bob acp a hérité d'un PATH, d'un répertoire de travail ou d'un environnement différent.
Les modifications que tu fais dans un terminal d'éditeur en cours d'exécution comme cd ou export n'atteignent pas Bob Shell. Si tu mets à jour l'environnement de lancement, redémarre le fil ACP.
Options de commande
Commence avec bob acp et ajoute des options uniquement pour une raison précise :
| Option | Description |
|---|---|
--log-level <level> | Définit le niveau de verbosité des logs : debug, info, warn, error ou silent. Également configurable via la variable d'environnement BOB_LOG_LEVEL. |
--trust | Fait confiance à chaque workspace ouvert par ce serveur ACP. Cette option supprime une limite au niveau du projet ; ne l'inclus pas dans une configuration d'éditeur permanente. |
--auto-approve | Approuve chaque appel d'outil sans afficher de dialogues d'autorisation. Cette option est plus large que sélectionner Toujours autoriser pour un seul outil. |
--disable-mcp | Ignore l'initialisation des serveurs MCP. Utilise cette option pour isoler les échecs de démarrage de session. |
--disable-subagents | Omet l'enregistrement des outils subagent de Bob quand la tâche ne nécessite pas de délégation. |
--accept-license | Enregistre l'acceptation de la licence avant le démarrage du serveur. Examine d'abord les fichiers de licence en exécutant bob --show-license acp. |
Utiliser --trust et --auto-approve ensemble supprime à la fois le contrôle du workspace et l'approbation par outil. Un prompt peut agir dans n'importe quel workspace ouvert par le serveur sans confirmation supplémentaire. N'inclus pas les deux options dans ta configuration d'éditeur par défaut.