Skip to main content
O ChatCLI é amplamente configurável através de variáveis de ambiente. Crie um arquivo .env na raiz do projeto ou no HOME.

Ordem de Prioridade

1

Flags de linha de comando

Ex: --provider, --model (maior prioridade)
2

Variáveis de Ambiente do Sistema

export LLM_PROVIDER=OPENAI
3

Variáveis no arquivo .env

LLM_PROVIDER=OPENAI
4

Valores Padrão

Valores internos do ChatCLI (menor prioridade)

Configuração Geral

Tema de Cores

A variável CHATCLI_THEME escolhe a paleta de cores que reskina toda a interface — chat, cards do /coder e /agent, bordas, markdown, code blocks e spinners. Diferente do CHATCLI_CODER_UI, o tema é estado global do processo, então a troca vale na próxima renderização, sem reiniciar. São 11 temas: dark e light (variantes calibradas do ChatCLI) + nove paletas da comunidade — dracula, nord, tokyo-night, solarized-dark, solarized-light, gruvbox, catppuccin-mocha, monokai, one-dark. Previews em cores reais de cada um estão no Sistema de Tema.
Autocomplete: /config ui theme <TAB> (ou /config theme <TAB>) oferece os 11 temas.
A troca vale só no processo atual. Para persistir, adicione CHATCLI_THEME=light ao seu .env — o mutator emite essa dica após cada troca e nunca reescreve seu .env sozinho. Em pipes, CI ou terminais sem cor (NO_COLOR, dumb), a saída degrada para texto limpo. Detalhes completos no Sistema de Tema.

UI Styles

A variável CHATCLI_CODER_UI controla como os modos /coder e /agent desenham tool calls, raciocínio e resultados na timeline. Antes da v1.119 ela só afetava /coder; a partir dessa versão vale também para /agent — quem já tinha CHATCLI_CODER_UI=compact setado vai ver o /agent ficar compacto também.

Trocar a UI em runtime

A partir da v1.119 dá pra trocar o estilo sem reiniciar o ChatCLI, direto no prompt:
Autocomplete completo — digite /config agent <TAB> e depois /config agent ui <TAB> que aparecem full | compact | minimal.
A mudança vale só para o processo atual. Para persistir entre sessões, adicione CHATCLI_CODER_UI=compact (ou outro valor) no seu .env — o mutator emite essa dica logo após cada troca.

Mudanças visuais paralelas (v1.119)

  • Footer dos cards agora termina no tamanho do conteúdo (╰────╯), não estica até a borda do terminal.
  • Erros em vermelho real (, ❌ FALHA NA EXECUÇÃO) em vez de roxo. Se seu terminal mapeia ANSI 31 para outra cor via theme, ajuste a paleta.
  • Banner unificado para /coder e /agent: mesmo card de entrada com Objetivo/Tarefa, Workspace e Política.
  • Menu do /agent reorganizado em 3 colunas (Execução · Edição & Contexto · Visualização) — antes era lista vertical de 12 linhas.
  • Prompt prefix agrupa todos os badges ([🌐 ⏵ ▶2⏳1 🅿1]) em vez de listar [remote] [watch] [jobs:…] [🅿️ resume:…] separadamente.
  • Header de turno do chat: nova moldura ╭─ model ─── 1.4s · 312↑ 1800↓ ─╮ … ╰─╯ no modo conversa, com latência e tokens estimados.

Compressão de Contexto e Saída

Controle em runtime da Compressão de Contexto (CCR) e da redução de tokens de saída. As mudanças valem imediatamente; defina as variáveis no .env para um padrão permanente.
As tools @compress/@recall expõem a compressão sob demanda ao modelo. Veja a página Compressão de Contexto para detalhes, variáveis de ambiente e garantias de não-degradação.

Autenticação OAuth

Além das chaves de API tradicionais, o ChatCLI suporta autenticação via OAuth para OpenAI, Anthropic e GitHub Copilot. Com o OAuth, você pode usar seu plano existente (ChatGPT Plus, Codex, Claude Pro, GitHub Copilot) sem gerar API keys. As credenciais são armazenadas com criptografia AES-256-GCM em ~/.chatcli/auth-profiles.json. A chave de criptografia é gerada automaticamente e salva em ~/.chatcli/.auth-key (permissão 0600).
Use /auth login openai-codex, /auth login anthropic ou /auth login github-copilot no modo interativo para iniciar o fluxo OAuth. Consulte a documentação completa de OAuth para mais detalhes.

Configuração de Provedores

OpenAI

Anthropic (Claude)

Google (Gemini)

xAI (Grok)

Ollama (Local)

StackSpot

ZAI (Zhipu AI)

Rotação automática de JWT: Chaves no formato id.secret ativam automaticamente a geração de tokens JWT (HMAC-SHA256) com header customizado {"alg": "HS256", "sign_type": "SIGN"}. Os tokens são cacheados por 30 minutos e regenerados com 5 minutos de margem. Chaves sem ”.” continuam funcionando como Bearer tokens tradicionais. Totalmente automático, sem configuração adicional.

MiniMax

Endpoint Anthropic-compatível: Defina MINIMAX_API_COMPAT=anthropic para usar https://api.minimax.io/anthropic/v1/messages com formato Anthropic Messages (system como campo top-level, content blocks). O header anthropic-version: 2023-06-01 é adicionado automaticamente. A mesma autenticação Bearer é usada. O tool use nativo é desabilitado neste modo (fallback para XML). Disponível também via Helm (secrets.minimaxApiCompat: "anthropic") ou Docker (MINIMAX_API_COMPAT=anthropic).
Abordagem alternativa (recomendada pela MiniMax): Conforme a documentação oficial da MiniMax, você pode usar modelos MiniMax diretamente pelo provider CLAUDEAI sem precisar do MINIMAX_API_COMPAT. Basta configurar a base URL da Anthropic para apontar ao MiniMax:
Isso funciona porque o endpoint api.minimax.io/anthropic é 100% compatível com a API da Anthropic. Use esta abordagem para aproveitar o tool calling nativo do Anthropic com modelos MiniMax.

Moonshot (Kimi)

Modo Thinking vs Instant: O default auto deixa o modelo decidir; enabled força raciocínio explícito (mais caro em latência e tokens); disabled força resposta direta. Útil para alternar entre tarefas que se beneficiam de chain-of-thought e respostas rápidas (extração, classificação). A flag é injetada via extra_body.thinking.type no payload OpenAI-compatible.

OpenRouter

Gateway multi-provedor: O OpenRouter é um gateway que unifica o acesso a modelos de OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek e dezenas de outros provedores. Os modelos usam o formato provedor/nome-do-modelo (ex: openai/gpt-4o, anthropic/claude-sonnet-4). O modelo padrão é openai/gpt-4o. Configure no .env:

GitHub Copilot

AWS Bedrock

O Bedrock não usa API key — a autenticação é feita pela cadeia de credenciais do AWS SDK: env vars → ~/.aws/credentials~/.aws/config (SSO, assume-role) → IAM role (EC2/ECS/EKS).* É necessário ao menos uma fonte de credenciais: AWS_PROFILE, AWS_ACCESS_KEY_ID, profile SSO em ~/.aws/config, credenciais em ~/.aws/credentials, ou IAM role. Para detalhes completos (SSO, proxy, inference profiles), consulte a documentação do AWS Bedrock.
* Para OpenAI, Anthropic e GitHub Copilot, a chave de API é obrigatória apenas se você não utilizar autenticação OAuth (/auth login). Ambos os métodos podem coexistir.

Configuração do Modo Agente

Multi-Agent (Orquestração Paralela)

Para detalhes completos sobre o sistema multi-agent, consulte a documentação de Orquestração Multi-Agent.

Configuração do Modo Servidor (chatcli server)


Fallback de Provedores

Para detalhes completos, consulte a documentação de Fallback de Provedores.

MCP (Model Context Protocol)

Arquivos no ~/.chatcli/mcp/

Além do mcp_servers.json, o subsistema MCP gerencia automaticamente um diretório próprio para state durável:
Para detalhes completos, consulte a documentação de MCP e MCP Channels.

Busca Web (WebSearch)

Os backends são keyless (sem API key de terceiro). DuckDuckGo é o default zero-config; SearxNG self-hosted é preferido em ambientes corporativos. Veja Web Tools para a cadeia de fallback e como habilitar a JSON API do SearxNG.

Bootstrap e Memória

Para detalhes completos, consulte a documentação de Bootstrap e Memória.

Skill Registry (Multi-Registry)

O sistema de registries é configurado via arquivo ~/.chatcli/registries.yaml (criado automaticamente com registries padrão: chatcli e clawhub). As variáveis acima servem como overrides.
Para detalhes completos, consulte a documentação do Skill Registry.

Segurança e Controle

Segurança do Modo Agente

Autenticação e Tokens

Segurança de Rede e Servidor

Segurança de Plugins

Segurança do Operador K8s

Para detalhes completos sobre segurança, consulte a documentação de Segurança e Hardening.

Configuração do Cliente Remoto (chatcli connect)


Configuração do K8s Watcher (chatcli watch / chatcli server --watch-*)