Pular para o conteúdo principal
O ChatCLI suporta uma ampla gama de modelos dos principais provedores de IA. Troque de modelo a qualquer momento com /switch --model <nome>. Legenda de capacidades:
  • 👁 Vision — aceita imagens como entrada
  • 🔧 Tools — uso nativo de ferramentas (function calling)
  • 📋 JSON Mode — saída JSON estruturada garantida
  • 💻 Code Exec — execução de código nativa no provedor
Todos os provedores suportam streaming via SSE (Server-Sent Events). O ChatCLI habilita streaming automaticamente.
Modelos ideais para geração de código e raciocínio complexo. Suportam tanto a Chat Completions API quanto a Responses API.
Modelo (ID)AliasesContextoMax OutputCapacidades
gpt-5.4200K tokens200K tokens🔧 Tools
gpt-5.3-codex200K tokens200K tokens🔧 Tools
gpt-5.2100K tokens100K tokens🔧 Tools
gpt-5gpt-5-mini, gpt-5-nano50K tokens50K tokens🔧 Tools
gpt-4o50K tokens50K tokens👁 Vision, 🔧 Tools
gpt-4o-mini50K tokens50K tokens👁 Vision, 🔧 Tools
gpt-4gpt-4.1, gpt-4.1-mini, gpt-4.1-nano50K tokens50K tokens🔧 Tools
O ChatCLI usa a Chat Completions API por padrão. A Responses API pode ser configurada via OPENAI_API_VERSION. Streaming habilitado para todos os modelos.

Como funciona a seleção de modelo

O ChatCLI determina qual modelo usar com a seguinte prioridade (do mais alto para o mais baixo):
  1. Flag --model na linha de comando: chatcli --model gpt-5.4
  2. Comando /switch durante a sessão: /switch --model claude-sonnet-4-6
  3. Variável de ambiente MODEL: define o modelo padrão
  4. Variável de ambiente LLM_PROVIDER: determina o provedor (openai, anthropic, google, xai, openrouter, etc.)
  5. Modelo padrão do provedor: cada provedor tem um modelo padrão definido no catálogo
# Exemplo: definir provedor e modelo via .env
LLM_PROVIDER=anthropic
MODEL=claude-sonnet-4-6

Aliases de modelos

Cada modelo possui aliases que facilitam a digitação. O ChatCLI resolve aliases automaticamente para o ID canônico do modelo. Por exemplo:
Alias digitadoModelo resolvido
claude-4-5-sonnetclaude-sonnet-4-5
sonnet-4-5claude-sonnet-4-5
opus-4-6claude-opus-4-6
opus-4-7claude-opus-4-7
opus-4-8claude-opus-4-8
sonnet-4-7claude-sonnet-4-7
gpt-5-minigpt-5 (variante mini)
gemini-3-progemini-3
Aliases são definidos no catálogo de modelos e aceitos em todos os contextos: --model, /switch, e variável MODEL. Os modelos são registrados no pacote llm/catalog com metadados completos. O ChatCLI usa o catálogo para determinar automaticamente:
  • Versão da API — qual endpoint e versão de protocolo usar para cada modelo
  • Max tokens — limites de contexto e output para gerenciar prompts e respostas
  • Capacidades — quais funcionalidades estão disponíveis (vision, tools, JSON mode, etc.)
  • Headers específicos — por exemplo, o header anthropic-version varia conforme o modelo
Isso significa que ao trocar de modelo, o ChatCLI ajusta automaticamente todos os parâmetros de requisição sem necessidade de configuração manual.

Listagem dinâmica de modelos

O ChatCLI busca os modelos disponíveis diretamente da API de cada provedor, usando o token ou API key configurada. Isso garante que você veja exatamente os modelos que sua conta tem acesso — incluindo modelos novos que ainda não estão no catálogo estático.

Como funciona

  1. Ao iniciar o ChatCLI ou trocar de provedor (via /switch, /auth login, etc.), uma busca em background consulta o endpoint de modelos do provedor ativo
  2. Os modelos descobertos são cacheados para uso no autocomplete do comando /switch --model
  3. Cada sugestão indica a origem: [API] (dinâmico) ou [catalog] (estático)

Endpoints por provedor

ProvedorEndpointAuth
OpenAIGET /v1/modelsAPI Key ou OAuth
AnthropicGET /v1/modelsAPI Key ou OAuth
Google AIGET /v1beta/modelsAPI Key
xAIGET /v1/modelsAPI Key
ZAI (Zhipu AI)GET /modelsAPI Key (Bearer)
MiniMaxGET /modelsAPI Key (Bearer)
Moonshot (Kimi)GET /v1/modelsAPI Key (Bearer)
GitHub CopilotGET /modelsOAuth (Device Flow)
OpenRouterGET /api/v1/modelsAPI Key
OllamaGET /api/tagsSem auth (local)
StackSpotNão suportado (modelo fixo por agent)

Autocomplete inteligente

Ao digitar /switch --model e pressionar Tab, o ChatCLI sugere os modelos disponíveis:
> /switch --model [Tab]
  gpt-4o           GPT-4o (Copilot) [API]
  claude-sonnet-4  Claude Sonnet 4 (Copilot) [API]
  o4-mini          o4-mini (Copilot) [API]
Se a API não estiver acessível, o fallback é o catálogo estático:
> /switch --model [Tab]
  gpt-4o           GPT-4o (Copilot) [catalog]
  gpt-4o-mini      GPT-4o mini (Copilot) [catalog]
Ao dar Enter com /switch --model sem valor, o ChatCLI lista todos os modelos disponíveis com indicação de origem (API ou catalog).

OAuth e listagem dinâmica

A listagem funciona tanto com API key quanto com OAuth:
  • Anthropic OAuth: usa ?beta=true e headers Chrome-like, com decompressão gzip automática
  • OpenAI OAuth: consulta o backend do ChatGPT (/backend-api/models) em vez do endpoint padrão
  • GitHub Copilot OAuth: usa o Device Flow token para consultar api.githubcopilot.com/models
Após um /auth login, o cache de modelos é atualizado automaticamente para refletir o novo provedor.

Versionamento da API Anthropic

Modelos Claude podem usar diferentes valores de anthropic-version no header da API. O catálogo gerencia isso automaticamente:
  • Modelos mais recentes (claude-opus-4-8, claude-opus-4-7, claude-sonnet-4-6) usam a versão mais atual da API
  • Modelos legados (claude-3-opus, claude-3-haiku) podem usar versões anteriores para compatibilidade
  • O ChatCLI envia o header correto para cada modelo sem necessidade de intervenção do usuário