Integração ACP

Liga qualquer editor compatível com ACP ao Bob Shell como assistente de IA de primeira classe.

O Bob Shell pode ser executado como servidor Agent Client Protocol (ACP). Quando ligado, o editor gere a interface dos threads, os diálogos de permissão e os diffs, enquanto o Bob gere o runtime: acesso ao modelo, tools, servidores MCP e execução da shell.

Nota:

O ACP desempenha o mesmo papel para os agentes de codificação que o Language Server Protocol desempenha para as ferramentas de linguagem: um contrato JSON-RPC, muitos editores, muitos agentes. Os agentes locais comunicam com o editor via stdin e stdout.

Editores suportados

Os seguintes editores suportam ligações ACP ao Bob Shell:

  • Zed
  • IntelliJ IDEA
  • Neovim

Primeiros passos

Inicia o Bob Shell como servidor ACP:

bob acp

O processo aguarda JSON-RPC no stdin. Inicia-o através da configuração ACP do teu editor; executá-lo diretamente num terminal parece bloquear.

Segue as instruções de configuração ACP do teu editor para te ligares ao processo bob acp. Para mais informações sobre o protocolo, consulta a especificação ACP.

Autenticação

O Bob autentica-se durante a inicialização ACP. Se BOBSHELL_API_KEY estiver definido no ambiente que lança bob acp, o Bob usa a chave e não é necessária nenhuma ação adicional.

Sem uma chave API ou um token armazenado, o teu editor solicita-te que te autentiques via SSO. Completa o fluxo do browser uma vez; o Bob armazena o token para que as sessões ACP posteriores na mesma máquina o reutilizem.

Confiança no workspace

O Bob verifica a confiança no workspace antes de criar uma sessão. Um workspace não confiável faz com que a criação da sessão falhe. Para confiar num workspace, abre um terminal nesse diretório e executa o Bob Shell de forma interativa:

cd /path/to/project
bob

Depois de a confiança ser registada, sai e volta a ligar-te através do editor.

Para ambientes efémeros ou descartáveis, passa --trust nos teus argumentos ACP. Para conheceres as implicações, consulta Opções do comando.

Servidores MCP

Tanto o editor como o Bob podem fornecer servidores MCP a uma sessão. Ambos os conjuntos de servidores são inicializados dentro do mesmo harness de sessão do Bob, o que torna fácil não detetar configurações duplicadas.

Prefere um único proprietário para cada servidor MCP. Se um tool MCP faltar inesperadamente, verifica tanto as definições MCP do teu editor como a configuração MCP nativa do Bob.

Importante:

Cada sessão ACP cria o seu próprio harness com os servidores MCP configurados. Um servidor MCP local pode iniciar uma vez por thread ativo do Bob. Monitoriza o uso de recursos antes de abrir muitos threads em paralelo, especialmente quando um servidor inicia uma JVM, um container ou um modelo local.

Bob Shell comparado ao terminal do editor

O Bob Shell executa comandos no seu próprio processo filho, não no terminal do teu editor. Um comando que funciona no terminal do teu editor pode falhar para o Bob Shell se o processo bob acp tiver herdado um PATH, diretório de trabalho ou ambiente diferente.

As alterações que fazes num terminal do editor em execução, como cd ou export, não chegam ao Bob Shell. Se atualizares o ambiente de arranque, reinicia o thread ACP.

Opções do comando

Começa com bob acp e adiciona opções apenas por uma razão específica:

OpçãoDescrição
--log-level <level>Define o nível de detalhe do log: debug, info, warn, error ou silent. Também configurável através da variável de ambiente BOB_LOG_LEVEL.
--trustConfia em cada workspace que este servidor ACP abre. Esta opção remove um limite ao nível do projeto; não a incluas numa configuração permanente do editor.
--auto-approveAprova cada chamada ao tool sem mostrar diálogos de permissão. Esta opção é mais abrangente do que selecionar Permitir sempre para um único tool.
--disable-mcpIgnora a inicialização dos servidores MCP. Usa esta opção para isolar falhas no arranque da sessão.
--disable-subagentsOmite o registo dos tools de subagente do Bob quando a tarefa não requer delegação.
--accept-licenseRegista a aceitação da licença antes do arranque do servidor. Examina primeiro os ficheiros de licença executando bob --show-license acp.
Aviso:

Usar --trust e --auto-approve em conjunto remove tanto o controlo do workspace como a aprovação por tool. Um prompt pode agir em qualquer workspace que o servidor abre sem confirmação adicional. Não incluas ambas as opções na tua configuração padrão do editor.

Como está este tópico?