Skip to main content
O OpenCode lê uma entrada de provedor de um arquivo JSON, sem alteração de código-fonte e sem fork. O OpenCode pode definir start_within na configuração, então uma chave de agente é opcional aqui. A chave ainda é o caminho mais simples, porque ela muda sem um reinício. Veja chaves de agente.

Configure isso com um agente

Abra o bloco abaixo e copie-o para qualquer agente de codificação. O prompt nunca pede sua chave de API: o agente configura todo o resto e, em seguida, imprime a linha de exportação para você executar.

Configurar o OpenCode

  1. Exporte a chave no shell que inicia o OpenCode.
  1. Escreva a entrada do provedor em opencode.json.
  1. Inicie o OpenCode usando esse arquivo.
Quatro campos contêm a integração. npm seleciona o pacote compatível com OpenAI. options.baseURL envia as requisições para o roteador. options.apiKey lê a chave do ambiente. Cada chave em models é um slug que executamos. Adicione um modelo adicionando uma chave em models. Todo o resto na entrada é exibição e limites.

Global ou por projeto

Coloque a entrada do provedor em um de dois lugares, dependendo de quão amplamente você deseja que ela se aplique. A configuração do projeto prevalece sobre a global. O OpenCode procura por opencode.json no diretório de trabalho e sobe até o diretório Git mais próximo, então um repositório pode substituir seu provedor em toda a máquina sem tocá-lo. Coloque a entrada do provedor no arquivo global e o prazo permanece o mesmo em todos os lugares. Coloque-o em um arquivo de projeto e apenas aquele repositório roteia através de nós. Defina OPENCODE_DISABLE_PROJECT_CONFIG para interromper a busca ascendente. Existem mais duas fontes para bundles e automação. OPENCODE_CONFIG_DIR nomeia um diretório de onde o OpenCode lê a configuração, e OPENCODE_CONFIG_CONTENT contém o JSON inline. Use OPENCODE_CONFIG para um arquivo que você opta por usar por execução.

Defina o prazo na configuração em vez disso

O OpenCode pode enviar start_within por si mesmo. Ambos os lugares são JSON simples, e ambos superam a chave. Defina-o por modelo. O bloco options vai para o corpo da requisição para aquele modelo.
Defina-o por variante, para alternar sem mudar o modelo. Escolha um com --variant em opencode run, ou alterne-os na TUI com ctrl+t.
Uma duração aqui falha em um modelo que não pode competir. A mesma duração na chave retorna a um padrão. Essa é a razão para preferir a chave.

Confirme que a chave foi aplicada

Toda resposta vem com x-flexinference-defaults-applied. O OpenCode não mostra os cabeçalhos de resposta na TUI, então leia a requisição no painel em Logs em vez disso.

Solução de problemas

As requisições nunca nos alcançam. O campo model de nível superior é o que seleciona o provedor, então definir um provedor sem nomeá-lo lá deixa o OpenCode em seu padrão embutido. Defina "model": "flexinference/<slug>". 401 invalid_api_key. FLEXINFERENCE_API_KEY não está definido no shell que iniciou o OpenCode. Exporte-o antes de iniciar, já que options.apiKey o lê do ambiente. 400 unsupported_parameter. Um parâmetro de Chat Completions que não traduzimos estava nas options de um modelo, como seed ou stop. Remova-o da entrada. 400 key_default_not_applicable. Sua chave contém uma duração e um desses parâmetros veio junto. Edite a chave para um nível ou remova o parâmetro. 400 flex_unsupported_for_anthropic. Uma duração em options alcançou um modelo claude-* em sua própria chave Anthropic. A corrida que uma duração Claude executa requer chaves gerenciadas. Remova a duração e deixe a chave manter o prazo, já que uma duração de chave retorna a um padrão. Uma edição de configuração não mudou nada. Uma fonte de configuração posterior a substituiu. Verifique a ordem de busca acima e prefira OPENCODE_CONFIG para optar por um arquivo por execução. Veja erros para cada recusa que retornamos, e chaves de agente para aquelas que não são específicas do OpenCode. OpenWork e OpenScience leem a mesma entrada de provedor.