Integrazione ACP

Connetti qualsiasi editor compatibile con ACP a Bob Shell come assistente IA di prima classe.

Bob Shell può essere eseguito come server Agent Client Protocol (ACP). Una volta connesso, l'editor gestisce l'interfaccia dei thread, i dialoghi di autorizzazione e i diff, mentre Bob gestisce il runtime: accesso al modello, tool, server MCP ed esecuzione della shell.

Nota:

ACP svolge lo stesso ruolo per gli agenti di codice che il Language Server Protocol svolge per gli strumenti di linguaggio: un contratto JSON-RPC, molti editor, molti agenti. Gli agenti locali comunicano con l'editor tramite stdin e stdout.

Editor supportati

I seguenti editor supportano le connessioni ACP a Bob Shell:

  • Zed
  • IntelliJ IDEA
  • Neovim

Per iniziare

Avvia Bob Shell come server ACP:

bob acp

Il processo attende JSON-RPC su stdin. Avvialo tramite la configurazione ACP del tuo editor; avviarlo direttamente in un terminale sembra bloccarlo.

Segui le istruzioni di configurazione ACP del tuo editor per connetterti al processo bob acp. Per ulteriori informazioni sul protocollo, consulta la specifica ACP.

Autenticazione

Bob si autentica durante l'inizializzazione ACP. Se BOBSHELL_API_KEY è impostato nell'ambiente che avvia bob acp, Bob usa la chiave e non è richiesta alcuna ulteriore azione.

Senza una chiave API o un token salvato, il tuo editor ti chiede di autenticarti tramite SSO. Completa il flusso del browser una volta; Bob salva il token in modo che le sessioni ACP successive sulla stessa macchina lo riutilizzino.

Attendibilità del workspace

Bob verifica l'attendibilità del workspace prima di creare una sessione. Un workspace non attendibile causa il fallimento della creazione della sessione. Per rendere attendibile un workspace, apri un terminale in quella directory ed esegui Bob Shell in modo interattivo:

cd /path/to/project
bob

Dopo che l'attendibilità è stata registrata, esci e riconnettiti tramite l'editor.

Per ambienti temporanei o usa e getta, passa --trust nei tuoi argomenti ACP. Per le implicazioni, vedi Opzioni del comando.

Server MCP

Sia l'editor che Bob possono fornire server MCP a una sessione. Entrambi i set di server vengono inizializzati all'interno dello stesso harness di sessione di Bob, il che rende facile non accorgersi di configurazioni duplicate.

Preferisci un solo proprietario per ogni server MCP. Se un tool MCP manca inaspettatamente, controlla sia le impostazioni MCP del tuo editor sia la configurazione MCP nativa di Bob.

Importante:

Ogni sessione ACP crea il proprio harness con i server MCP configurati. Un server MCP locale può avviarsi una volta per ogni thread Bob attivo. Monitora l'utilizzo delle risorse prima di aprire molti thread in parallelo, specialmente quando un server avvia una JVM, un container o un modello locale.

Bob Shell rispetto al terminale dell'editor

Bob Shell esegue i comandi nel proprio processo figlio, non nel terminale del tuo editor. Un comando che funziona nel terminale del tuo editor potrebbe non funzionare per Bob Shell se il processo bob acp ha ereditato un PATH, una directory di lavoro o un ambiente diverso.

Le modifiche che apporti in un terminale dell'editor in esecuzione come cd o export non raggiungono Bob Shell. Se aggiorni l'ambiente di avvio, riavvia il thread ACP.

Opzioni del comando

Inizia con bob acp e aggiungi opzioni solo per un motivo specifico:

OpzioneDescrizione
--log-level <level>Imposta il livello di dettaglio del log: debug, info, warn, error o silent. Configurabile anche tramite la variabile d'ambiente BOB_LOG_LEVEL.
--trustConsidera attendibile ogni workspace aperto da questo server ACP. Questa opzione rimuove un confine a livello di progetto; non includerla in una configurazione permanente dell'editor.
--auto-approveApprova ogni chiamata al tool senza mostrare dialoghi di autorizzazione. Questa opzione è più ampia rispetto alla selezione di Consenti sempre per un singolo tool.
--disable-mcpSalta l'inizializzazione dei server MCP. Usa questa opzione per isolare i problemi di avvio della sessione.
--disable-subagentsOmette la registrazione dei tool subagente di Bob quando il task non richiede delega.
--accept-licenseRegistra l'accettazione della licenza prima dell'avvio del server. Esamina prima i file di licenza eseguendo bob --show-license acp.
Avviso:

Usare --trust e --auto-approve insieme rimuove sia il controllo del workspace sia l'approvazione per tool. Un prompt può agire in qualsiasi workspace aperto dal server senza ulteriore conferma. Non includere entrambe le opzioni nella configurazione predefinita del tuo editor.

Come valuti questo argomento?