Pular para o conteúdo principal
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

VariávelDescriçãoPadrão
ENVDefine o ambiente, caso dev os logs são mostrados no terminal e salvo no log da app, caso prod somente no log. Valores válidos: dev, proddev
LLM_PROVIDERDefine o provedor de IA padrão a ser usado. Valores válidos: OPENAI, CLAUDEAI, GOOGLEAI, XAI, OLLAMA, STACKSPOT, COPILOT."OPENAI"
CHATCLI_LANGDefine o idioma da interface. Valores: pt-BR, en-US. Se não definida, tentará detectar o idioma do sistema.en-US
LOG_LEVELNível dos logs. Opções: debug, info, warn, error."info"
LOG_FILECaminho para o arquivo de log. Padrão: $HOME/.chatcli/app.log"$HOME/.chatcli/app.log"
LOG_MAX_SIZETamanho máximo do arquivo de log antes da rotação. Aceita 100MB, 50KB, etc."100MB"
HISTORY_MAX_SIZETamanho máximo do arquivo de histórico (.chatcli_history) antes da rotação."100MB"
HISTORY_FILECaminho personalizado para o arquivo de histórico (suporta ~, hoje ele cria o histórico onde executou o chatcli).".chatcli_history"
CHATCLI_DOTENVCaminho personalizado para o seu arquivo .env.".env"
CHATCLI_IGNORECaminho para arquivo de ignore (ex.: .chatignore). Quando definido, ele tem prioridade sobre o ignore do projeto/global.""
CHATCLI_CODER_UIEstilo da UI do modo /coder: full (padrão) ou mínimal."full"
CHATCLI_CODER_BANNERExibe o cheat sheet rápido do /coder na entrada da sessão (true/false)."true"

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.
VariávelDescriçãoPadrão
CHATCLI_AUTH_DIRDiretório onde as credenciais OAuth são armazenadas.~/.chatcli/
CHATCLI_OPENAI_CLIENT_IDPermite sobrescrever o client ID do OAuth da OpenAI.(interno)
CHATCLI_COPILOT_CLIENT_IDPermite sobrescrever o client ID do OAuth do GitHub Copilot.(interno)
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

VariávelDescriçãoObrigatório?
OPENAI_API_KEYSua chave de API secreta da OpenAI. Alternativa: use /auth login openai-codex para OAuth.Sim*
OPENAI_MODELO modelo a ser usado. Ex: gpt-4o, gpt-4o-mini, gpt-4-turbo.Não
OPENAI_ASSISTANT_MODELO modelo a ser usado específicamente para a API de Assistentes.Não
OPENAI_USE_RESPONSESDefine true para usar a API de v1/responses em vez de v1/chat/completions.Não
OPENAI_MAX_TOKENSDefine o maximo de tokens a ser utilizados na sessão (depende do modelo)Não

Anthropic (Claude)

VariávelDescriçãoObrigatório?
ANTHROPIC_API_KEYSua chave de API secreta da Anthropic. Alternativa: use /auth login anthropic para OAuth.Sim*
ANTHROPIC_MODELO modelo a ser usado. Ex: claude-sonnet-4-5, claude-opus-4-6, claude-sonnet-4.Não
ANTHROPIC_API_VERSIONA versão da API da Anthropic a ser usada nos cabeçalhos.Não
ANTHROPIC_MAX_TOKENSDefine o maximo de tokens a ser utilizados na sessão (depende do modelo)Não

Google (Gemini)

VariávelDescriçãoObrigatório?
GOOGLEAI_API_KEYSua chave de API do Google AI Studio.Sim
GOOGLEAI_MODELO modelo a ser usado. Ex: gemini-2.5-pro, gemini-2.5-flash.Não
GOOGLEAI_MAX_TOKENSDefine o maximo de tokens a ser utilizados na sessão (depende do modelo)Não

xAI (Grok)

VariávelDescriçãoObrigatório?
XAI_API_KEYSua chave de API secreta da xAI.Sim
XAI_MODELO modelo a ser usado. Ex: grok-4-fast, grok-3.Não
XAI_MAX_TOKENSDefine o maximo de tokens a ser utilizados na sessão (depende do modelo)Não

Ollama (Local)

VariávelDescriçãoObrigatório?
OLLAMA_ENABLEDDefina como true para habilitar o provedor Ollama.Sim
OLLAMA_BASE_URLURL base do seu servidor Ollama local.Não
OLLAMA_MODELO nome do modelo local a ser usado (ex: llama3, codellama).Não
OLLAMA_FILTER_THINKINGFiltra raciocínio intermediário em respostas (ex.: para Qwen3, llama3 padrão true…).Não
OLLAMA_MAX_TOKENSDefine o máximo de tokens para o provedor Ollama.Não

StackSpot

VariávelDescriçãoObrigatório?
CLIENT_IDCredencial de ID de cliente da StackSpot.Sim
CLIENT_KEYCredencial de chave de cliente da StackSpot.Sim
STACKSPOT_REALMO realm (tenant) da sua organização na StackSpot.Sim
STACKSPOT_AGENT_IDO ID do agente específico a ser utilizado.Sim

GitHub Copilot

VariávelDescriçãoObrigatório?
GITHUB_COPILOT_TOKENToken OAuth do GitHub Copilot. Alternativa: use /auth login github-copilot para Device Flow.Sim*
COPILOT_MODELO modelo a ser usado. Ex: gpt-4o, claude-sonnet-4, gemini-2.0-flash.Não
COPILOT_MAX_TOKENSDefine o máximo de tokens para a resposta.Não
COPILOT_API_BASE_URLURL base da API do Copilot (para ambientes enterprise).Não
* 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

VariávelDescrição
CHATCLI_AGENT_ALLOW_SUDODefina como "true" para permitir que o agente sugira e execute comandos com sudo. Use com extrema cautela.
CHATCLI_AGENT_DENYLISTLista de padrões regex (separados por ;) para bloquear comandos adicionais no modo agente.
CHATCLI_AGENT_CMD_TIMEOUTTimeout para a execução de um único comando pelo agente (padrão: 10m, máximo: 1h).
CHATCLI_AGENT_PLUGIN_MAX_TURNSLimite máximo de turnos do agente no modo /agent//coder (padrão: 50, máximo: 200).
CHATCLI_AGENT_PLUGIN_TIMEOUTTimeout total do plugin do agente (padrão: 15m).

Multi-Agent (Orquestração Paralela)

VariávelDescriçãoPadrão
CHATCLI_AGENT_PARALLEL_MODEAtiva o modo multi-agent com orquestração paralela. O LLM orquestrador despacha agents especialistas em paralelo.false
CHATCLI_AGENT_MAX_WORKERSNúmero máximo de workers (goroutines) executando agents simultaneamente.4
CHATCLI_AGENT_WORKER_MAX_TURNSMáximo de turnos do mini ReAct loop de cada worker agent.10
CHATCLI_AGENT_WORKER_TIMEOUTTimeout por worker agent individual. Aceita durações Go (ex: 30s, 2m, 10m).5m
Para detalhes completos sobre o sistema multi-agent, consulte a documentação de Orquestração Multi-Agent.

Configuração do Modo Servidor (chatcli server)

VariávelDescriçãoPadrão
CHATCLI_SERVER_PORTPorta do servidor gRPC.50051
CHATCLI_SERVER_TOKENToken de autenticação para o servidor. Vazio = sem autenticação.""
CHATCLI_SERVER_TLS_CERTCaminho para o certificado TLS do servidor.""
CHATCLI_SERVER_TLS_KEYCaminho para a chave TLS do servidor.""
CHATCLI_GRPC_REFLECTIONHabilita gRPC reflection para debugging. Mantenha desabilitado em produção.false

Fallback de Provedores

VariávelDescriçãoPadrão
CHATCLI_FALLBACK_PROVIDERSLista de provedores separados por vírgula para failover automático. Ex.: OPENAI,CLAUDEAI,GOOGLEAI.""
CHATCLI_FALLBACK_MODEL_<PROVIDER>Modelo específico por provedor na cadeia. Ex.: CHATCLI_FALLBACK_MODEL_CLAUDEAI=claude-sonnet-4-20250514.(modelo padrão)
CHATCLI_FALLBACK_MAX_RETRIESTentativas por provedor antes de avançar para o próximo na cadeia.2
CHATCLI_FALLBACK_COOLDOWN_BASEDuração base do cooldown após falha de um provedor.30s
CHATCLI_FALLBACK_COOLDOWN_MAXDuração máxima do cooldown (backoff exponencial).5m
Para detalhes completos, consulte a documentação de Fallback de Provedores.

MCP (Model Context Protocol)

VariávelDescriçãoPadrão
CHATCLI_MCP_ENABLEDAtiva o gerenciador de servidores MCP.false
CHATCLI_MCP_CONFIGCaminho para o arquivo JSON de configuração dos servidores MCP.~/.chatcli/mcp_servers.json
Para detalhes completos, consulte a documentação de MCP.

Bootstrap e Memória

VariávelDescriçãoPadrão
CHATCLI_BOOTSTRAP_ENABLEDAtiva o carregamento de arquivos bootstrap (SOUL.md, USER.md, etc.) no system prompt.false
CHATCLI_BOOTSTRAP_DIRDiretório contendo os arquivos bootstrap.~/.chatcli/bootstrap/
CHATCLI_MEMORY_ENABLEDAtiva o sistema de memória persistente (MEMORY.md + notas diárias).false
CHATCLI_SAFETY_ENABLEDAtiva regras de segurança configuráveis no shell do agente.false
Para detalhes completos, consulte a documentação de Bootstrap e Memória.

Skill Registry (Multi-Registry)

VariávelDescriçãoPadrão
CHATCLI_REGISTRY_URLSURLs adicionais de registries separadas por vírgula. Cada URL é adicionada como registry customizado habilitado.""
CHATCLI_REGISTRY_DISABLENomes de registries a desabilitar, separados por vírgula. Ex.: clawhub,chatcli.""
CHATCLI_SKILL_INSTALL_DIRDiretório onde skills instaladas via registry são salvas.~/.chatcli/skills
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

VariávelDescriçãoPadrão
CHATCLI_DISABLE_VERSION_CHECKDesabilita a verificação automática de versão no startup. Útil para ambientes air-gapped ou CI/CD.false
CHATCLI_GRPC_REFLECTIONHabilita gRPC server reflection (expõe schema do serviço).false
Para detalhes completos sobre segurança, consulte a documentação de Segurança e Hardening.

Configuração do Cliente Remoto (chatcli connect)

VariávelDescriçãoPadrão
CHATCLI_REMOTE_ADDREndereço do servidor remoto (host:port).""
CHATCLI_REMOTE_TOKENToken de autenticação para conectar ao servidor.""
CHATCLI_CLIENT_API_KEYSua própria API key/OAuth token, enviada ao servidor.""

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

VariávelDescriçãoPadrão
CHATCLI_WATCH_DEPLOYMENTNome do deployment Kubernetes a monitorar.""
CHATCLI_WATCH_NAMESPACENamespace do deployment."default"
CHATCLI_WATCH_INTERVALIntervalo entre coletas de dados. Aceita durações Go (ex: 10s, 1m)."30s"
CHATCLI_WATCH_WINDOWJanela temporal de dados mantidos em memória."2h"
CHATCLI_WATCH_MAX_LOG_LINESNúmero máximo de linhas de log coletadas por pod.100
CHATCLI_KUBECONFIGCaminho para o kubeconfig (opcional, usa default se não definido).Auto-detectado