Pré-requisitos
Git Necessário para clonar o repositório e para que o Go baixe dependências.
Go 1.26+ Apenas para go install ou compilação do código-fonte.
API Key ou OAuth Chave de API de um provedor LLM ou conta com plano ativo para OAuth.
1. Instalação
Homebrew (Recomendado)
Binário
go install
Código-Fonte
Docker
A maneira mais fácil para macOS e Linux . Instala e atualiza automaticamente. brew tap diillson/chatcli
brew install chatcli
Para atualizar: Suporta macOS (Apple Silicon e Intel) e Linux (amd64). A fórmula é atualizada automaticamente a cada release.
Baixe o binário para seu sistema diretamente da página de Releases . # Linux/macOS — ajuste o nome do arquivo conforme o release
chmod +x chatcli
sudo mv chatcli /usr/local/bin/
Disponível para Linux , macOS e Windows em arquiteturas amd64 e arm64 .
Se você tem o Go instalado: go install github.com/diillson/chatcli@latest
O binário será instalado em $GOPATH/bin. Garanta que está no PATH: export PATH = $PATH :$( go env GOPATH )/ bin
Adicione a linha acima ao seu .bashrc ou .zshrc para persistir entre sessões. Para quem quer compilar localmente ou contribuir:
Clone o repositório
git clone https://github.com/diillson/chatcli.git
cd chatcli
Compile
go mod tidy
go build -o chatcli
(Opcional) Build com informações de versão
VERSION = $( git describe --tags --always --dirty 2> /dev/null || echo "dev" )
COMMIT_HASH = $( git rev-parse --short HEAD )
BUILD_DATE = $( date -u +"%Y-%m-%dT%H:%M:%SZ" )
go build -ldflags " \
-X github.com/diillson/chatcli/version.Version=${ VERSION } \
-X github.com/diillson/chatcli/version.CommitHash=${ COMMIT_HASH } \
-X github.com/diillson/chatcli/version.BuildDate=${ BUILD_DATE }" \
-o chatcli main.go
Isso injeta dados de versão no binário, acessíveis via /version ou chatcli --version.
Mova para o PATH
sudo mv chatcli /usr/local/bin/
2. Configurar um Provedor
Crie um arquivo .env na sua pasta de usuário ou na raiz do projeto.
OpenAI
Anthropic (Claude)
Google (Gemini)
xAI (Grok)
StackSpot AI
ZAI (Zhipu AI)
MiniMax
Moonshot (Kimi)
OpenRouter
OAuth (sem API key)
Ollama (Local)
LLM_PROVIDER=OPENAI
OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# (Opcional) Modelo específico — padrão: gpt-5.4
# OPENAI_MODEL="gpt-5.4"
LLM_PROVIDER=CLAUDEAI
ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxxxxxxxxxxxxx"
# (Opcional) Modelo — padrão: claude-sonnet-4-6
# ANTHROPIC_MODEL="claude-sonnet-4-6"
LLM_PROVIDER=GOOGLEAI
GOOGLEAI_API_KEY="AIzaxxxxxxxxxxxxxxxxxxxxxxxx"
# (Opcional) Modelo — padrão: gemini-2.5-flash
# GOOGLEAI_MODEL="gemini-2.5-flash"
LLM_PROVIDER=XAI
XAI_API_KEY="xai-xxxxxxxxxxxxxxxxxxxxxxxx"
# (Opcional) Modelo — padrão: grok-4-1
# XAI_MODEL="grok-4-1"
LLM_PROVIDER=STACKSPOT
CLIENT_ID="seu-client-id"
CLIENT_KEY="seu-client-secret"
# (Opcional) Realm/tenant — padrão: zup
# STACKSPOT_REALM="seu-tenant-name"
# (Opcional) Agent ID — padrão: default
# STACKSPOT_AGENT_ID="seu-agent-id"
A autenticação é feita via OAuth 2.0 Client Credentials . Obtenha suas credenciais no portal da StackSpot .
Você também pode sobrescrever realm e agent-id via flags na linha de comando: chatcli --provider STACKSPOT --realm "meu-realm" --agent-id "meu-agent" -p "Sua pergunta"
LLM_PROVIDER=ZAI
ZAI_API_KEY="xxx"
# (Opcional) Modelo — padrão: glm-5
# ZAI_MODEL="glm-5"
LLM_PROVIDER=MINIMAX
MINIMAX_API_KEY="xxx"
# (Opcional) Modelo — padrão: MiniMax-M2.7 (case-sensitive!)
# MINIMAX_MODEL="MiniMax-M2.7"
LLM_PROVIDER=MOONSHOT
MOONSHOT_API_KEY="sk-xxx"
# (Opcional) Modelo — padrão: kimi-k2.6
# MOONSHOT_MODEL="kimi-k2.6"
# MOONSHOT_THINKING="auto" # auto | enabled | disabled
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"
O OpenRouter é um gateway multi-provedor que dá acesso a 200+ modelos (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek, etc.) com uma única API key. Os modelos usam o formato provedor/nome-do-modelo. Obtenha sua chave em openrouter.ai . Se possui ChatGPT Plus/Codex , Claude Pro ou GitHub Copilot : chatcli
# Dentro do modo interativo:
/auth login openai-codex # OpenAI (PKCE OAuth)
/auth login anthropic # Anthropic (PKCE OAuth)
/auth login github-copilot # GitHub Copilot (Device Flow)
O navegador abrirá automaticamente. Consulte a documentação de OAuth para detalhes. LLM_PROVIDER=OLLAMA
OLLAMA_ENABLED=true
OLLAMA_BASE_URL="http://localhost:11434"
OLLAMA_MODEL="llama3"
Nenhuma API key necessária. Instale o Ollama em ollama.com e baixe um modelo com ollama pull llama3.
Você só precisa configurar os provedores que pretende usar. O ChatCLI detecta automaticamente quais estão disponíveis pelas chaves encontradas.
Variáveis de Ambiente Adicionais
Variável Descrição Padrão CHATCLI_DOTENVCaminho customizado para o arquivo .env .envCHATCLI_LANGForça um idioma específico (ex: pt-BR, en) Auto-detectado LOG_LEVELNível de log: debug, info, warn, error infoCHATCLI_ENVModo de logging: dev (console colorido + arquivo), prod (só arquivo JSON) prodMAX_RETRIESTentativas máximas para chamadas de API 5
Para a lista completa de variáveis, consulte a Referência de Variáveis de Ambiente .
3. Verificar a Instalação
Verifique a configuração ativa
chatcli
# Dentro do modo interativo:
/config
Faça sua primeira pergunta
O que é a equação de Dirac?
Se você receber uma resposta da IA, parabéns! O ChatCLI está pronto.
Próximos Passos
Uso Básico Comandos essenciais, modos e navegação no prompt interativo.
Modo Agente Delegue tarefas para a IA executar no seu terminal.
Modo Coder IA que lê, edita e testa código em loop.
Skill Registry Busque e instale skills de registries remotos.