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

  1. Configure o arquivo .env com 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
  1. Crie um bot no Telegram via @BotFather e obtenha o token.

  2. Obtenha o identificador do canal após adicionar o bot como administrador no canal. Use o username do canal no formato @nome_do_canal ou 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

  1. Envie qualquer mensagem do canal para o bot ou adicione o bot ao canal.
  2. 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)
"
  1. Procure por "chat":{"id":-100xxxxxxxxxx nas 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.
S
Description
No description provided
Readme
93 KiB
Languages
Python 88.9%
Shell 11.1%