- ISP-Copilot contiene plantillas (workflow) que deben ser adaptados a las necesidades de cada ISP y en muchos casos solo se incluyen placeholders (marcadores de posicion) para ser sustituidos por el correspondiente al sistema que posee el ISP, por ejemplo un sistema de ERP o contable.
- No se incluye ningun snapshot de qdrant ya que violaria la licencia de los pdf incluidos, si quieres contribuir al proyecto por favor no incluyas esta clase de archivos.
ISP-Copilot es un ecosistema NetDevOps diseñado para automatizar y facilitar la gestión operativa de un Proveedor de Servicios de Internet (ISP). Actúa como un agente inteligente de triage, soporte y mantenimiento, integrando sistemas de monitoreo, bases de conocimiento y canales de comunicación.
- Repositorio de la presentacion del proyecto: https://github.com/tecno-consultores/Soporte-tecnico-24-7-sin-humanos
- Video de la presentacion del proyecto en la ExpoISP 2026: https://www.youtube.com/watch?v=BHKMhNaxniM
El proyecto está dividido en cuatro componentes operativos principales y una capa de infraestructura común:
- Interactúa con los clientes a través de WhatsApp para solicitudes de soporte técnico o temas de facturación.
- Clasifica la solicitud, precarga la información correspondiente y la entrega al módulo de IA.
- Opera estrictamente con permisos de solo lectura para realizar diagnósticos de cara al usuario.
- Consulta la API del sistema de facturación para comprobar el estado del contrato al momento del contacto.
- Mantiene un registro de fallas y utiliza un historial o cola para evitar diagnósticos redundantes; si varios usuarios de la misma zona reportan la misma falla, el bot diagnostica una vez y responde a los demás con esa información.
- Al finalizar, indica el resultado al usuario y, de ser necesario, notifica al NOC mediante un ticket o alerta con los pasos y resultados.
- Deja un log de todas las comunicaciones en una tabla de n8n o base de datos.
- Interfaz dedicada para los técnicos del NOC a través de OpenWebUI y/u otra interfaz web.
- Cuenta con acceso a las herramientas de diagnóstico y se conecta a los equipos por SSH o peticiones API.
- Tiene la capacidad de realizar cambios en Zabbix, como cambiar el nivel de una alerta o cerrar un error.
- Deja un log estricto de los comandos ejecutados en una tabla de n8n o base de datos.
- Ejecuta respaldos diarios automatizados de los routers y equipos compatibles.
- Durante periodos donde el NOC no está disponible (ej. feriados o noches), un cron se ejecuta cada 5 minutos conectándose a los equipos por SSH/API para hacer revisiones rápidas y leer los logs de los últimos 10 minutos en Graylog.
- Actúa como sustituto del personal de soporte Nivel 1, siendo independiente del componente cron.
- Zabbix o Graylog envían alertas directamente al bot, el cual se inicia para atender la falla, tomando acciones correctivas o notificando al nivel superior si es grave.
- Implementa un mecanismo "Human-in-the-loop", enviando solicitudes por Telegram, Slack u otra plataforma para que el personal de guardia confirme las acciones del bot.
- Si Zabbix envía una actualización colocando el problema en estatus OK, se le notifica al técnico de inmediato.
- Sistema de Tickets: Cada interacción genera un ID de ticket único.
- Telemetría Centralizada: Existe un servidor Graylog donde los equipos dejan sus logs para ser consultados por el bot.
- Agente de Terminal: El bot cuenta con un agente disponible vía terminal de comandos (posiblemente Hermes) para las tareas más complejas.
- Safe Mode: Implementa el "Safe Mode" de MikroTik en las llamadas API/SSH para acciones de escritura; si el bot ejecuta un comando y pierde conexión, el router revierte el cambio automáticamente a los 10 minutos.
- Flujos Modulares: Las herramientas de diagnóstico están creadas en workflows separados en n8n para ser consumidas por varios flujos sin repetir estructuras.
- Motor RAG (Generación Aumentada por Recuperación): Integrado con la última documentación de MikroTik, Zabbix, Proxmox, libros de switching, manuales de OLT, referencia de terminal y procedimientos internos de la empresa.
El agente tiene acceso exclusivo a las siguientes herramientas predefinidas:
consultar_estado_bgp: Revisa si los peers BGP están establecidos y cuántas rutas reciben (/routing bgp connection print detail).verificar_balanceo_pcc: Revisa el tráfico en las interfaces WAN del ECMP/PCC para confirmar distribución equitativa (/interface monitor-traffic [find] once).diagnosticar_recursos_router: Revisa CPU, memoria, temperatura y voltaje (/system resource print,/system health print).revisar_sesion_pppoe: Busca la conexión, IP asignada, uptime y consumo de un usuario (/ppp active print detail where name="usuario").consultar_potencia_optica_ont: Se conecta a la OLT (Huawei/ZTE) y extrae valores Rx/Tx para descartar cortes de fibra física.verificar_agotamiento_cgnat: Consulta escasez en los pools de IPs públicas.liberar_sesion_pppoe: Desconecta sesiones colgadas para forzar autenticación (/ppp active remove [find name="usuario"]).reiniciar_puerto_poe: Ejecuta un Power-Cycle a un puerto para reiniciar antenas o switches bloqueados (/interface ethernet poe power-cycle [find name="puerto"]).auditar_conexiones_ecmp: Verifica si las sesiones se están marcando y distribuyendo correctamente (/ip firewall connection print where connection-mark="...").
El repositorio está dividido en módulos independientes:
/zabbix: Configuración de Docker para Zabbix Server, Base de Datos y Web Interface./n8n: Configuración de n8n para la orquestación de flujos de IA./ai: Prompts y configuraciones del agente inteligente./semaphore: Instalador de Semaphore/graylog: Instalador de graylog
- Docker y Docker Compose instalado.
- Ubuntu 24.04 o superior (Recomendado).
- Nvidia container toolkit en caso de usar ollama o hermes con GPU.
Este proyecto está bajo la Licencia MIT - mira el archivo LICENSE para detalles.