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) | Aliases | Contexto | Max Output | Capacidades |
|---|
gpt-5.4 | — | 200K tokens | 200K tokens | 🔧 Tools |
gpt-5.3-codex | — | 200K tokens | 200K tokens | 🔧 Tools |
gpt-5.2 | — | 100K tokens | 100K tokens | 🔧 Tools |
gpt-5 | gpt-5-mini, gpt-5-nano | 50K tokens | 50K tokens | 🔧 Tools |
gpt-4o | — | 50K tokens | 50K tokens | 👁 Vision, 🔧 Tools |
gpt-4o-mini | — | 50K tokens | 50K tokens | 👁 Vision, 🔧 Tools |
gpt-4 | gpt-4.1, gpt-4.1-mini, gpt-4.1-nano | 50K tokens | 50K 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.
Grandes janelas de contexto e excelente capacidade de seguir instruções complexas. Todos os modelos suportam streaming via SSE.| Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
claude-fable-5 | fable-5, fable | 1M tokens | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking, ✉️ Mid-conv system |
claude-opus-4-8 | opus-4-8 | 1M tokens | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking, ⚡ Fast mode, ✉️ Mid-conv system, 💾 Cache mín. 1K |
claude-opus-4-7 | opus-4-7 | 1M tokens | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking |
claude-sonnet-4-7 | claude-4-7-sonnet, sonnet-4-7 | 200K tokens | 128K tokens | 👁 Vision, 🔧 Tools |
claude-opus-4-6 | opus-4-6 | 400K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
claude-sonnet-4-6 | claude-4-6-sonnet, sonnet-4-6 | 200K tokens | 128K tokens | 👁 Vision, 🔧 Tools |
claude-opus-4-5 | opus-4-5 | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
claude-sonnet-4-5 | claude-4-5-sonnet, sonnet-4-5 | 200K tokens | 128K tokens | 👁 Vision, 🔧 Tools |
claude-opus-4-1-20250805 | claude-opus-4-1, opus-4-1 | 20K tokens | 20K tokens | 🔧 Tools |
claude-opus-4-20250514 | opus-4 | 20K tokens | 20K tokens | 🔧 Tools |
claude-sonnet-4 | claude-4-sonnet, sonnet-4-20250514 | 50K tokens | 20K tokens | 👁 Vision, 🔧 Tools |
claude-sonnet-3-7-20250219 | claude-3-7-sonnet | 50K tokens | 20K tokens | 🔧 Tools |
claude-sonnet-3-5-20241022 | claude-3-5-sonnet | 50K tokens | 20K tokens | 🔧 Tools |
claude-opus-3 | claude-3-opus | 32K tokens | 20K tokens | 🔧 Tools |
claude-haiku-3 | claude-3-haiku | 42K tokens | 20K tokens | 🔧 Tools |
Claude Fable 5 (claude-fable-5) é o modelo mais capaz da Anthropic — um tier acima do Opus (10/50 por MTok). Mesma superfície de API do Opus 4.7/4.8 (adaptive thinking only, sem temperature/top_p/top_k) com uma restrição extra: thinking:{type:"disabled"} explícito retorna 400 — o campo deve ser omitido para rodar sem thinking (o client do ChatCLI já faz isso). Atalhos: /model fable. Ainda sem entrada Bedrock — o inference profile datado não foi publicado pela AWS.claude-opus-4-8 e claude-opus-4-7 vêm com 1M de contexto nativo (sem flag extra). O claude-opus-4-6 pode usar 1M de contexto configurando ANTHROPIC_1MTOKENS_SONNET=true. Modelos diferentes podem usar headers anthropic-version distintos, gerenciados automaticamente pelo catálogo. Ordem do catálogo: os entries 4.x são declarados newest-first no registry. Isso evita uma colisão de aliases em que opus-4-5, opus-4-6, opus-4-7 e opus-4-8 (digitados como shortcuts) resolviam silenciosamente para claude-opus-4-20250514 (apenas 20K de contexto) — porque o alias opus-4 do entry 4.0 era prefix de todos. Se você adicionar um Claude 4.9 / 5.x no futuro, mantenha essa ordem newest-first.
Claude Opus 4.8 — o que mudou
Lançado em 28 de maio de 2026. Mesmo perfil 1M / 128K do Opus 4.7, mas com quatro novas capabilities de lançamento que o catálogo rastreia como feature flags:| Capability | O que significa |
|---|
adaptive_thinking | Único modo de thinking aceito por 4.7+. O ChatCLI envia thinking:{type:"adaptive"} quando uma skill traz um hint effort: — o modelo decide turno-a-turno se reasoning é necessário. Mandar budget_tokens retorna HTTP 400. |
fast_mode | Research-preview com output ~2.5× mais rápido (premium pricing). Opt-in via ANTHROPIC_SPEED=fast. |
mid_conversation_system | Servidor aceita role:"system" depois do primeiro turno de user sem invalidar cache. O builder de mensagens do ChatCLI já repassa blocos system estruturados intactos. |
low_cache_minimum | Tamanho mínimo de prompt cacheável cai para 1.024 tokens (era maior em 4.7). Prompts que não qualificavam em 4.7 agora criam entradas de cache sem mudança de código. |
Skill effort: medium|high|max continua funcionando — em Opus 4.7 e 4.8 mapeia para adaptive thinking automaticamente; em 4.x/3.7 mais antigos faz fallback para budgeted extended thinking (thinking:{type:"enabled", budget_tokens:N}). Catálogo completo do AWS Bedrock — Anthropic, OpenAI, Llama, Nova, Mistral, Cohere, AI21, DeepSeek, Moonshot Kimi, MiniMax, Qwen, Z.AI/GLM, Gemma, Nemotron, TwelveLabs e qualquer provider que a AWS adicionar. A autenticação usa a credentials chain padrão do SDK AWS (IAM role, ~/.aws/credentials, env vars) — nenhuma API key dos providers originais é necessária.Modelos modernos (Claude 3.7+/4.x/4.5/4.6/4.7 e equivalentes em outros providers) não aceitam invocação on-demand direta pelo ID base — requerem um inference profile ID (prefixos global., us., eu., apac.). O ChatCLI filtra automaticamente IDs base não-invokáveis do /switch --model, então só aparece o que funciona. Veja AWS Bedrock para detalhes. | Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
global.anthropic.claude-opus-4-8-20260528-v1:0 | bedrock-opus-4-8, claude-opus-4-8 | 1M tokens | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking, ✉️ Mid-conv system, 💾 Cache mín. 1K |
global.anthropic.claude-opus-4-7-20260401-v1:0 | bedrock-opus-4-7, claude-opus-4-7 | 1M tokens | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking |
global.anthropic.claude-sonnet-4-7-20260401-v1:0 | bedrock-sonnet-4-7, claude-sonnet-4-7 | 200K tokens | 128K tokens | 👁 Vision, 🔧 Tools |
global.anthropic.claude-sonnet-4-6-20260115-v1:0 | bedrock-sonnet-4-6, claude-sonnet-4-6 | 400K tokens | 128K tokens | 👁 Vision, 🔧 Tools |
global.anthropic.claude-opus-4-6-20260115-v1:0 | bedrock-opus-4-6, claude-opus-4-6 | 400K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
global.anthropic.claude-haiku-4-5-20251001-v1:0 | bedrock-haiku-4-5, claude-haiku-4-5 | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
global.anthropic.claude-sonnet-4-5-20250929-v1:0 | bedrock-sonnet-4-5, claude-sonnet-4-5 | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
us.anthropic.claude-sonnet-4-5-20250929-v1:0 | bedrock-sonnet-4-5-us | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
global.anthropic.claude-opus-4-5-20251001-v1:0 | bedrock-opus-4-5, claude-opus-4-5 | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
us.anthropic.claude-sonnet-4-20250514-v1:0 | bedrock-sonnet-4, claude-sonnet-4 | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
eu.anthropic.claude-sonnet-4-20250514-v1:0 | bedrock-sonnet-4-eu | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
us.anthropic.claude-opus-4-20250514-v1:0 | bedrock-opus-4, claude-opus-4 | 200K tokens | 32K tokens | 👁 Vision, 🔧 Tools |
us.anthropic.claude-opus-4-1-20250805-v1:0 | bedrock-opus-4-1, claude-opus-4-1 | 200K tokens | 32K tokens | 👁 Vision, 🔧 Tools |
us.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock-sonnet-3-7, claude-3-7-sonnet | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
eu.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock-sonnet-3-7-eu | 200K tokens | 64K tokens | 👁 Vision, 🔧 Tools |
anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock-sonnet-3-5-v2 | 200K tokens | 8K tokens | 👁 Vision, 🔧 Tools |
anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock-sonnet-3-5-v1 | 200K tokens | 8K tokens | 👁 Vision, 🔧 Tools |
anthropic.claude-3-5-haiku-20241022-v1:0 | bedrock-haiku-3-5, claude-3-5-haiku | 200K tokens | 8K tokens | 🔧 Tools |
anthropic.claude-3-opus-20240229-v1:0 | bedrock-opus-3, claude-3-opus | 200K tokens | 4K tokens | 👁 Vision, 🔧 Tools |
anthropic.claude-3-haiku-20240307-v1:0 | bedrock-haiku-3, claude-3-haiku | 200K tokens | 4K tokens | 👁 Vision, 🔧 Tools |
OpenAI GPT-OSS (open-weights) — modelos OpenAI hospedados no Bedrock. Usam schema OpenAI Chat Completions (auto-detectado pelo prefixo openai.*, ou forçado via BEDROCK_PROVIDER=openai).| Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
openai.gpt-oss-120b-1:0 | bedrock-gpt-oss-120b, gpt-oss-120b | 128K tokens | 16K tokens | 🔧 Tools, 📋 JSON |
openai.gpt-oss-20b-1:0 | bedrock-gpt-oss-20b, gpt-oss-20b | 128K tokens | 16K tokens | 🔧 Tools, 📋 JSON |
Outros providers via Converse API — Llama, Nova, Mistral, Cohere, AI21, DeepSeek, Moonshot Kimi, MiniMax, Qwen, Z.AI/GLM, Gemma, Nemotron, TwelveLabs etc. não estão hardcoded no catálogo — eles aparecem dinamicamente no /switch --model conforme sua conta AWS tem acesso. O ChatCLI roteia esses modelos pela Converse API da AWS (schema unificado), então adicionar provider novo não exige release.Exemplos de IDs vistos no ListFoundationModels (a lista real depende da sua conta + região):| Provider | Exemplo de Model ID |
|---|
| Moonshot AI | moonshotai.kimi-k2.5, moonshotai.kimi-k2-thinking |
| MiniMax | minimax.m-2-5, minimax.m-2 |
| Z.AI | zai.glm-4-7, zai.glm-4-7-flash |
| Qwen | qwen.qwen3-32b, qwen.qwen3-coder-480b |
| Meta Llama | meta.llama3-70b-instruct-v1:0, us.meta.llama3-1-70b-... |
| Amazon Nova | amazon.nova-pro-v1:0, amazon.nova-lite-v1:0 |
| Mistral | mistral.mistral-large-2407-v1:0 |
| DeepSeek | us.deepseek.r1-v1:0 |
| Google | google.gemma-3-27b-pt |
| NVIDIA | nvidia.nemotron-nano-9b-v2 |
| TwelveLabs | twelvelabs.pegasus-v1.2 |
A lista dinâmica (/switch --model) combina bedrock:ListFoundationModels (com filtro ByOutputModality: TEXT + InferenceTypesSupported: ON_DEMAND) e bedrock:ListInferenceProfiles com o catálogo estático acima. Sem allowlist — qualquer provider Bedrock que sua conta tem acesso aparece automaticamente. Use o comando para ver o que sua conta AWS realmente pode invocar na região configurada.
Embeddings via Bedrock — amazon.titan-embed-text-v2:0 (default, 1024-dim, configurável 256/512/1024), amazon.titan-embed-text-v1 (1536-dim) e Cohere cohere.embed-english-v3 / cohere.embed-multilingual-v3 (1024-dim). Ative com CHATCLI_EMBED_PROVIDER=bedrock. Veja RAG + HyDE. Capacidades multimodais avançadas e janelas de contexto massivas. Suportam streaming via SSE.| Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
gemini-3 | gemini-3-pro, gemini-3-pro-preview | 2M tokens | 2M tokens | 👁 Vision, 🔧 Tools, 📋 JSON, 💻 Code Exec |
gemini-2.5-pro | gemini-2.5-pro-latest | 2M tokens | 2M tokens | 👁 Vision, 🔧 Tools, 📋 JSON, 💻 Code Exec |
gemini-2.5-flash | — | 1M tokens | 1M tokens | 👁 Vision, 🔧 Tools, 📋 JSON |
gemini-2.5-flash-lite | — | 1M tokens | 1M tokens | — |
gemini-2.0-flash | — | 1M tokens | 1M tokens | 👁 Vision, 🔧 Tools, 📋 JSON |
gemini-2.0-flash-lite | — | 1M tokens | 1M tokens | — |
O Gemini 3 também suporta Multimodal Live para interações em tempo real. Modelos com JSON Mode podem retornar saída estruturada via response_mime_type.
Integração de informações em tempo real e grandes janelas de contexto. Suportam streaming.| Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
grok-4-1 | grok-4-1-fast | 2M tokens | — | — |
grok-4-fast | grok-4-fast-reasoning-latest, grok-4-0709 | 2M tokens | — | — |
grok-3 | — | 128K tokens | — | — |
grok-3-mini | — | 128K tokens | — | — |
grok-code-fast-1 | — | 200K tokens | — | — |
Os modelos Grok usam a API compatível com OpenAI. Limites de output são gerenciados pelo provedor.
Use modelos da plataforma Copilot com sua assinatura (Individual, Business, Enterprise). Autentique via /auth login github-copilot.A tabela abaixo mostra os modelos registrados no catálogo estático. Com a listagem dinâmica, o ChatCLI consulta a API do Copilot e descobre automaticamente todos os modelos disponíveis para sua conta.| Modelo (ID) | Contexto |
|---|
gpt-4o | 128K tokens |
gpt-4o-mini | 128K tokens |
claude-sonnet-4 | 128K tokens |
gemini-2.0-flash | 128K tokens |
| + modelos dinâmicos | via API |
Os modelos disponíveis variam conforme o plano e a região. Use /switch --model para ver a lista completa obtida diretamente da API do Copilot.
Modelos da Zhipu AI (z.ai) com excelente custo-benefício. API compatível com OpenAI.| Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
glm-5 | — | 128K tokens | 128K tokens | 🔧 Tools, 👁 Vision |
glm-4.7 | — | 202K tokens | 65K tokens | 🔧 Tools |
glm-4.5 | — | 128K tokens | 98K tokens | 🔧 Tools |
glm-4.5-flash | — | 128K tokens | 16K tokens | 🔧 Tools |
glm-5v-turbo | — | 128K tokens | — | 🔧 Tools, 👁 Vision |
glm-4.5v | — | 128K tokens | — | 👁 Vision |
codegeex-4 | — | 128K tokens | — | 🔧 Tools |
A API da ZAI é compatível com o formato OpenAI. O endpoint de listagem de modelos (/models) filtra automaticamente os modelos glm-, codegeex, cogview* e charglm*.
Autenticação JWT automática: Chaves no formato id.secret ativam automaticamente a rotação de tokens JWT (HMAC-SHA256), cacheados por 30 minutos. Chaves sem ”.” funcionam como Bearer tokens tradicionais. Sem configuração adicional necessária.
Modelos da MiniMax com grandes janelas de contexto e alto throughput. API compatível com OpenAI.| Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
MiniMax-M2.7 | — | 204K tokens | 131K tokens | 🔧 Tools, 👁 Vision |
MiniMax-M2.7-highspeed | — | 204K tokens | — | 🔧 Tools, 👁 Vision |
MiniMax-M2.5 | — | 196K tokens | 65K tokens | 🔧 Tools, 👁 Vision |
MiniMax-M2.5-highspeed | — | 196K tokens | — | 🔧 Tools, 👁 Vision |
MiniMax-Text-01 | — | 128K tokens | 2K tokens | 📋 JSON Mode |
Os IDs dos modelos MiniMax são case-sensitive! Use exatamente MiniMax-M2.7, não minimax-m2.7.
Endpoint Anthropic-compatível: Defina MINIMAX_API_COMPAT=anthropic para usar o endpoint https://api.minimax.io/anthropic/v1/messages com formato Anthropic Messages. O tool use nativo é desabilitado neste modo (fallback para XML). A listagem de modelos continua usando o endpoint nativo.
Família Kimi da Moonshot AI — MoE 1T parâmetros / 32B ativos no flagship K2.6, com janela de 256K tokens, vision encoder MoonViT nativo e modo “thinking” explícito. API OpenAI-compatible em https://api.moonshot.ai/v1/chat/completions.| Modelo (ID) | Aliases | Contexto | Max Output | Capacidades |
|---|
kimi-k2.6 | kimi-k2-6, k2.6, k2-6 | 256K tokens | 131K tokens | 🔧 Tools, 👁 Vision, 🧠 Thinking, 📋 JSON Mode |
kimi-k2.5 | kimi-k2-5, k2.5, k2-5 | 256K tokens | 96K tokens | 🔧 Tools, 👁 Vision, 🧠 Thinking, 📋 JSON Mode |
kimi-latest | — | 256K tokens | 131K tokens | 🔧 Tools, 👁 Vision, 🧠 Thinking, 📋 JSON Mode |
kimi-k2-turbo-preview | kimi-k2-turbo | 256K tokens | 65K tokens | 🔧 Tools, 📋 JSON Mode |
kimi-thinking-preview | — | 128K tokens | 65K tokens | 🔧 Tools, 🧠 Thinking, 📋 JSON Mode |
moonshot-v1-128k | — | 128K tokens | 32K tokens | 🔧 Tools, 📋 JSON Mode |
moonshot-v1-32k | — | 32K tokens | 16K tokens | 🔧 Tools, 📋 JSON Mode |
moonshot-v1-8k | — | 8K tokens | 4K tokens | 🔧 Tools, 📋 JSON Mode |
Modo thinking: Defina MOONSHOT_THINKING=enabled|disabled|auto para alternar entre Thinking (reasoning explícito, padrão em K2.6/K2.5) e Instant (resposta direta, mais barata). O default auto deixa o modelo escolher; modelos sem capability thinking ignoram a flag.
Preço público (mai/2026): kimi-k2.6 cobra 0.95/Mtokensdeentrada(cachemiss)e4.00/M de saída. Cache-hit em entrada cai para $0.16/M, mas o cost tracker do ChatCLI usa o preço de cache miss para ser conservador. Aceita todos os modelos compatíveis na plataforma StackSpotAI, selecionados junto à criação do Agent.
Suporta qualquer modelo local via Ollama. Configure no .env:OLLAMA_ENABLED=true
OLLAMA_MODEL="llama3"
Ou troque interativamente: /switch --model llama3Use ollama pull <modelo> para baixar novos modelos. Gateway multi-provedor que dá acesso a 200+ modelos de OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek e outros através de uma única API key. API compatível com OpenAI em https://openrouter.ai/api/v1/chat/completions.Os modelos usam o formato provedor/nome-do-modelo:| Modelo (ID) | Provedor Original | Capacidades |
|---|
openai/gpt-4o | OpenAI | 👁 Vision, 🔧 Tools |
openai/gpt-4o-mini | OpenAI | 👁 Vision, 🔧 Tools |
anthropic/claude-sonnet-4 | Anthropic | 👁 Vision, 🔧 Tools |
anthropic/claude-opus-4 | Anthropic | 👁 Vision, 🔧 Tools |
google/gemini-2.5-pro | Google | 👁 Vision, 🔧 Tools |
google/gemini-2.5-flash | Google | 🔧 Tools |
meta-llama/llama-4-maverick | Meta | 🔧 Tools |
deepseek/deepseek-r1 | DeepSeek | 🔧 Tools |
mistralai/mistral-large | Mistral | 🔧 Tools |
A tabela acima mostra apenas os modelos mais populares. O OpenRouter oferece 200+ modelos que são descobertos dinamicamente via o endpoint /api/v1/models. Use /switch --model para ver a lista completa.
O OpenRouter possui roteamento de fallback nativo: configure OPENROUTER_FALLBACK_MODELS com uma lista de modelos alternativos separados por vírgula. Se o modelo principal falhar, o OpenRouter tenta automaticamente os modelos da lista — complementar ao fallback de provedores do ChatCLI.
Como funciona a seleção de modelo
O ChatCLI determina qual modelo usar com a seguinte prioridade (do mais alto para o mais baixo):
- Flag
--model na linha de comando: chatcli --model gpt-5.4
- Comando
/switch durante a sessão: /switch --model claude-sonnet-4-6
- Variável de ambiente
MODEL: define o modelo padrão
- Variável de ambiente
LLM_PROVIDER: determina o provedor (openai, anthropic, google, xai, openrouter, etc.)
- 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 digitado | Modelo resolvido |
|---|
claude-4-5-sonnet | claude-sonnet-4-5 |
sonnet-4-5 | claude-sonnet-4-5 |
opus-4-6 | claude-opus-4-6 |
opus-4-7 | claude-opus-4-7 |
opus-4-8 | claude-opus-4-8 |
sonnet-4-7 | claude-sonnet-4-7 |
gpt-5-mini | gpt-5 (variante mini) |
gemini-3-pro | gemini-3 |
Aliases são definidos no catálogo de modelos e aceitos em todos os contextos: --model, /switch, e variável MODEL.
Sistema de catálogo
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
- 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
- Os modelos descobertos são cacheados para uso no autocomplete do comando
/switch --model
- Cada sugestão indica a origem:
[API] (dinâmico) ou [catalog] (estático)
Endpoints por provedor
| Provedor | Endpoint | Auth |
|---|
| OpenAI | GET /v1/models | API Key ou OAuth |
| Anthropic | GET /v1/models | API Key ou OAuth |
| Google AI | GET /v1beta/models | API Key |
| xAI | GET /v1/models | API Key |
| ZAI (Zhipu AI) | GET /models | API Key (Bearer) |
| MiniMax | GET /models | API Key (Bearer) |
| Moonshot (Kimi) | GET /v1/models | API Key (Bearer) |
| GitHub Copilot | GET /models | OAuth (Device Flow) |
| OpenRouter | GET /api/v1/models | API Key |
| Ollama | GET /api/tags | Sem auth (local) |
| StackSpot | — | Nã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