Update DEFAULT_AI_MODEL to step-3.5-flash, OPENROUTER_MODEL to minimax/minimax-m3:free, and STEPFUN_MODEL to step-3.5-flash
ThorAgentIA
Sistema automatizado de envio de insights via Telegram, utilizando inteligência artificial para gerar conteúdo sobre diversos temas relevantes para negócios, marketing, desenvolvimento pessoal e gestão empresarial.
Funcionalidades
- Gera insights profundos em português brasileiro sobre temas pré-definidos.
- Envia automaticamente os insights para um canal do Telegram.
- Opera em horários configuráveis (padrão: 07:00 às 22:00).
- Funciona de segunda a domingo (dias configuráveis).
- Intervalo entre envios configurável.
- Seleção aleatória de tópicos cadastrados.
- Suporte a múltiplos provedores de IA: OpenAI, OpenRouter, StepFun ou LlamaCPP local.
Pré-requisitos
- Python 3.10 ou superior
- Chave de API de IA: OpenAI, OpenRouter, StepFun ou LlamaCPP local
- Bot criado no Telegram via BotFather
- Sistema Linux (Debian 12 recomendado)
Configuração
- Configure o arquivo
.envcom seus dados:
TELEGRAM_BOT_TOKEN=seu_token_bot_telegram
TELEGRAM_CHAT_ID=seu_chat_id
INTERVAL_MINUTES=60
START_HOUR=7
END_HOUR=22
TOPICS=Marketing,Negócios,Lei da Atração,...
# Provedor preferencial: OpenRouter
OPENROUTER_API_KEY=sua_chave_openrouter
OPENROUTER_MODEL=inclusionai/ling-3.0-tiny:free
# Alternativa: StepFun
STEPFUN_BASE_URL=https://api.stepfun.ai/step_plan/v1/
STEPFUN_API_KEY=sua_chave_stepfun
STEPFUN_MODEL=step-3.7-flash
# Alternativa: LlamaCPP local
LLAMACPP_BASE_URL=http://localhost:8080/v1/
LLAMACPP_API_KEY=not-needed
LLAMACPP_MODEL=qwen2.5-coder-3b-instruct-q4_k_m.gguf
-
Crie um bot no Telegram via @BotFather e obtenha o token.
-
Obtenha o identificador do canal após adicionar o bot como administrador no canal. Use o username do canal no formato
@nome_do_canalou o ID numérico-100xxxxxxxxxx. Para descobrir o ID, consulte a seção "Descobrindo o chat ID do canal" abaixo.
Instalação
chmod +x iniciar.sh
./iniciar.sh
O script irá:
- Criar o ambiente virtual Python
- Instalar todas as dependências
- Preparar o sistema para execução
Execução
source venv/bin/activate
python3 main.py
Para rodar como serviço em background no Linux, utilize systemd ou screen/tmux.
Variáveis de Ambiente
| Variável | Descrição | Padrão |
|---|---|---|
OPENAI_API_KEY |
Chave da API da OpenAI | opcional |
OPENROUTER_API_KEY |
Chave da API OpenRouter | opcional |
OPENROUTER_MODEL |
Modelo no OpenRouter | inclusionai/ling-3.0-tiny:free |
STEPFUN_BASE_URL |
URL base StepFun | https://api.stepfun.ai/step_plan/v1/ |
STEPFUN_API_KEY |
Chave StepFun | opcional |
STEPFUN_MODEL |
Modelo StepFun | step-3.7-flash |
LLAMACPP_BASE_URL |
URL base LlamaCPP | http://localhost:8080/v1/ |
LLAMACPP_API_KEY |
Chave LlamaCPP | not-needed |
LLAMACPP_MODEL |
Modelo LlamaCPP | qwen2.5-coder-3b-instruct-q4_k_m.gguf |
DEFAULT_AI_MODEL |
Modelo usado quando houver apenas OpenAI | gpt-4o-mini |
TELEGRAM_BOT_TOKEN |
Token do bot Telegram | obrigatório |
TELEGRAM_CHAT_ID |
Username do canal (ex: @nome_do_canal) ou ID numérico (ex: -100xxxxxxxxxx) |
obrigatório |
INTERVAL_MINUTES |
Intervalo entre envios (minutos) | 60 |
START_HOUR |
Hora inicial de funcionamento | 7 |
END_HOUR |
Hora final de funcionamento | 22 |
DAYS_OF_WEEK |
Dias permitidos (1=Seg, 7=Dom) | 1,2,3,4,5,6,7 |
TOPICS |
Lista de tópicos separados por vírgula | ver .env |
LANGUAGE |
Idioma dos insights | pt-BR |
MIN_LINES |
Mínimo de linhas por insight | 20 |
Prioridade de provedor: OpenRouter > StepFun > LlamaCPP > OpenAI
Estrutura do Projeto
ThorAgenteIA/
├── .env # Configurações sensíveis (não versionar)
├── .gitignore
├── iniciar.sh # Script de setup automático
├── main.py # Código principal
├── requirements.txt # Dependências Python
├── RULES.md # Regras para IA coder
└── README.md # Documentação
Descobrindo o chat ID do canal
Após adicionar o bot como administrador no canal, use um dos métodos abaixo:
Método 1: Usando o username
Se o canal tiver um username público, basta usar o formato @nome_do_canal em TELEGRAM_CHAT_ID.
Método 2: Usando o ID numérico
- Envie qualquer mensagem do canal para o bot ou adicione o bot ao canal.
- Consulte as atualizações com:
python3 -c "
import requests, os
from dotenv import load_dotenv
load_dotenv()
token = os.getenv('TELEGRAM_BOT_TOKEN')
r = requests.get(f'https://api.telegram.org/bot{token}/getUpdates', timeout=15)
print(r.text)
"
- Procure por
"chat":{"id":-100xxxxxxxxxxnas mensagens relacionadas ao canal.
Solução de Problemas
- Erro de API Key: Verifique se pelo menos um provedor está configurado no
.env. - Mensagem não enviada: Confira o token do bot e o identificador do canal.
- Horário incorreto: Verifique o fuso horário do servidor Linux.
- Bot sem permissão no canal: Certifique-se de que o bot é administrador do canal com permissão para postar mensagens.