# 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: ```env 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 ``` 2. **Crie um bot no Telegram** via @BotFather e obtenha o token. 3. **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 ```bash chmod +x iniciar.sh ./iniciar.sh ``` ## Execução ```bash 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 |