Implements ThorAgentIA bot that generates and sends scheduled insights via Telegram using configurable AI providers. Includes environment configuration, scheduling, and setup automation.
118 lines
4.0 KiB
Markdown
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.
|