Repository navigation
Release Notes v1.0.0 🎉
MeshChile Bot Agent - Primera versión estable
Fecha de lanzamiento: Julio 2025
🚀 Introducción
¡Presentamos la primera versión oficial del MeshChile Bot Agent!
Un bot conversacional multi-plataforma especializado en proporcionar soporte técnico automatizado para la comunidad Meshtastic de Chile. Este asistente inteligente está diseñado específicamente para ayudar con dispositivos Meshtastic, configuración de redes mesh LoRa, hardware especializado y regulaciones chilenas de radiocomunicaciones.
¿Qué es MeshChile Bot Agent?
Es una solución completa que combina inteligencia artificial con integración multi-plataforma para ofrecer soporte técnico 24/7 a la comunidad Meshtastic chilena. El bot entiende las particularidades locales, desde las regulaciones de SUBTEL hasta los desafíos geográficos únicos de Chile.
✨ Nuevas Funcionalidades
🤖 Motor de IA Especializado
- Knowledge Base Especializada: Entrenado específicamente en tecnología Meshtastic y regulaciones chilenas
- Configuración para Chile: Conocimiento profundo de región ANZ, slot 20, y servidor MQTT MeshChile
- Context Awareness: Memoria conversacional que mantiene el contexto entre mensajes
- Respuestas Optimizadas: Formato especial para WhatsApp/Telegram sin Markdown
📱 Soporte Multi-Plataforma
Telegram Integration
- ✅ Bot de Telegram con polling automático
- ✅ Soporte completo para grupos y chats privados
- ✅ Detección inteligente de menciones y respuestas
- ✅ Soporte para threads en supergrupos con temas
- ✅ Comandos especiales (/start, ayuda, etc.)
WhatsApp Integration (Dual Method)
- ✅ WhatsApp Business API oficial con webhooks
- ✅ WhatsApp Web Automation usando Selenium como fallback
- ✅ Auto-detección del mejor método disponible
- ✅ Soporte para grupos con detección de menciones
- ✅ QR Code automation para primera configuración
- ✅ Session persistence para WhatsApp Web
Discord Integration
- ✅ Discord Bot con conexión Gateway
- ✅ Configuración flexible por servidor y canal específico
- ✅ Detección de menciones y respuestas a mensajes
- ✅ Soporte para DMs y canales de servidor
- ✅ Manejo de permisos y roles
API REST Completa
- ✅ FastAPI backend con documentación automática
- ✅ Endpoints para chat directo
- ✅ Gestión de sesiones via API
- ✅ Health monitoring de todos los componentes
- ✅ Webhooks para integraciones externas
🧠 Sistema de Sesiones Inteligente
- ✅ Redis backend para persistencia de conversaciones
- ✅ Session management por usuario y plataforma
- ✅ Context preservation entre reinicializaciones
- ✅ TTL configurable para limpieza automática
- ✅ Session info detallada via API
🔧 Conocimiento Técnico Especializado
Hardware Meshtastic
- Dispositivos soportados: T-Beam, Heltec LoRa 32, RAK WisBlock, Station G1
- Configuración específica Chile: Región ANZ, Slot 20, preset LongFast
- Troubleshooting: Conectividad, batería, antenas, alcance
- Hardware recommendations: Según presupuesto y uso específico
Configuración de Red
- Servidor MQTT MeshChile: mqtt.meshchile.cl con credenciales
- Códigos regionales: Todos los códigos de regiones chilenas (rm, vs, bi, etc.)
- Comandos de bots: !rm, !vs, !sos, !clima, !regiones
- Canales privados: Configuración y roles
Regulaciones Chilenas
- SUBTEL compliance: Banda ISM 915MHz permitida
- Limitaciones de potencia: Según normativa chilena
- Importación de hardware: Consideraciones y delays típicos
- Ubicaciones estratégicas: Coordinación comunitaria
⚡ Arquitectura Robusta
Gestión de Plataformas
- ✅ Platform Managers: Orquestación independiente por plataforma
- ✅ Platform Adapters: Implementación específica y modular
- ✅ Restart capability: Reinicio individual sin afectar otras plataformas
- ✅ Health monitoring: Estado en tiempo real de cada componente
- ✅ Error handling: Recuperación automática de fallos
Backend Services
- ✅ Open Web UI Integration: Conexión con modelos LLM locales
- ✅ Redis Session Store: Persistencia confiable y escalable
- ✅ FastAPI Framework: API moderna con validación automática
- ✅ Pydantic Models: Validación de datos robusta
- ✅ Health Checks: Monitoreo de todos los servicios
🐳 Containerización y Despliegue
- ✅ Docker Support: Containerización completa
- ✅ Docker Compose: Orquestación de servicios
- ✅ Multi-stage builds: Optimización de imágenes
- ✅ Health checks: Verificación automática de servicios
- ✅ Volume persistence: Datos persistentes para Redis
- ✅ Network isolation: Seguridad entre contenedores
🛠️ Componentes Técnicos
Core Components
- BotAgent: Procesador central de mensajes con IA
- OpenWebUIClient: Cliente para modelos LLM
- RedisSessionManager: Gestión de sesiones persistentes
- FastAPI Application: API REST con documentación
Platform Components
- TelegramAdapter: Bot completo con polling
- WhatsAppAPIAdapter: Integración oficial con Meta
- WhatsAppWebAdapter: Automatización con Selenium
- DiscordAdapter: Bot con Gateway connection
Infrastructure
- Redis: Base de datos en memoria para sesiones
- Docker: Containerización y orquestación
- Nginx: Proxy reverso (configuración opcional)
📋 Requisitos del Sistema
Servicios Requeridos
- Open Web UI: Motor de IA (LLM) - Llama2, Mistral, etc.
- Redis: Base de datos para sesiones (v7+)
- Python: Versión 3.11 o superior
Servicios Opcionales (por plataforma)
- Chrome/Chromedriver: Para WhatsApp Web automation
- Meta Developer Account: Para WhatsApp Business API
- Telegram Bot Token: De BotFather
- Discord Developer Account: Para Discord bot
Recursos Recomendados
- RAM: 4GB mínimo (8GB recomendado)
- CPU: 2 cores mínimo (4 cores recomendado)
- Storage: 10GB para logs y sesiones
- Network: Acceso a internet estable
🚀 Guía de Inicio Rápido
1. Instalación con Docker (Recomendado)
# Clonar repositorio
git clone https://github.com/meshchile/bot-agent
cd bot-agent
# Configurar variables de entorno
cp .env.example .env
# Editar .env con tu configuración
# Iniciar servicios
docker-compose up -d --build
# Verificar estado
curl http://localhost:8000/health2. Configuración Mínima
# Configuración base requerida
OPENWEBUI_BASE_URL=http://localhost:8080
MODEL_NAME=llama2
REDIS_URL=redis://localhost:6379
# Agregar tokens de plataformas (opcional)
TELEGRAM_BOT_TOKEN=tu_token_aqui
DISCORD_BOT_TOKEN=tu_token_aqui3. Verificación
# API funcionando
curl http://localhost:8000/
# Estado de plataformas
curl http://localhost:8000/telegram/status
curl http://localhost:8000/whatsapp/status
curl http://localhost:8000/discord/status🔌 API Endpoints
Core Endpoints
| Método | Endpoint | Descripción |
|---|---|---|
GET |
/ |
Información del servicio |
GET |
/health |
Estado completo del sistema |
POST |
/chat |
Enviar mensaje al bot |
GET |
/sessions |
Listar sesiones activas |
GET |
/session/{id} |
Información de sesión |
DELETE |
/session/{id} |
Limpiar sesión |
Platform Management
| Método | Endpoint | Descripción |
|---|---|---|
GET |
/telegram/status |
Estado de Telegram |
POST |
/telegram/restart |
Reiniciar Telegram |
GET |
/whatsapp/status |
Estado de WhatsApp |
POST |
/whatsapp/restart |
Reiniciar WhatsApp |
POST |
/whatsapp/switch-method |
Cambiar API/Web |
GET |
/discord/status |
Estado de Discord |
POST |
/discord/restart |
Reiniciar Discord |
Webhooks
| Método | Endpoint | Descripción |
|---|---|---|
GET/POST |
/webhook/whatsapp |
Webhook WhatsApp Business |
POST |
/webhook/telegram |
Webhook Telegram |
📊 Métricas y Monitoreo
Health Checks Incluidos
- ✅ OpenWebUI connectivity: Verificación de conexión con LLM
- ✅ Redis health: Estado de base de datos
- ✅ Platform status: Estado individual de cada plataforma
- ✅ Session metrics: Número de sesiones activas
- ✅ Memory usage: Uso de recursos
Logging
- ✅ Structured logging: Logs JSON estructurados
- ✅ Platform separation: Logs separados por plataforma
- ✅ Error tracking: Rastreo detallado de errores
- ✅ Performance metrics: Tiempo de respuesta por mensaje
🌟 Casos de Uso
Para Usuarios de Meshtastic
- Configuración inicial: "¿Cómo configuro mi T-Beam para Chile?"
- Troubleshooting: "Mi nodo no se conecta a la red"
- Hardware: "¿Qué antena recomiendan para Santiago?"
- MQTT: "¿Cómo me conecto al servidor MeshChile?"
Para la Comunidad
- Soporte 24/7: Respuestas inmediatas sin esperar moderadores
- Información consistente: Mismas respuestas basadas en mejores prácticas
- Escalabilidad: Manejo de múltiples consultas simultáneas
- Multi-idioma: Preparado para español chileno y técnico
Para Desarrolladores
- API REST: Integración con aplicaciones existentes
- Webhooks: Notificaciones en tiempo real
- Session management: Contexto conversacional persistente
- Extensibilidad: Arquitectura modular para nuevas plataformas
🔜 Roadmap v1.1
Funcionalidades Planificadas
- Image Recognition: Análisis de capturas de configuración
- Notification System: Alertas proactivas de la red
Mejoras Técnicas
- Metrics Dashboard: Grafana + Prometheus
- Load Balancing: Múltiples instancias
- Database Backend: PostgreSQL para analytics
- ML Fine-tuning: Mejora continua del modelo
- CDN Integration: Cacheo de respuestas frecuentes
⚠️ Limitaciones Conocidas
Version 1.0.0
- WhatsApp Web: Requiere Chrome/Chromedriver instalado
- Session Storage: Solo Redis (sin backup automático)
- Language: Optimizado solo para español
- Model: Modelo aun no optimizado para FAQ
Workarounds Disponibles
- Chrome Issues: Usar WhatsApp Business API como alternativa
- Redis Backup: Configurar persistencia manual
- Model Failures: Health checks con restart automático
📝 Notas de Instalación
Configuración de Open Web UI
# Instalar Open Web UI si no tienes
docker run -d -p 8080:8080 \
-v ollama:/root/.ollama \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
# Descargar modelo recomendado
docker exec -it open-webui ollama pull llama2Configuración de Telegram
# Obtener token de @BotFather
# 1. Mensaje a @BotFather: /newbot
# 2. Seguir instrucciones
# 3. Copiar token a .env
# Configurar bot
# 1. /setdescription - "Bot FAQ MeshChile Meshtastic"
# 2. /setabouttext - "Soporte técnico automatizado"
# 3. /setuserpic - Logo MeshChileConfiguración de Discord
# Crear aplicación en Discord Developer Portal
# 1. https://discord.com/developers/applications
# 2. New Application -> Bot -> Create Bot
# 3. Copy Token
# 4. OAuth2 -> Bot -> Permissions -> Send Messages, Read Messages
# 5. Invite URL -> Add to Server🤝 Contribuciones
Este proyecto fue creado y desarrollado por @raztor, quien diseñó toda la arquitectura y funcionalidades del sistema multi-plataforma especializado en Meshtastic Chile.
Como Contribuir
- Fork del repositorio
- Branch para tu feature:
git checkout -b feature/amazing-feature - Commit cambios:
git commit -m 'Add amazing feature' - Push al branch:
git push origin feature/amazing-feature - Pull Request con descripción detallada
Áreas de Contribución
- Nuevas plataformas
- Mejoras de IA: Fine-tuning del modelo
- UI/UX: Dashboard web de administración
- Documentación: Traducciones, ejemplos
- Testing: Casos de prueba automatizados
📞 Soporte
Comunidad MeshChile
- Web: links.meshchile.cl
- Wiki: wiki.meshchile.cl
- Mapa: mqtt.meshchile.cl
- GitHub: github.com/Mesh-Chile
Desarrollador
- @raztor - Para consultas técnicas de desarrollo
Reportar Issues
- GitHub Issues: Para bugs y feature requests
- Telegram/WhatsApp: Para soporte de usuario final
- Discord: Para discusiones técnicas
📄 Licencias y Reconocimientos
Licencia
GNU Affero General Public License v3.0 - Ver LICENSE
Desarrollador Principal
- Raztor - github.com/raztor
- Arquitectura y desarrollo completo del sistema
- Integración multi-plataforma
- Especialización en Meshtastic Chile
Tecnologías Utilizadas
- FastAPI: Framework web moderno y rápido
- Redis: Base de datos en memoria
- Discord.py: Librería oficial de Discord
- Selenium: Automatización web
- Docker: Containerización
- Pydantic: Validación de datos
Reconocimientos
- Comunidad MeshChile: Por el feedback, testing y validación de funcionalidades
- Open Web UI: Por la interfaz LLM
- Meshtastic Project: Por la tecnología base
🎉 ¡Gracias por usar MeshChile Bot Agent v1.0.0!
Para soporte técnico, únete a la comunidad en links.meshchile.cl
Desarrollado con ❤️ para la comunidad Meshtastic Chile 🇨🇱
Release Date: Enero 2025
Next Release: v1.1.0 - Q4 2025
Developer: @raztor