Conteúdo
⚕ *Hermes Agent*
────────────
OpenWA – API Gateway de WhatsApp Open‑Source
-----------------------------------------
*O que é*
- Plataforma auto‑hospedada que expõe uma API REST para enviar e receber mensagens do WhatsApp.
- Código totalmente aberto (MIT) e sem bloqueio de fornecedor.
- Seu tráfego e dados permanecem no seu servidor.
*Principais recursos*
- API completa (texto, mídia, documentos, reações, status de entrega).
- Suporte a múltiplas sessões simultâneas.
- Webhooks HMAC para integração em tempo real.
- Dashboard web com Swagger Docs.
- Banco de dados configurável: SQLite ou PostgreSQL.
- Armazenamento de mídia: local, S3 ou MinIO.
- Cache opcional: memória ou Redis.
- Engines de WhatsApp:
- *whatsapp‑web.js* (Puppeteer) – padrão, mais robusto.
- *baileys* (WebSocket) – mais leve, sem navegador.
*Instalação rápida (Docker)*
```bash
git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
docker compose -f docker-compose.dev.yml up -d
# API + Dashboard ficam em http://localhost:2785
# Swagger: http://localhost:2785/api/docs
```
*Instalação local (Node .js)*
```bash
git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
npm install # instala dependências
npm run dev # inicia API + dashboard (hot‑reload)
# Dashboard: http://localhost:2886
# API: http://localhost:2785/api
```
*Configurações essenciais*
- `ENGINE_TYPE` → `whatsapp-web.js` ou `baileys`.
- Variáveis de banco (`DB_TYPE`, `DATABASE_URL`).
- Variáveis de storage (`STORAGE_TYPE`, `S3_ENDPOINT`, etc.).
- `API_KEY` para autenticação de chamadas externas.
*Segurança e mitigação de banimento*
- Simulação de comportamento humano (typing, intervalos aleatórios).
- Rate‑limiting interno.
- Possibilidade de usar proxy IP por sessão.
*Ecossistema*
- SDKs oficiais:
- JavaScript/TypeScript → `@rmyndharis/openwa` (npm)
- Python → `rmyndharis-openwa` (PyPI)
- PHP → `rmyndharis/openwa` (Packagist)
- Integrações prontas: n8n, ioBroker, entre outras.
*Próximos passos recomendados*
1. Decida o storage/banco que mais se adequa ao seu ambiente (SQLite para teste, PostgreSQL + Redis para produção).
2. Defina `API_KEY` e habilite HMAC nos webhooks.
3. Escolha a engine: use `whatsapp-web.js` se precisar de alta compatibilidade; troque para `baileys` se quiser reduzir uso de recursos.
4. Configure backup dos volumes Docker (banco + arquivos de mídia).
5. Teste a API com um endpoint simples (`curl -X POST http://localhost:2785/api/message ...`).
Qualquer dúvida sobre configuração específica (variáveis de ambiente, integração com seu banco de dados ou implantação em nuvem) é só avisar.