Verboo Code em CI: autenticação headless com API key vbk_
Voltar para o Blog
Artigodev toolshow toclaude codeverboo codetutorial

Verboo Code em CI: autenticação headless com API key vbk_

Mafra9 de setembro de 20264 min de leitura

Um pipeline de CI que chama verboo trava com erro de autenticação mesmo depois de você configurar uma chave? Até a v0.15.17 do Verboo Code, esse era o comportamento esperado: o portão de autenticação da CLI só reconhecia sessão OAuth, então uma API key vbk_ perfeitamente válida ficava sem uso num ambiente sem terminal interativo. A v0.15.18 corrigiu isso. Este artigo mostra o comando exato pra configurar hoje, com tudo verificado direto no código-fonte de verbeux-ai/code.

Por que o login normal do Verboo Code não funciona num runner de CI?

Porque ele depende de abrir um navegador. Ao rodar verboo numa máquina com terminal interativo, a CLI detecta a ausência de sessão e abre code.verboo.ai automaticamente pra completar o OAuth. Um runner do GitHub Actions, do GitLab CI ou qualquer container efêmero não tem terminal interativo nem navegador, então esse fluxo nunca teria como completar.

O próprio código documenta essa decisão num comentário: "gate de autenticação Verboo. Em TTY abre browser automaticamente; em headless lança erro claro" (src/main.tsx).

Qual variável de ambiente o Verboo Code lê pra autenticar sem navegador?

ANTHROPIC_API_KEY. Não é o VERBOO_API_KEY que a documentação do Router usa pra chamadas HTTP diretas: é a mesma variável que o resto do ecossistema Claude Code usa pra chave de API, e é ela que o gate de inicialização do Verboo Code lê primeiro. Se o valor começar com o prefixo vbk_, a CLI trata como sessão headless válida:

export ANTHROPIC_API_KEY="vbk_sua_chave_aqui"
verboo -p "rode a suite de testes e corrija o que falhar" --output-format json

A chave não é validada contra /api/me, que rejeita chaves de API. Ela é validada com Authorization: Bearer direto no endpoint do roteador, code.verboo.ai/router/v1/models. Essa escolha de endpoint está documentada na própria revisão de código que introduziu o recurso (PR #43 do repositório verbeux-ai/code): o time só trocou de endpoint depois de confirmar que o primeiro não aceitava esse tipo de chave.

Onde eu crio uma chave vbk_?

No painel em code.verboo.ai, no botão "Create API key" no canto superior direito, que leva à página de gerenciamento de chaves. Cada chave fica associada a um grupo de modelos, então vale escolher o mesmo grupo que você já usa no dia a dia antes de colar o valor no secret do CI.

Dá pra manter sessão OAuth, sem chave fixa, e sem abrir navegador no servidor?

Dá. verboo auth login --headless roda o fluxo de OAuth completo sem depender de navegador na própria máquina: a CLI imprime uma URL, você abre em qualquer outro dispositivo, confirma o login e cola de volta o código de autorização no terminal do servidor. É a opção que o próprio time descreve como "ideal para servidores/CI", mas com uma diferença importante em relação à API key: ainda existe um humano no loop, uma vez, então ela serve melhor pra um servidor persistente ou self-hosted runner do que pra um runner efêmero que nasce e morre a cada execução.

CaminhoHumano no loopMelhor para
ANTHROPIC_API_KEY=vbk_...Não, nenhuma vezRunner efêmero (GitHub Actions, GitLab CI)
verboo auth login --headlessSim, uma vez, em outro dispositivoServidor persistente ou self-hosted runner
Fluxograma do gate de autenticação headless do Verboo Code, do comando disparado pelo CI até a sessão validada ou o erro explícito
O gate de autenticação headless do Verboo Code: sem chave válida, o erro é explícito em vez de falhar em silêncio. Verificado em verbeux-ai/code, PR #43.

O que aparece na tela quando a chave está errada ou venceu?

Uma mensagem específica, não o pedido genérico de login: "API key inválida ou expirada". Se não houver chave vbk_ nem sessão OAuth num terminal sem TTY, a mensagem muda pra "Não autenticado no Verboo. Execute verboo /login em um terminal interativo antes de usar o modo headless.". As duas frases estão escritas exatamente assim no código-fonte (verbooStartupAuth.ts), com teste unitário garantindo que uma não vire a outra.

A autenticação por API key pula alguma verificação que eu deveria saber?

Sim, e é intencional. Os fluxos de aceite de termos de uso e de verificação de entitlement (o que garante que sua assinatura está ativa) dependem de endpoints que só aceitam OAuth. No caminho por API key, o Verboo Code pula os dois e vai direto pra sessão. Isso é seguro pro caso comum, mas se a sua esteira precisa bloquear a execução quando os termos mudam ou a assinatura vence, isso não vai acontecer automaticamente só com a chave.

Uma esteira de CI roda a mesma tarefa dezenas de vezes por dia, sem ninguém olhando o terminal. Na Verboo Code, cada uma dessas chamadas usa modelos abertos com token ilimitado, então rodar de novo depois de um teste falho não é decisão de orçamento.

Gostou deste artigo?
Compartilhe conhecimento com sua rede.
// Leia também

Artigos relacionados