> ## Documentation Index
> Fetch the complete documentation index at: https://chatcli.edilsonfreitas.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Modelos de IA Suportados

> Referência completa dos modelos de IA suportados nativamente pelo ChatCLI em cada provedor, com capacidades, limites de output e detalhes de API.

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.

***

<Tabs>
  <Tab title="OpenAI">
    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            |

    <Info>
      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.
    </Info>
  </Tab>

  <Tab title="Anthropic (Claude)">
    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-sonnet-5`            | `sonnet-5`, `claude-5-sonnet`          | **1M tokens** | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking                                                    |
    | `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`      | **1M tokens** | 64K tokens  | 👁 Vision, 🔧 Tools                                                                          |
    | `claude-opus-4-6`            | `opus-4-6`                             | **1M tokens** | 128K tokens | 👁 Vision, 🔧 Tools                                                                          |
    | `claude-sonnet-4-6`          | `claude-4-6-sonnet`, `sonnet-4-6`      | **1M tokens** | 64K tokens  | 👁 Vision, 🔧 Tools                                                                          |
    | `claude-haiku-4-5-20251001`  | `claude-haiku-4-5`, `haiku-4-5`        | 200K tokens   | 64K 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   | 64K tokens  | 👁 Vision, 🔧 Tools                                                                          |
    | `claude-opus-4-1-20250805`   | `claude-opus-4-1`, `opus-4-1`          | 200K tokens   | 32K tokens  | 🔧 Tools                                                                                     |
    | `claude-opus-4-20250514`     | `opus-4`                               | 200K tokens   | 32K tokens  | 🔧 Tools                                                                                     |
    | `claude-sonnet-4`            | `claude-4-sonnet`, `sonnet-4-20250514` | 200K tokens   | 64K tokens  | 👁 Vision, 🔧 Tools                                                                          |
    | `claude-sonnet-3-7-20250219` | `claude-3-7-sonnet`                    | 200K tokens   | 8K tokens   | 🔧 Tools                                                                                     |
    | `claude-sonnet-3-5-20241022` | `claude-3-5-sonnet`                    | 200K tokens   | 8K tokens   | 🔧 Tools                                                                                     |
    | `claude-opus-3`              | `claude-3-opus`                        | 200K tokens   | 4K tokens   | 🔧 Tools                                                                                     |
    | `claude-haiku-3`             | `claude-3-haiku`                       | 200K tokens   | 4K tokens   | 🔧 Tools                                                                                     |

    <Info>
      **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`. Também disponível no **Bedrock** como `anthropic.claude-fable-5` (ID dateless — a nova geração não tem IDs ARN-versionados).

      **Claude Sonnet 5** (`claude-sonnet-5`) é o sucessor do tier Sonnet (a Anthropic pulou 4.7/4.8 no Sonnet): 1M de contexto, 128K de output, adaptive thinking, $3/$15 por MTok (preço introdutório $2/$10 até 31/ago/2026). No **Bedrock** é servido exclusivamente pelo endpoint Messages (`anthropic.claude-sonnet-5`) — o ChatCLI roteia automaticamente; veja a aba AWS Bedrock.

      `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.
    </Info>

    <Note>
      **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.
    </Note>

    ### 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}`).
  </Tab>

  <Tab title="AWS Bedrock (catálogo completo)">
    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.

    <Warning>
      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](/pt/features/bedrock) para detalhes.
    </Warning>

    <Note>
      **Nova geração = IDs dateless.** Fable 5, Sonnet 5, Opus 4.8 e Opus 4.7 **não têm IDs ARN-versionados** no Bedrock — os IDs são `anthropic.claude-fable-5`, `anthropic.claude-sonnet-5`, `anthropic.claude-opus-4-8` e `anthropic.claude-opus-4-7`. Os IDs datados antigos (ex.: `global.anthropic.claude-opus-4-8-20260528-v1:0`) continuam resolvendo como aliases. **Sonnet 5 é exclusivo do endpoint Messages** (`bedrock-mantle.{região}.api.aws/anthropic/v1/messages`) — o ChatCLI detecta e roteia automaticamente (SigV4 `bedrock-mantle` ou `AWS_BEARER_TOKEN_BEDROCK`); veja [AWS Bedrock](/pt/features/bedrock).
    </Note>

    | Modelo (ID)                                        | Aliases                                           | Contexto      | Max Output  | Capacidades                                                   |
    | :------------------------------------------------- | :------------------------------------------------ | :------------ | :---------- | :------------------------------------------------------------ |
    | `anthropic.claude-fable-5`                         | `bedrock-fable-5`, `claude-fable-5`, `fable-5`    | **1M tokens** | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking                     |
    | `anthropic.claude-sonnet-5`                        | `bedrock-sonnet-5`, `claude-sonnet-5`, `sonnet-5` | **1M tokens** | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking (endpoint Messages) |
    | `anthropic.claude-opus-4-8`                        | `bedrock-opus-4-8`, `claude-opus-4-8`             | **1M tokens** | 128K tokens | 👁 Vision, 🔧 Tools, 🧠 Adaptive thinking, 💾 Cache mín. 1K   |
    | `anthropic.claude-opus-4-7`                        | `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`         | **1M tokens** | 64K tokens  | 👁 Vision, 🔧 Tools                                           |
    | `global.anthropic.claude-sonnet-4-6`               | `bedrock-sonnet-4-6`, `claude-sonnet-4-6`         | **1M tokens** | 64K tokens  | 👁 Vision, 🔧 Tools                                           |
    | `global.anthropic.claude-opus-4-6-v1`              | `bedrock-opus-4-6`, `claude-opus-4-6`             | **1M tokens** | 128K 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`                                   |

    <Info>
      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.
    </Info>

    **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](/pt/features/quality/rag-hyde).
  </Tab>

  <Tab title="Google (Gemini)">
    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  | —                                          |

    <Info>
      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`.
    </Info>
  </Tab>

  <Tab title="xAI (Grok)">
    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 | —          | —           |

    <Note>
      Os modelos Grok usam a API compatível com OpenAI. Limites de output são gerenciados pelo provedor.
    </Note>
  </Tab>

  <Tab title="GitHub Copilot">
    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*   |

    <Info>
      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.
    </Info>
  </Tab>

  <Tab title="ZAI (Zhipu AI)">
    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.2`       | `glm-5-2`     | **1M tokens** | 128K tokens | 🔧 Tools, 📋 JSON   |
    | `glm-5.1`       | `glm-5-1`     | 200K tokens   | 128K tokens | 🔧 Tools, 👁 Vision |
    | `glm-5-turbo`   | `glm5-turbo`  | 200K tokens   | 128K tokens | 🔧 Tools, 👁 Vision |
    | `glm-5`         | —             | 200K tokens   | 128K tokens | 🔧 Tools, 👁 Vision |
    | `glm-4.7`       | —             | 200K tokens   | 128K tokens | 🔧 Tools            |
    | `glm-4.6`       | `glm-4-6`     | 200K tokens   | 128K tokens | 🔧 Tools            |
    | `glm-4.5`       | —             | 128K tokens   | 96K tokens  | 🔧 Tools            |
    | `glm-4.5-flash` | `glm-4-flash` | 128K tokens   | 16K tokens  | 🔧 Tools            |
    | `glm-5v-turbo`  | —             | 128K tokens   | 16K tokens  | 🔧 Tools, 👁 Vision |
    | `glm-4.5v`      | `glm-4-5v`    | 128K tokens   | 16K tokens  | 👁 Vision           |
    | `codegeex-4`    | `codegeex`    | 128K tokens   | 16K tokens  | 🔧 Tools            |

    <Note>
      **GLM-5.2** (lançado em 13/jun/2026) é o flagship open-weight da Zhipu: **1M tokens de contexto**, 128K de output, licença MIT, otimizado para coding e workloads agênticos (thinking mode, function calling, structured output). Preço de lista: $1.40/$4.40 por MTok (GLM-5: $1.00/$3.20) — o cost tracker do ChatCLI usa esses valores. O modelo default do provider continua `glm-5`; use `/switch --model glm-5.2` para trocar.
    </Note>

    <Info>
      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\*.
    </Info>

    <Note>
      **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.
    </Note>
  </Tab>

  <Tab title="MiniMax">
    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        |

    <Warning>
      Os IDs dos modelos MiniMax são **case-sensitive**! Use exatamente `MiniMax-M2.7`, não `minimax-m2.7`.
    </Warning>

    <Note>
      **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.
    </Note>
  </Tab>

  <Tab title="Moonshot (Kimi)">
    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                         |

    <Note>
      **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.
    </Note>

    <Tip>
      **Preço público (mai/2026):** kimi-k2.6 cobra $0.95/M tokens de entrada (cache miss) e $4.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.
    </Tip>
  </Tab>

  <Tab title="StackSpot">
    Aceita todos os modelos compatíveis na plataforma StackSpotAI, selecionados junto à criação do Agent.
  </Tab>

  <Tab title="Ollama (Local)">
    Suporta qualquer modelo local via Ollama. Configure no `.env`:

    ```env theme={"system"}
    OLLAMA_ENABLED=true
    OLLAMA_MODEL="llama3"
    ```

    Ou troque interativamente: `/switch --model llama3`

    Use `ollama pull <modelo>` para baixar novos modelos.
  </Tab>

  <Tab title="OpenRouter">
    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            |

    <Info>
      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.
    </Info>

    <Tip>
      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.
    </Tip>
  </Tab>
</Tabs>

***

## 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

```bash theme={"system"}
# 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`     |
| `sonnet-5`          | `claude-sonnet-5`       |
| `fable`             | `claude-fable-5`        |
| `glm-5-2`           | `glm-5.2`               |
| `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

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

| 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]
```

<Tip>
  Ao dar **Enter** com `/switch --model` sem valor, o ChatCLI lista todos os modelos disponíveis com indicação de origem (API ou catalog).
</Tip>

### 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-fable-5, claude-sonnet-5, 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
