Skip to content

Provedores e modelos

O Jarvis Code CLI suporta conectar-se a várias plataformas de LLM ao mesmo tempo — login em um clique pelo serviço gerenciado Jarvis Code, conexão ao Claude com uma chave de API da Anthropic, ou conexão a serviços de inferência de terceiros pelo protocolo compatível com OpenAI. Cada provedor corresponde a um protocolo de API específico; modelos são declarados sobre provedores, com nome, tamanho de contexto e capacidades próprios. Esta página explica como configurar cada tipo de provedor no config.toml.

Tipos de provedor suportados

O campo type da tabela providers determina qual implementação de protocolo será usada:

TipoProtocoloUso típico
kimiCompatível com OpenAIServiço gerenciado Jarvis Code, chave de API da Kimi Open Platform
anthropicAnthropic MessagesFamília de modelos Claude
openaiOpenAI Chat CompletionsOpenAI e serviços compatíveis, DeepSeek, Qwen etc.
openai_responsesOpenAI Responses APIA interface Responses mais recente da OpenAI
google-genaiGoogle GenAIAPI Gemini
vertexaiGoogle GenAI no VertexGoogle Cloud Vertex AI

Todos os provedores se comunicam com os modelos em modo streaming por padrão. Capacidades como raciocínio, visão e uso de ferramentas são identificadas automaticamente pelo prefixo do nome do modelo — normalmente você não precisa declará-las manualmente.

Prioridade de credenciais: campo direto api_key > chave da subtabela [providers.<name>.env] > se ambos estiverem ausentes, a inicialização falha com erro. O CLI não recorre a variáveis de ambiente do shell para credenciais — veja Sobrescritas de configuração: credenciais de provedor.

/provider — gerenciamento interativo de provedores

Prefere não editar TOML à mão? Digite /provider na TUI para abrir o gerenciador de provedores, onde você adiciona ou remove provedores de forma interativa.

O gerenciador exibe os provedores como uma lista de entradas agrupadas por origem. Navegação:

  • ↑/↓ para mover o cursor, ←/→ para paginar
  • d para apagar o provedor atual (com confirmação [y/N])
  • Pressione Enter na linha [ Add New Platform ] para adicionar um novo provedor

Há dois caminhos ao adicionar:

  • Provedor de terceiros conhecido: busca o catálogo de modelos em models.dev; selecione um provedor, informe uma chave de API e escolha um modelo padrão. Fornecedores cujo protocolo o catálogo não declara (por exemplo xai, openrouter e outros SDKs específicos) são importados como compatíveis com OpenAI, com uma observação de que o protocolo foi inferido; quando o catálogo não oferece um endpoint utilizável, um prompt de base URL aparece antes; protocolos proprietários (Amazon Bedrock, Cohere) e protocolos explícitos não reconhecidos são recusados. Modelos depreciados e em estado alpha ficam fora da lista de importação. Se o catálogo público estiver inacessível, o CLI recorre a um instantâneo embutido do catálogo, então a importação funciona mesmo offline ou em redes bloqueadas
  • Registro personalizado (api.json): cole a URL de um registro personalizado e o token Bearer; o CLI cria automaticamente as entradas de providers e models. Nas inicializações seguintes, provedores da mesma URL de registro são atualizados em conjunto, então adições, remoções e mudanças de metadados de modelo feitas na origem são sincronizadas.

WARNING

Contas gerenciadas por OAuth do Jarvis Code, autenticadas por /login, não aparecem em /provider. Use /login e /logout para gerenciá-las.

As mesmas operações estão disponíveis em ambientes não interativos pelo comando de shell: jarvis provider.

kimi

kimi é o nome de um protocolo de comunicação, não do CLI. Ele se conecta à interface compatível com OpenAI da Moonshot AI e sustenta tanto o serviço gerenciado Jarvis Code quanto uma chave de API direta da Kimi Open Platform.

  • base_url padrão: https://api.moonshot.ai/v1
  • Nomes de chave de credencial: JARVIS_API_KEY, JARVIS_BASE_URL
  • Capacidade adicional: suporta upload de vídeo
toml
[providers.kimi]
type = "kimi"
base_url = "https://api.moonshot.ai/v1"
api_key = "sk-xxxxx"

Ao usar o serviço gerenciado Jarvis Code, executar /login configura automaticamente base_url e credenciais — não é preciso ajuste manual.

anthropic

Para conectar à API do Claude. Modelos Claude padrão habilitam automaticamente visão, uso de ferramentas e raciocínio (onde suportado); modelos personalizados ou não cobertos precisam de capabilities declaradas explicitamente em [models.<alias>].

  • base_url padrão: segue o padrão do SDK da Anthropic
  • Nomes de chave de credencial: ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL
  • max_tokens padrão: inferido por modelo. Para sobrescrever, defina max_output_size no alias do modelo
toml
[providers.anthropic]
type = "anthropic"
api_key = "sk-ant-xxxxx"

[models."claude-opus-4-7"]
provider = "anthropic"
model = "claude-opus-4-7"
max_context_size = 200000
# max_output_size = 32000  # opcional; omita para usar o padrão inferido do modelo

openai

Para conectar ao protocolo OpenAI Chat Completions, bem como a qualquer serviço de terceiros compatível com ele (sobrescreva base_url conforme necessário).

Modelos de raciocínio de terceiros (DeepSeek, Qwen, One API etc.) funcionam de imediato: o CLI trata automaticamente o campo reasoning_content e a injeção de reasoning_effort. Se o seu gateway devolve o conteúdo de raciocínio em um campo com nome fora do padrão, defina reasoning_key no alias do modelo para sobrescrever.

  • base_url padrão: https://api.openai.com/v1
  • Nomes de chave de credencial: OPENAI_API_KEY, OPENAI_BASE_URL
toml
[providers.openai]
type = "openai"
base_url = "https://api.openai.com/v1"
api_key = "sk-xxxxx"

openai_responses

Corresponde à API Responses mais recente da OpenAI, sempre operando em modo streaming. A configuração é a mesma de openai.

  • base_url padrão: https://api.openai.com/v1
  • Nomes de chave de credencial: OPENAI_API_KEY, OPENAI_BASE_URL
toml
[providers.openai-responses]
type = "openai_responses"
base_url = "https://api.openai.com/v1"
api_key = "sk-xxxxx"

google-genai

Para conectar diretamente à API Google Gemini. Raciocínio, visão e capacidades multimodais são detectados automaticamente pelo nome do modelo.

  • Nome de chave de credencial: GOOGLE_API_KEY
toml
[providers.gemini]
type = "google-genai"
api_key = "xxxxx"

Para passar por um proxy ou gateway compatível com Gemini, defina base_url (ou a variável de ambiente GOOGLE_GEMINI_BASE_URL); quando omitido, o padrão do SDK https://generativelanguage.googleapis.com é usado.

Informe apenas a raiz do host. O SDK Google GenAI acrescenta a versão da API e o caminho por conta própria (por exemplo /v1beta/models/<model>:generateContent), então um /v1beta no final produziria /v1beta/v1beta/… duplicado.

toml
[providers.gemini]
type = "google-genai"
api_key = "xxxxx"
base_url = "https://seu-gateway.example"

vertexai

Compartilha a mesma implementação de google-genai; definir type = "vertexai" troca para o caminho de acesso do Vertex AI.

A autenticação segue o fluxo padrão ADC do Google Cloud (gcloud auth application-default login ou um JSON de conta de serviço em GOOGLE_APPLICATION_CREDENTIALS) — essa parte não tem relação com o Jarvis Code. O ID do projeto e a região precisam ser escritos na subtabela [providers.vertexai.env] — apenas usar export GOOGLE_CLOUD_PROJECT no shell não será lido pelo CLI.

toml
[providers.vertexai]
type = "vertexai"

[providers.vertexai.env]
GOOGLE_CLOUD_PROJECT = "meu-projeto-gcp"
GOOGLE_CLOUD_LOCATION = "us-central1"
sh
gcloud auth application-default login   # autenticação única
jarvis

Para rotear requisições Vertex por um endpoint personalizado (por exemplo, com proxy), defina base_url (ou a variável de ambiente GOOGLE_VERTEX_BASE_URL); quando omitido, o host regional padrão do SDK *-aiplatform.googleapis.com é usado. Como em google-genai, informe apenas a raiz do host — o SDK acrescenta /v1beta1/publishers/google/models/… sozinho.

OAuth e injeção de credenciais

O serviço gerenciado Jarvis Code usa OAuth em vez de chaves de API estáticas. Depois de executar /login, a cadeia de autenticação embutida escreve e renova as credenciais automaticamente — nenhuma configuração manual é necessária no config.toml para isso.

Próximos passos