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
CHATCLI_ENVModo de logging: dev (console colorido + arquivo), prod (somente arquivo JSON). Compatível com o legado ENV.prod
LLM_PROVIDERDefine o provedor de IA padrão a ser usado. Valores válidos: OPENAI, OPENAI_ASSISTANT, CLAUDEAI, BEDROCK, GOOGLEAI, XAI, ZAI, MINIMAX, MOONSHOT, OPENROUTER, STACKSPOT, OLLAMA, COPILOT, GITHUB_MODELS."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 timeline dos modos /coder e /agent (cross-mode desde v1.119): full · compact · minimal. Veja a seção UI Styles."full"
CHATCLI_CODER_BANNERExibe o cheat sheet rápido do /coder na entrada da sessão (true/false)."true"
CHATCLI_THEMETema de cores da interface inteira (chat, cards, markdown, spinners). 11 temas: dark, light + 9 da comunidade. Troca em runtime via /config ui theme. Veja a seção Tema de Cores."dark"

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.
/config ui                     # mostra o tema ativo + perfil de cor detectado
/config ui theme dark          # troca para o tema escuro
/config ui theme dracula       # troca por nome (qualquer um dos 11)
/config theme tokyo-night      # atalho equivalente
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.
ValorAparênciaQuando usar
full (padrão)Cards completos com borda fechada ╭── ICON TITLE ─────╮ … ╰─────╯. Cada ação é um bloco visível./agent supervisionado — plano-e-aprova.
compactLinhas inline ↻ Read(main.go) / ✓ Read(main.go) 0.3s. Mensagens curtas, sem cards./coder com sessões longas (20+ tool calls).
minimalCards menores com conteúdo truncado. Meio termo.Sessões mistas em terminais estreitos.

Trocar a UI em runtime

A partir da v1.119 dá pra trocar o estilo sem reiniciar o ChatCLI, direto no prompt:
/config agent ui              # mostra o estilo atual + opções
/config agent ui compact      # troca para compact (vale na próxima chamada /coder ou /agent)
/config agent ui full         # volta para o padrão
/config agent ui minimal      # meio termo
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.

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-5.4, gpt-4o, gpt-4o-mini.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 máximo 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-opus-4-8, claude-opus-4-7, claude-sonnet-4-6.Não
ANTHROPIC_API_VERSIONA versão da API da Anthropic a ser usada nos cabeçalhos.Não
ANTHROPIC_MAX_TOKENSDefine o máximo de tokens a ser utilizados na sessão (depende do modelo)Não
ANTHROPIC_SPEEDDefina fast para opt-in no fast mode do Opus 4.8 (research preview, pricing premium).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 máximo 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-1, grok-4-fast, grok-3.Não
XAI_MAX_TOKENSDefine o máximo 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

ZAI (Zhipu AI)

VariávelDescriçãoObrigatório?
ZAI_API_KEYSua chave de API da Zhipu AI (z.ai). Aceita Bearer token simples ou formato id.secret para JWT automático.Sim
ZAI_MODELO modelo a ser usado. Ex: glm-5, glm-4.7, glm-4.5, codegeex-4.Não
ZAI_MAX_TOKENSDefine o máximo de tokens para a resposta.Não
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

VariávelDescriçãoObrigatório?
MINIMAX_API_KEYSua chave de API da MiniMax. Enviada como Bearer token.Sim
MINIMAX_MODELO modelo a ser usado. Ex: MiniMax-M2.7, MiniMax-M2.5. Case-sensitive!Não
MINIMAX_MAX_TOKENSDefine o máximo de tokens para a resposta.Não
MINIMAX_API_COMPATModo de compatibilidade: anthropic para usar o endpoint Anthropic Messages da MiniMax.Não
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:
LLM_PROVIDER=CLAUDEAI
ANTHROPIC_API_KEY=sua-chave-minimax
ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic
ANTHROPIC_MODEL=MiniMax-M2.7
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)

VariávelDescriçãoObrigatório?
MOONSHOT_API_KEYChave de API (Bearer token) da Moonshot AI.Sim
MOONSHOT_MODELModelo a usar (kimi-k2.6, kimi-k2.5, kimi-latest, kimi-thinking-preview, moonshot-v1-128k, moonshot-v1-32k, moonshot-v1-8k).Não
MOONSHOT_MAX_TOKENSDefine o máximo de tokens para a resposta.Não
MOONSHOT_THINKINGModo de raciocínio: enabled, disabled, auto. Modelos sem capability thinking ignoram a flag.Não
MOONSHOT_API_URLEndpoint customizado. Padrão: https://api.moonshot.ai/v1/chat/completions.Não
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

VariávelDescriçãoObrigatório?
OPENROUTER_API_KEYSua chave de API do OpenRouter (openrouter.ai). Uma única chave para acessar 200+ modelos.Sim
OPENROUTER_API_URLURL customizada da API.Não
OPENROUTER_MAX_TOKENSDefine o máximo de tokens para a resposta.Não
OPENROUTER_FALLBACK_MODELSLista de modelos de fallback separados por vírgula. O OpenRouter tenta automaticamente o próximo modelo se o principal falhar. Ex: anthropic/claude-sonnet-4,google/gemini-2.5-flash.Não
OPENROUTER_PROVIDER_ORDERPreferência de provedores separados por vírgula. Ex: Anthropic,Google.Não
OPENROUTER_TRANSFORMSTransformações de mensagem. Ex: middle-out para lidar com overflow de contexto.Não
OPENROUTER_HTTP_REFERERHeader de atribuição HTTP Referer para o dashboard do OpenRouter.Não
OPENROUTER_APP_TITLEHeader de atribuição com o título da sua aplicação.Não
OPENROUTER_TOOLSArray JSON de ferramentas para injeção no request.Não
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:
LLM_PROVIDER=OPENROUTER
OPENROUTER_API_KEY="sk-or-xxxxxxxxxxxxxxxxxxxxxxxx"

# (Opcional) Modelo — padrão: openai/gpt-4o
# MODEL="anthropic/claude-sonnet-4"

# (Opcional) Fallback nativo do OpenRouter
# OPENROUTER_FALLBACK_MODELS="openai/gpt-4o,google/gemini-2.5-flash"

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

AWS Bedrock

VariávelDescriçãoObrigatório?
AWS_PROFILEProfile AWS em ~/.aws/credentials ou ~/.aws/config (suporta SSO, assume-role, credential_process). Pode ser definido no .env.Sim*
AWS_ACCESS_KEY_IDChave de acesso IAM estática. Alternativa ao AWS_PROFILE.Sim*
AWS_SECRET_ACCESS_KEYChave secreta IAM (obrigatória junto com AWS_ACCESS_KEY_ID).Sim*
AWS_SESSION_TOKENToken de sessão temporária (STS).Não
BEDROCK_REGIONRegião AWS para o Bedrock (prioridade sobre AWS_REGION).Não
AWS_REGIONRegião AWS (fallback se BEDROCK_REGION não definida).Não
BEDROCK_PROVIDEROverride manual do schema: anthropic ou openai.Não
BEDROCK_MAX_TOKENSLimite de tokens de saída.Não
BEDROCK_TEMPERATURETemperature usada nos modelos OpenAI no Bedrock.Não
CHATCLI_BEDROCK_CA_BUNDLEBundle PEM com CA corporativa para TLS. Precede AWS_CA_BUNDLE e o global CHATCLI_CA_BUNDLE.Não
CHATCLI_BEDROCK_INSECURE_SKIP_VERIFYtrue desabilita verificação TLS (inseguro, apenas troubleshooting). Precede o global CHATCLI_TLS_INSECURE_SKIP_VERIFY.Não
AWS_EC2_METADATA_DISABLEDtrue desabilita IMDS (evita timeout em 169.254.169.254 fora de EC2).Não
CHATCLI_BEDROCK_ENABLE_IMDStrue força habilitar o probe IMDS em máquinas não-EC2.N��o
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

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
CHATCLI_AGENT_PARALLEL_TOOLSAtiva execução paralela de tools concurrency-safe dentro de um único agente (read-only ops como @read, @search, @websearch). Distinto de CHATCLI_AGENT_PARALLEL_MODE (multi-agente). Off por default enquanto em rollout.false
CHATCLI_AGENT_MAX_TOOL_CONCURRENCYCap de fan-out simultâneo para o batch paralelo de tools dentro de um agente.10
CHATCLI_AGENT_INLINE_CODE_STRICTEm chamadas python -c / node -e / perl -e / ruby -e / php -r / lua -e, eleva qualquer código inline não-comprovadamente seguro a perigoso (modo conservador). Default deixa passar one-liners read-only e bloqueia apenas padrões com os.system, subprocess, socket, eval, file writes, network.false
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

Arquivos no ~/.chatcli/mcp/

Além do mcp_servers.json, o subsistema MCP gerencia automaticamente um diretório próprio para state durável:
ArquivoPropósito
~/.chatcli/mcp/channels.jsonlRing durável de push notifications (append-only, rotaciona aos 10 MiB para .1). Recarregado no boot — alerts recebidos com ChatCLI fechado ficam visíveis ao abrir
~/.chatcli/mcp/channels.jsonl.1Único histórico rotacionado (rotação substitui o anterior)
~/.chatcli/mcp/triggers.jsonOpt-in — rules do trigger engine (notify / confirm / auto) que decidem como o ChatCLI reage a channel events. Veja MCP Channels
Para detalhes completos, consulte a documentação de MCP e MCP Channels.

Busca Web (WebSearch)

VariávelDescriçãoPadrão
CHATCLI_WEBSEARCH_PROVIDERProvider preferido para @websearch / /websearch: searxng, duckduckgo, brave, mojeek ou auto.auto
SEARXNG_URLURL raiz da instância SearxNG self-hosted (ex.: https://searx.internal.corp).
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

VariávelDescriçãoPadrão
CHATCLI_BOOTSTRAP_ENABLEDAtiva o carregamento de arquivos bootstrap (SOUL.md, USER.md, etc.) no system prompt.true
CHATCLI_BOOTSTRAP_DIRDiretório contendo os arquivos bootstrap.~/.chatcli/bootstrap/
CHATCLI_MEMORY_ENABLEDAtiva o sistema de memória persistente estruturado.true
CHATCLI_MEMORY_MODEModo de injeção de memória em agent/coder: index (pull, só um digest + @memory recall), full (push completo por turno) ou off. Chat trata index como full.index
CHATCLI_MEMORY_MAX_SIZETamanho máximo do MEMORY.md renderizado (bytes).32768
CHATCLI_MEMORY_RETENTION_DAYSDias para reter notas diárias antes da limpeza automática.30
CHATCLI_MEMORY_MAX_FACTSNúmero máximo de fatos no índice de memória.500
CHATCLI_MEMORY_RETRIEVAL_BUDGETCaracteres máximos de memória injetados no system prompt.4000
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

Segurança do Modo Agente

VariávelDescriçãoPadrão
CHATCLI_AGENT_SECURITY_MODEModo de segurança: strict (apenas allowlist) ou permissive (allowlist + denylist legada como fallback).strict
CHATCLI_AGENT_ALLOWLISTComandos adicionais para a allowlist, separados por ;. Ex: terraform;ansible;packer.""
CHATCLI_AGENT_WORKSPACE_STRICTRestringe leituras de arquivo ao workspace atual. Bloqueia caminhos sensíveis (~/.ssh, ~/.aws, etc.).false
CHATCLI_AGENT_ALLOW_KUBECONFIGPermite acesso ao kubeconfig mesmo com WORKSPACE_STRICT habilitado.false
CHATCLI_AGENT_EXTRA_READ_PATHSCaminhos adicionais permitidos para leitura, separados por ;.""
CHATCLI_AGENT_SOURCE_SHELL_CONFIGHabilita source de arquivos de configuração do shell (~/.bashrc, ~/.zshrc). Agora opt-in.false
CHATCLI_MAX_COMMAND_OUTPUTLimite de caracteres para saída de comandos antes da truncagem.50000

Autenticação e Tokens

VariávelDescriçãoPadrão
CHATCLI_MAX_TOKEN_LIFETIMETempo de vida máximo de tokens OAuth/JWT. Aceita durações Go (ex: 24h, 168h).720h (30 dias)
CHATCLI_JWT_SECRETSegredo para assinatura de tokens JWT do servidor.""
CHATCLI_SESSION_ENCRYPTION_KEYChave para criptografia de sessões em repouso (AES-256).""

Segurança de Rede e Servidor

VariávelDescriçãoPadrão
CHATCLI_RATE_LIMIT_RPSLimite de requisições por segundo (0 = desabilitado).0
CHATCLI_BIND_ADDRESSEndereço de bind do servidor. Padrão 127.0.0.1 (local); em Kubernetes, auto-detecta 0.0.0.0 via KUBERNETES_SERVICE_HOST. Valor explícito sempre prevalece.127.0.0.1 / 0.0.0.0 (K8s)
CHATCLI_AUDIT_LOGHabilita log de auditoria de segurança com detalhes de cada operação.false

Segurança de Plugins

VariávelDescriçãoPadrão
CHATCLI_PLUGIN_VERIFY_SIGNATURESExige assinatura Ed25519 válida para carregar plugins.false
CHATCLI_PLUGIN_TRUSTED_KEYSChaves públicas Ed25519 confiáveis para verificação de plugins, separadas por ;.""

Segurança do Operador K8s

VariávelDescriçãoPadrão
CHATCLI_OPERATOR_FAIL_CLOSEDModo fail-closed: bloqueia operações quando o agente está indisponível.false
CHATCLI_OPERATOR_RESOURCE_ALLOWLISTLista de recursos K8s permitidos para o operador, separados por ;.""
CHATCLI_OPERATOR_LOG_SCRUBBINGRemove dados sensíveis (tokens, senhas) dos logs do operador.true
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