Files
marco 5bc68e3627 feat(db): add SQLite database persistence for insights
Implement local database storage to automatically save all sent insights
with metadata including topic, content, AI provider, model, and timestamp.
Add database module with initialization and query functions, integrate
with main job flow, and update documentation with database schema details.
2026-09-03 15:05:45 -03:00

3.3 KiB

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: OpenRouter, LlamaCPP local ou OpenAI.
  • Todos os insights são salvos automaticamente em um banco de dados SQLite local (insights.db).

Pré-requisitos

  • Python 3.10 ou superior
  • Chave de API de IA: OpenRouter, LlamaCPP local ou OpenAI
  • 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,...

# Provedor de IA (openrouter | llamacpp | openai)
DEFAULT_AI_PROVIDER=openrouter

# Modelo de IA (depende do provedor escolhido)
DEFAULT_AI_MODEL=minimax/minimax-m3:free

# Chave de API do provedor escolhido
OPENROUTER_API_KEY=sua_chave_openrouter
# LLAMACPP_API_KEY=not-needed       # se usar LlamaCPP
# OPENAI_API_KEY=sua_chave_openai   # se usar OpenAI direto
  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.

Instalação

chmod +x iniciar.sh
./iniciar.sh

Execução

source venv/bin/activate
python3 main.py

Variáveis de Ambiente

Variável Descrição Padrão
DEFAULT_AI_PROVIDER Provedor de IA (openrouter, llamacpp, openai) openrouter
DEFAULT_AI_MODEL Nome do modelo no provedor escolhido obrigatório
OPENROUTER_API_KEY Chave da API OpenRouter opcional
LLAMACPP_BASE_URL URL base da API LlamaCPP local http://localhost:8080/v1/
LLAMACPP_API_KEY Chave da API LlamaCPP not-needed
OPENAI_API_KEY Chave da API OpenAI opcional
TELEGRAM_BOT_TOKEN Token do bot Telegram obrigatório
TELEGRAM_CHAT_ID Username do canal ou ID numérico 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

Banco de dados SQLite

Todos os insights enviados são registrados automaticamente no arquivo insights.db, na mesma pasta do projeto. A tabela insights armazena:

Campo Descrição
id Identificador único
topic Tópico do insight
content Conteúdo completo do insight
provider Provedor de IA utilizado
model Modelo utilizado
sent_at Data e hora do envio