Files
ThorAgentIA/README.md
T
marco ad4b73b668 feat(telegram): add automated AI insight delivery system
Implements ThorAgentIA bot that generates and sends scheduled insights
via Telegram using configurable AI providers. Includes environment
configuration, scheduling, and setup automation.
2026-08-16 20:09:57 -03:00

118 lines
4.0 KiB
Markdown

# 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 chat 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:
```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,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
```
2. **Crie um bot no Telegram** via @BotFather e obtenha o token.
3. **Obtenha seu chat ID** enviando uma mensagem para o bot e consultando a API do Telegram ou usando um bot como @myidbot.
## Instalação
```bash
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
```bash
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` | ID do chat Telegram | 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
```
## 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 chat ID.
- **Horário incorreto**: Verifique o fuso horário do servidor Linux.