Um chat bot interativo para terminal usando LangChain e Google Gemini, com funcionalidades avançadas de conversa, histórico e comandos especiais. Totalmente em Português Brasileiro com suporte a comandos em inglês para compatibilidade.
- Conversa em tempo real com Google Gemini
- Interface limpa e intuitiva no terminal em Português Brasileiro
- Streaming real ativado por padrão com fallback automático
- Histórico de conversa mantido durante a sessão
- Comandos em português e inglês para máxima usabilidade
- Salvar conversas em arquivos JSON com timestamps
- Carregar conversas anteriores para continuar onde parou
- Histórico completo visualizável a qualquer momento
- Estatísticas de mensagens trocadas
- Streaming em tempo real: Respostas aparecem conforme são geradas
- Fallback inteligente: Se streaming falhar, usa modo normal automaticamente
- Interface responsiva: Feedback visual claro do status de processamento
- Configurações otimizadas: Modelo Google Gemini 2.5 Flash
- Interface 100% em português brasileiro
- Comandos nativos em português:
/resumir,/traduzir,/salvar,/carregar,/comandos - Comandos básicos em português:
sair,limpar,ajuda,historico,contar - Compatibilidade total: Todos os comandos em inglês continuam funcionando
- Experiência nativa: Mensagens, prompts e interface adaptados ao português brasileiro
/resumirou/summarize- Gera resumo da conversa atual/traduzir <idioma> <texto>ou/translate <idioma> <texto>- Traduz texto para qualquer idioma/salvar [arquivo]ou/save [arquivo]- Salva a conversa atual/carregar <arquivo>ou/load <arquivo>- Carrega uma conversa salva/comandosou/commands- Lista todos os comandos disponíveis/stream- Liga/desliga modo streaming (respostas em tempo real)
sair,quit,exit- Encerra o chatlimpar,clear- Limpa o histórico atualajuda,help- Mostra o menu de ajudahistorico,histórico,history- Exibe toda a conversacontar,count- Mostra estatísticas de mensagens
- Python 3.8+
- Chave de API do Google Gemini
git clone https://github.com/b92c/chatterbox-cli
cd ChatterBox-CLIpip install langchain-google-genai python-dotenv# Copie o arquivo de exemplo
cp .env.example .env
# Edite o arquivo .env e adicione sua chave
GOOGLE_API_KEY=sua_chave_api_aquipython main.py- Acesse Google AI Studio
- Faça login com sua conta Google
- Clique em "Create API Key"
- Copie a chave gerada
- Cole no arquivo
.env
🙋 Você: Olá, como você está?
🤖 AI: Olá! Estou bem, obrigado por perguntar...
# Traduzir texto (português ou inglês)
🙋 Você: /traduzir inglês Bom dia
🙋 Você: /translate inglês Bom dia
# Resumir conversa (português ou inglês)
🙋 Você: /resumir
🙋 Você: /summarize
# Salvar conversa (português ou inglês)
🙋 Você: /salvar minha_conversa.json
🙋 Você: /save minha_conversa.json
# Carregar conversa salva (português ou inglês)
🙋 Você: /carregar minha_conversa.json
🙋 Você: /load minha_conversa.json
# Ver lista de comandos (português ou inglês)
🙋 Você: /comandos
🙋 Você: /commands
# Liga/desliga streaming
🙋 Você: /stream# Ver histórico completo (português ou inglês)
🙋 Você: historico
🙋 Você: history
# Contar mensagens (português ou inglês)
🙋 Você: contar
🙋 Você: count
# Limpar histórico (português ou inglês)
🙋 Você: limpar
🙋 Você: clear
# Mostrar ajuda (português ou inglês)
🙋 Você: ajuda
🙋 Você: help
# Sair do chat (português ou inglês)
🙋 Você: sair
🙋 Você: quitChatterBox-CLI/
├── main.py # Arquivo principal do chat
├── test_model.py # Ferramenta de diagnóstico e validação
├── .env.example # Exemplo de configuração
├── .env # Suas configurações (não versionado)
├── README.md # Este arquivo
└── chat_history_*.json # Conversas salvas (criadas automaticamente)
O arquivo .env suporta configurações:
# Chave da API do Google Gemini (obrigatório)
GOOGLE_API_KEY=sua_chave_api_aquiNota: O ChatterBox-CLI foi otimizado para funcionar perfeitamente com as configurações padrão do Google Gemini 2.5 Flash, não sendo necessárias configurações adicionais.
As conversas são salvas em formato JSON estruturado:
[
{
"type": "human",
"content": "Olá!",
"timestamp": "2025-08-02T10:30:00"
},
{
"type": "ai",
"content": "Olá! Como posso ajudar?",
"timestamp": "2025-08-02T10:30:05"
}
]❌ Erro ao carregar modelo: Invalid API key
Solução: Verifique se a GOOGLE_API_KEY está correta no arquivo .env
ModuleNotFoundError: No module named 'langchain'
Solução: Instale as dependências:
pip install langchain-google-genai python-dotenv❌ Arquivo não encontrado: conversa.json
Solução: Verifique se o arquivo existe no diretório atual
Se você estiver enfrentando problemas com respostas vazias ou funcionamento inconsistente do chat, use nossa ferramenta de diagnóstico integrada:
python test_model.pyO que esta ferramenta faz:
- ✅ Testa a conexão direta com o modelo Google Gemini
- ✅ Valida se a API Key está funcionando corretamente
- ✅ Verifica se o modelo está retornando respostas válidas
- ✅ Isola problemas de configuração vs. problemas de lógica do chat
- ✅ Fornece debug detalhado do tipo e conteúdo das respostas
Exemplo de saída esperada:
🚀 Iniciando teste direto do modelo...
🔍 Testando modelo diretamente...
✅ Modelo inicializado com sucesso
📤 Enviando mensagem simples...
✅ Resposta recebida: content='Olá!' response_metadata={...}
✅ Conteúdo: 'Olá!'
✅ Tipo: <class 'langchain_core.messages.ai.AIMessage'>
✅ Tem conteúdo: True
✅ Conteúdo não vazio: True
🔍 Teste com pergunta mais complexa...
✅ Resposta 2: 'Estou funcionando bem, obrigado por perguntar!'
✅ TESTE DIRETO PASSOU! O modelo funciona.
Interpretação dos resultados:
| Resultado | Significado | Ação |
|---|---|---|
| ✅ TESTE DIRETO PASSOU! | Modelo e API funcionando corretamente | Se o chat principal não funciona, é problema de lógica no código |
| ❌ TESTE DIRETO FALHOU! | Problema de configuração ou API | Verifique API Key, conexão internet, dependências |
| 🔄 Timeout/Travamento | Problema de rede ou quota da API | Verifique conexão e limites da API |
Quando usar:
- 🔧 Antes de reportar bugs
- 🚨 Quando o chat retorna respostas vazias
- 🔍 Para isolar problemas de configuração
- 📊 Para validar nova instalação
# Verificar versões das dependências
pip list | grep -E "(langchain|google)"
# Testar conectividade
python -c "import langchain_google_genai; print('✅ LangChain Google GenAI disponível')"
# Verificar variáveis de ambiente
python -c "import os; print('API Key:', '✅ Configurada' if os.getenv('GOOGLE_API_KEY') else '❌ Não encontrada')"- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -am 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- LangChain - Framework para aplicações de IA
- Google Gemini - Modelo de linguagem
- Python - Linguagem de programação
ChatterBox-CLI - Sua caixa de conversa inteligente no terminal! 🚀