O ChatCLI é amplamente configurável através de variáveis de ambiente. A maneira mais fácil de gerenciá-las é criando um arquivo .env na raiz do seu projeto ou no seu diretório HOME.

A ordem de prioridade para as configurações é:

  1. Flags de linha de comando (ex: --provider)
  2. Variáveis de Ambiente do Sistema
  3. Variáveis no arquivo .env
  4. Valores Padrão

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."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/app.log"$HOME/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"
CHATCLI_DOTENVCaminho personalizado para o seu arquivo .env.".env"

Configuração de Provedores

OpenAI

VariávelDescriçãoObrigatório?
OPENAI_API_KEYSua chave de API secreta da OpenAI.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 especificamente 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?
CLAUDEAI_API_KEYSua chave de API secreta da Anthropic.Sim
CLAUDEAI_MODELO modelo a ser usado. Ex: claude-3-5-sonnet-20240620, claude-3-opus-20240229.Não
CLAUDEAI_API_VERSIONA versão da API da Anthropic a ser usada nos cabeçalhos.Não
CLAUDEAI_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-1.5-pro-latest, gemini-1.5-flash-latest.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-1.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

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

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).