Donde la nostalgia se encuentra con la inteligencia artificial moderna
Versión 3.0.3 | Licencia GPL-3.0 | Por Alan Mac-Arthur García Díaz
- 🎯 ¿Qué es MSN-AI?
- ✨ Características Principales
- 🚀 Inicio Rápido
- 📋 Requisitos del Sistema
- 🌍 Instalación por Plataforma
- 🧠 Comandos de Ollama
- 🎮 Guía de Uso
- ⚙️ Configuración
- 🏗️ Arquitectura del Proyecto
- 📊 Estadísticas del Proyecto
- 🤝 Contribuir
- 📞 Contacto y Soporte
- ⚖️ Licencia
MSN-AI es una aplicación web que combina la interfaz nostálgica de Windows Live Messenger con modelos de IA local y en la nube ejecutados a través de Ollama.
Dos ediciones disponibles:
| 🐳 Docker Edition | 💻 Local Edition |
|---|---|
| Instalación de 1 comando | Instalación tradicional |
| Cero configuración manual | Máximo control |
| Compatible universal | Rendimiento nativo |
| Ideal para nuevos usuarios | Ideal para desarrolladores |
- Interfaz de Windows Live Messenger (WLM/MSN)
- 5 sonidos originales de MSN (login, logout, message_in, message_out, nudge)
- Estados de presencia - Online 🟢, Away 🟡, Busy 🔴, Invisible ⚪
- 30 emoticones integrados - 2 categorías (Naturales y Amor)
- Animaciones MSN - Efectos visuales clásicos.
- IA local integrada - Compatible con todos los modelos de Ollama.
- IA en la nube - Modelos cloud de Ollama (con API Key o signin).
- Detección automática de modelos - Carga dinámica de modelos disponibles.
- Multi-chat simultáneo - La IA responde en varios chats a la vez.
- Salas de Expertos (Expert Rooms) 🏢 - Chats grupales con múltiples modelos de IA respondiendo secuencialmente.
- System Prompt para Salas Grupales 🤖 - Instrucciones contextuales automáticas para cada modelo participante con variables dinámicas
{{MODEL_NAME}}y{{PARTICIPANT_LIST}}. - Detener respuesta ⏹️ - Aborta generación en curso (funciona en chats individuales y salas de expertos).
- Notificación de estado a IA - La IA sabe cuando cambias tu estado.
- Persistencia automática - localStorage del navegador.
- Búsqueda avanzada - En todos los chats o dentro de uno específico.
- Ordenar historial - Por fecha ascendente/descendente.
- Indicadores de no leídos - Resalta chats nuevos en verde.
- Limpiar chat - Borra mensajes sin eliminar el chat.
- Cerrar chat - Cierra vista sin eliminar (con confirmación)
- Eliminar chat - Elimina permanentemente (con modal)
- Imprimir chat - Versión imprimible con estilos.
- Subir archivos TXT - Carga archivos de texto directamente.
- Subir archivos PDF - Procesamiento completo con extracción de texto.
- Subir archivos JPG, PNG, GIF, SVG - Procesamiento completo de imágenes.
- OCR integrado - Tesseract.js para PDFs escaneados.
- Fragmentación inteligente - División automática en chunks.
- Persistencia en IndexedDB - Almacenamiento de archivos adjuntos.
- Descarga de archivos - Recupera archivos en formato original.
- Preview de archivos - Vista previa antes de enviar.
- Límite de 10MB - Por archivo para rendimiento óptimo.
- Ajuste de tamaño - 10px a 32px con botones ±
- Formato de texto - Negrita, cursiva, subrayado.
- Dictado por voz 🎤 - Web Speech API con reconocimiento continuo, feedback visual/auditivo, y soporte multiidioma.
- Emoticones mejorados 😊 - 2 categorías (Naturales y Amor) con cierre automático al seleccionar.
- Zumbido/Nudge 📳 - Como MSN original.
- Formulario avanzado con 11 campos especializados:
- 👤 Rol del LLM.
- 📝 Contexto.
- 👥 Audiencia.
- 📋 Tareas (múltiples líneas).
- ℹ️ Instrucciones.
- 💬 Empatía y Tono.
- ❓ Clarificación.
- 🔄 Refinamiento.
- 🚫 Límites.
⚠️ Consecuencias.- ✨ Ejemplo de Respuesta.
- Generación automática de prompts estructurados.
- Visualización profesional con formato.
- Modo edición para modificar prompts existentes.
- Biblioteca completa de prompts con metadatos:
- Nombre personalizado.
- Descripción detallada.
- Categoría personalizable.
- Tags/etiquetas múltiples.
- Fecha de creación.
- Sistema de filtrado:
- Por categoría.
- Por búsqueda de texto.
- Visualización tipo Pinterest.
- Gestión avanzada:
- Ver detalles completos.
- Editar prompts guardados.
- Usar directamente en chat.
- Cargar en formulario.
- Eliminar individual o todos.
- Import/Export de prompts (JSON).
- Contador de prompts guardados.
- Almacenamiento en localStorage.
- Exportar todos - JSON completo con configuración.
- Exportar seleccionados - Con checkboxes.
- Exportar chat actual - Conversación individual.
- Exportar prompts - Biblioteca completa.
- Importación inteligente - Resolución automática de conflictos.
- Importar prompts - Desde archivo JSON.
🇪🇸 Español | 🇬🇧 Inglés | 🇩🇪 Alemán | 🇫🇷 Francés | 🇸🇦 Árabe | 🇨🇳 Chino | 🇮🇳 Hindi | 🇧🇩 Bengalí | 🇵🇹 Portugués | 🇷🇺 Ruso | 🇯🇵 Japonés | 🇰🇷 Coreano | 🇮🇩 Indonesio | 🇹🇷 Turco | 🇵🇰 Urdu | 🇻🇳 Vietnamita | 🇮🇳 Tamil | 🇮🇳 Telugu | 🇮🇳 Maratí | 🇮🇳 Panyabí | 🇵🇪 Quechua | 🇧🇴 Aymara
- Detección automática del idioma del navegador.
- Cambio manual desde configuración.
- Persistencia entre sesiones.
- Traducción completa de toda la interfaz y notificaciones.
- System Prompt multiidioma - Traducción automática del system prompt al cambiar idioma.
- Sin texto hardcodeado - Todas las notificaciones usan el sistema i18n.
- Interpolación inteligente - Variables dinámicas en mensajes traducidos.
- Instalación simplificada - Un comando para instalar.
- Scripts de gestión - Inicio, parada, estado, logs, limpieza.
- Health checks automáticos - Monitoreo de servicios.
- Volúmenes persistentes - Datos y configuración.
- Opción Nuclear - Reset completo de MSN-AI.
- Rendimiento nativo - Sin overhead de contenedores.
- Scripts automáticos - Para Linux, Windows y macOS.
- Detector de hardware - Recomienda modelos según tu sistema.
- Accesos directos - Lanzadores en escritorio.
git clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
chmod +x start-docker.sh
./start-docker.sh --auto
Instalación de modelos IA Cloud (Opcional):
# Para Linux
cd linux
./docker-install-cloud-models.sh
# Para macOS
cd ../macos
./docker-install-cloud-models-mac.shgit clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd windows
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Unblock-File -Path .\start-msnai-docker.ps1
.\start-msnai-docker.ps1 --autoInstalación de modelos IA Cloud (Opcional):
Unblock-File -Path .\docker-install-cloud-models.ps1
.\docker-install-cloud-models.ps1Linux:
cd linux
./docker-start.sh # Iniciar
./docker-status.sh # Estado
./docker-logs.sh --follow # Logs en tiempo real
./docker-stop.sh # Detener
./docker-cleanup.sh -a # Eliminación total
./docker-check-config.sh # Verificar configuración
./docker-diagnostics.sh # Diagnóstico completo
./docker-test-ai.sh # Probar IAmacOS:
cd macos
./docker-diagnostics-mac.sh # Diagnóstico para macOS
./docker-check-signin-mac.sh # Verificar signin cloud
# Resto de scripts en carpeta linux/- Local:
http://localhost:8000/msn-ai.html - Remoto:
http://[IP-SERVIDOR]:8000/msn-ai.html
git clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd linux
chmod +x *.sh
./start.sh --auto # Iniciar MSN-AIgit clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Unblock-File -Path .\start.ps1
.\start.ps1 --auto # Iniciar MSN-AIgit clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd linux
chmod +x *.sh
./ai_check_all.sh # Detecta hardware (opcional)
./start-msnai.sh --auto # Iniciar MSN-AI
./create-desktop-shortcut.sh # Crear lanzadorgit clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd macos
chmod +x *.sh
./ai_check_all_mac.sh # Detecta hardware (opcional)
./start-msnai-mac.sh --auto # Iniciar MSN-AI
./create-desktop-shortcut-mac.sh # Crear un acceso directo en el escritoriogit clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd windows
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Unblock-File -Path .\start-msnai.ps1
Unblock-File -Path .\ai_check_all.ps1
Unblock-File -Path .\create-desktop-shortcut.ps1
.\ai_check_all.ps1 # Detecta hardware (opcional)
.\start-msnai.ps1 --auto # Iniciar MSN-AI
.\create-desktop-shortcut.ps1 # Crear acceso directoAcceso:
- Local:
http://localhost:8000/msn-ai.html
Nota importante: Si el puerto 8000 está en uso, MSN-AI intentará usar el puerto 8001 y así sucesivamente hasta encontrar uno disponible. Si por lo tanto los chats estarán disponibles en el puerto libre encontrado. Por ejemplo si creaste chats en el puerto 8000 y si luego MSN-AI pasa al 8001, los chats del puerto 8000 no estarán disponibles en el puerto 8001.
En Docker:
cd linux # Linux o macOS
./docker-stop.shEn Windows usar la GUI de Docker para detener MSN-AI
En Local:
Ctrl + C # En la terminal donde se ejecutó (Windows, Linux, macOS)Emergencia Docker:
cd linux # Linux o macOS
./docker-cleanup.sh -a # Reset completo MSN-AIEmergencia Local:
# Linux/macOS
pkill -f "start-msnai"
pkill -f "python.*http.server"
# Windows
Get-Process -Name "python" | Where-Object {$_.CommandLine -like "*http.server*"} | Stop-Process- Docker Engine 20.10+ o Docker Desktop
- SO: Linux (Ubuntu 18.04+, Debian 10+), Windows 10/11, macOS 10.14+
- RAM: 2GB+ (16GB recomendado para modelos grandes)
- Disco: 10GB+ libre
- GPU: NVIDIA (opcional, para aceleración)
Linux:
- Ubuntu 18.04+, Debian 10+, Fedora 32+ o compatible
- Python 3.6+ (generalmente preinstalado)
- Ollama instalado
Windows:
- Windows 10/11 (64-bit)
- PowerShell 5.1+
- Python 3.6+ (opcional)
- Ollama instalado
macOS:
- macOS 10.14+ (Mojave o superior)
- Python 3.6+ (incluido en el sistema)
- Ollama instalado
- Navegador: Chrome 80+, Firefox 75+, Safari 14+, Edge 80+
- JavaScript habilitado
- localStorage disponible
GPU con 4GB+ VRAM:
mistral:7b(Local)llama3.2:latest(Local)qwen2.5:7b(Local)qwen3-vl:235b-cloud(Nube)gpt-oss:120b-cloud(Nube)qwen3-coder:480b-cloud(Nube)deepseek-v3.1:671b-cloud(Nube)gpt-oss:20b-cloud(Nube)qwen3-vl:235b-instruct-cloud(Nube)minimax-m2:cloud(Nube)kimi-k2:1t-cloud(Nube)kimi-k2-thinking:cloud(Nube)glm-4.6:cloud(Nube)mistral-large-3:675b-cloud(Nube)cogito-2.1:671b-cloud(Nube)cogito-2.1:671b-cloud(Nube)gemini-3-pro-preview:latest(Nube)ministral-3:3b-cloud(Nube)ministral-3:8b-cloud(Nube)ministral-3:14b-cloud(Nube)- Modelos cloud de Ollama (requieren autenticación por signin)
CPU o GPU NVIDIA con 8GB+ RAM:
phi3:mini(Local - 3.8GB)gemma2:2b(Local - 1.6GB)tinyllama(Local - 637MB)qwen2.5:3b(Local - 1.9GB)qwen3-vl:235b-cloud(Nube)gpt-oss:120b-cloud(Nube)qwen3-coder:480b-cloud(Nube)deepseek-v3.1:671b-cloud(Nube)gpt-oss:20b-cloud(Nube)qwen3-vl:235b-instruct-cloud(Nube)minimax-m2:cloud(Nube)kimi-k2:1t-cloud(Nube)kimi-k2-thinking:cloud(Nube)glm-4.6:cloud(Nube)mistral-large-3:675b-cloud(Nube)cogito-2.1:671b-cloud(Nube)cogito-2.1:671b-cloud(Nube)gemini-3-pro-preview:latest(Nube)ministral-3:3b-cloud(Nube)ministral-3:8b-cloud(Nube)ministral-3:14b-cloud(Nube)- Modelos cloud de Ollama (requieren autenticación por signin)
Apple Silicon (M1/M2/M3/M4):
llama3.2:latest(Local)mistral:7b(Local)qwen2.5:7b(Local)deepseek-r1:7b(Local)qwen3-vl:235b-cloud(Nube)gpt-oss:120b-cloud(Nube)qwen3-coder:480b-cloud(Nube)deepseek-v3.1:671b-cloud(Nube)gpt-oss:20b-cloud(Nube)qwen3-vl:235b-instruct-cloud(Nube)minimax-m2:cloud(Nube)kimi-k2:1t-cloud(Nube)kimi-k2-thinking:cloud(Nube)glm-4.6:cloud(Nube)mistral-large-3:675b-cloud(Nube)cogito-2.1:671b-cloud(Nube)cogito-2.1:671b-cloud(Nube)gemini-3-pro-preview:latest(Nube)ministral-3:3b-cloud(Nube)ministral-3:8b-cloud(Nube)ministral-3:14b-cloud(Nube)- Modelos cloud de Ollama (requieren autenticación por signin)
Nota: Cualquier modelo disponible en https://ollama.com/search es compatible con MSN-AI
git clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd linux
chmod +x start-msnai-docker.sh
./start-msnai-docker.sh --autoGPU NVIDIA (Opcional):
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
# Luego ejecutar instalación normalgit clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd windows
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Unblock-File -Path .\start-msnai-docker.ps1
.\start-msnai-docker.ps1 --autogit clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd macos
chmod +x start-msnai-docker-mac.sh
./start-msnai-docker-mac.sh --auto# 1. Instalar dependencias
sudo apt update
sudo apt install -y python3 curl git # Ubuntu/Debian
# sudo dnf install -y python3 curl git # Fedora/RHEL
# 2. Instalar Ollama (si no está instalado)
curl -fsSL https://ollama.com/install.sh | sh
# 3. Clonar y configurar
git clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd linux
chmod +x *.sh
# 4. Detectar hardware y configurar modelos (opcional)
./ai_check_all.sh
# 5. Iniciar MSN-AI
./start-msnai.sh --auto
# 6. Crear lanzador en escritorio (opcional)
./create-desktop-shortcut.sh# 1. Descargar e instalar Ollama desde https://ollama.com
# 2. Clonar repositorio
git clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd windows
# 3. Configurar PowerShell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 4. Desbloquear scripts
Unblock-File -Path .\start-msnai.ps1
Unblock-File -Path .\ai_check_all.ps1
Unblock-File -Path .\create-desktop-shortcut.ps1
# 5. Detectar hardware (opcional)
.\ai_check_all.ps1
# 6. Iniciar MSN-AI
.\start-msnai.ps1 --auto
# 7. Crear acceso directo (opcional)
.\create-desktop-shortcut.ps1# 1. Descargar e instalar Ollama desde https://ollama.com
# 2. Clonar repositorio
git clone https://github.com/mac100185/MSN-AI.git
cd MSN-AI
cd macos
# 3. Dar permisos
chmod +x *.sh
# 4. Detectar hardware (opcional)
./ai_check_all_mac.sh
# 5. Iniciar MSN-AI
./start-msnai-mac.sh --auto
# 6. Crear aplicación en escritorio (opcional)
./create-desktop-shortcut-mac.shollama pull <nombre-del-modelo> # Descarga un modelo
ollama create <nombre> -f <Modelfile> # Crea modelo personalizadoollama run <nombre-del-modelo> # Ejecuta en modo interactivo
ollama run <nombre> "tu prompt aquí" # Ejecuta con promptollama list # Muestra modelos descargadosollama rm <nombre-del-modelo> # Elimina un modeloollama cp <origen> <destino> # Copia modelo con nuevo nombreollama show <nombre-del-modelo> # Información detallada
ollama show --modelfile <nombre> # Muestra Modelfile
ollama show --parameters <nombre> # Muestra parámetros
ollama show --license <nombre> # Muestra licencia
ollama show --template <nombre> # Muestra plantilla de promptollama serve # Inicia servidor manualmenteollama signin # Iniciar sesión en Ollama
ollama signout # Cerrar sesión| Sistema | Instalación típica | Acceso al CLI | Notas |
|---|---|---|---|
| Linux | curl -fsSL https://ollama.com/install.sh | sh |
Disponible en $PATH |
Requiere systemd o inicio manual del daemon (ollama serve). |
| macOS | Descargar desde ollama.com | Disponible en terminal | Se ejecuta como app en segundo plano; CLI integrado automáticamente. |
| Windows | Descargar desde ollama.com | Disponible en PowerShell o CMD | Requiere Windows 10/11 (64-bit); servicio en segundo plano. |
💡 Importante: En Windows y macOS, el comando
ollamaestá disponible en la terminal una vez instalado y en ejecución.
- Clic en selector de estado (parte superior de contactos)
- Selecciona: Online 🟢 | Away 🟡 | Busy 🔴 | Invisible ⚪
- Bonus: Activa "Notificar cambios a IA" en configuración
Crear chat:
- Clic en botón "+" en la lista de contactos
- Empieza a conversar inmediatamente
Crear sala de expertos:
- Clic en botón "🏢" (Nueva Sala de Expertos) en la lista de contactos
- Ingresa nombre personalizado para la sala
- Selecciona 2 o más modelos de IA que participarán
- Clic en "Crear Sala"
- Escribe tu consulta - cada modelo responderá secuencialmente
- Las respuestas aparecen etiquetadas: "IA (nombre-del-modelo)"
- Perfecto para comparar respuestas o consultar opiniones múltiples
Características de salas de expertos:
- Icono 🏢 diferenciador en la lista
- Sección agrupada "Salas de Expertos"
- Cada modelo procesa con delay para evitar saturación
- Retry automático en errores HTTP 429
- Manejo individual de errores por modelo
- Botón ⏹️ detiene todas las respuestas pendientes
- Exportación incluye info de participantes
Buscar:
- Barra superior: busca por nombre en todos los chats
- Botón lupa 🔍: busca contenido en chat actual (resalta)
Ordenar:
- Clic en botón de ordenar (lista de chats)
- Alterna ascendente/descendente por fecha
Exportar:
- Botón "Exportar": todos los chats a JSON
- Botón "Seleccionar": checkboxes para exportar algunos
- Menú chat (⋮) → "Exportar": chat individual
Importar:
- Botón "Importar" → Selecciona archivo JSON
- Resolución automática de conflictos
Otras acciones:
- Limpiar: borra mensajes, mantiene chat
- Cerrar: cierra vista (con confirmación)
- Eliminar: elimina permanentemente (con modal)
- Imprimir: versión imprimible con estilos
Configurar instrucciones para modelos en salas grupales:
- Clic en configuración ⚙️
- Desplázate hasta "System Prompt para Salas de Chat Grupales"
- Verás un editor de texto con la plantilla predeterminada
- Variables dinámicas disponibles:
{{MODEL_NAME}}: Se reemplaza automáticamente con el nombre de cada modelo{{PARTICIPANT_LIST}}: Se reemplaza con la lista de todos los participantes
Características del System Prompt:
- ✅ Traducción automática: Al cambiar idioma, el prompt se actualiza automáticamente
- ✅ Personalizable: Edita el contenido según tus necesidades
- ✅ Botón Restaurar (🔄): Vuelve a la plantilla predeterminada del idioma actual
- ✅ Instrucciones incluidas:
- Identificación obligatoria con formato
[NOMBRE_MODELO]: - Conciencia de entorno multi-agente
- Protocolo de respuesta colaborativa
- Reglas de formato y límites
- Ejemplos de uso
- Identificación obligatoria con formato
Personalizar:
- Edita el texto en el editor
- Mantén las variables
{{MODEL_NAME}}y{{PARTICIPANT_LIST}} - Guarda cambios con el botón "💾 Guardar"
- Los cambios se aplican inmediatamente a nuevas salas
Restaurar predeterminado:
- Clic en botón "🔄 Restaurar" junto al título
- Se carga la plantilla predeterminada del idioma actual
- Personalización anterior se reemplaza
Nota: El system prompt se envía automáticamente a cada modelo al inicio de la conversación en salas de expertos, mejorando significativamente la calidad y coordinación de las respuestas.
Crear prompt estructurado:
- Clic en "Generador de Prompts" en barra de herramientas
- Completa campos (mínimo: Rol, Contexto, Tareas)
- Clic en "Generar Prompt"
- Revisa prompt en modal
- Opciones:
- Copiar: al portapapeles
- Usar en Chat: inserta en área de texto
- Guardar: abre modal para guardar en biblioteca
Editar prompt existente:
- Abre biblioteca de prompts guardados
- Clic en "Editar" en el prompt deseado
- Modifica campos necesarios
- Clic en "Actualizar Prompt"
Guardar prompt:
- Después de generar, clic en "Guardar"
- Completa metadatos:
- Nombre del prompt
- Descripción
- Categoría
- Tags (separados por comas)
- Clic en "Guardar Prompt"
Buscar y filtrar:
- Campo de búsqueda: por nombre, descripción o tags
- Selector de categoría: filtra por categoría específica
- Visualización tipo Pinterest
Acciones disponibles:
- Ver Detalles: información completa
- Editar: modifica prompt guardado
- Usar en Chat: inserta directamente
- Cargar en Formulario: para edición
- Eliminar: borra individual
- Eliminar Todos: limpia biblioteca (con confirmación)
Import/Export:
- Exportar Todos: descarga biblioteca en JSON
- Importar: carga prompts desde JSON
Escribir mensaje:
- Escribe en área de texto
- Presiona Enter o clic "Enviar"
- Sonidos automáticos: envío 📤 y recepción 📥
Ajustar tamaño de fuente:
- Botones A- y A+
- Rango: 10px a 32px (pasos de 2px)
Emoticones:
- Clic en botón 😊
- Selecciona categoría (Naturales/Amor)
- 30 emojis disponibles
Formato de texto:
- Negrita (B), Cursiva (I), Subrayado (U)
- Selecciona texto y aplica formato
Zumbido/Nudge:
- Clic en botón 📳
- Envía "sacudida" como MSN original
- Animación y sonido incluidos
Dictado por voz:
- Clic en botón 🎤 para iniciar grabación
- Permite permisos de micrófono (primera vez)
- Botón se vuelve rojo pulsante durante grabación
- Notificación: "🎤 Grabando... Hable ahora"
- Habla naturalmente - transcribe en tiempo real
- Clic nuevamente en 🎤 para detener
- Texto aparece automáticamente en el área de mensaje
Características del dictado:
- Reconocimiento continuo sin pausas
- Feedback visual (botón rojo) y auditivo (sonidos)
- Soporte para español e inglés según configuración
- Detección automática de conexión a internet
- Mensajes claros si no hay internet disponible
- Manejo robusto de errores con notificaciones específicas
- Traducciones en los 22 idiomas del sistema
Nota importante: El dictado por voz requiere conexión a internet, ya que utiliza la Web Speech API de Google Chrome/Edge
Subir archivo:
- TXT: botón 📄, selecciona .txt
- PDF: botón PDF, selecciona .pdf (máx. 10MB)
- Contenido procesado y guardado en IndexedDB
- Descarga posterior disponible
- Clic en configuración ⚙️
- Selector de idioma
- Selecciona entre 22 idiomas
- Interfaz se traduce instantáneamente (100% de cobertura)
- Todas las notificaciones se muestran en el idioma seleccionado
- Mensajes dinámicos con interpolación de variables traducidos
- Preferencia se guarda automáticamente
Mejoras en v3.0.3:
- ✅ Eliminado todo texto hardcodeado en notificaciones
- ✅ 458+ claves de traducción por idioma
- ✅ Mensajes de estado, archivos y salas de expertos completamente traducidos
- ✅ Interpolación inteligente: tamaños, cantidades, páginas y nombres en cada idioma
Accede desde el botón ⚙️ en la interfaz:
- 🔊 Sonidos - Activar/desactivar efectos MSN
- 📢 Notificar cambios de estado - IA recibe notificación
- 🌍 Idioma - 22 idiomas disponibles
- 🌐 Servidor Ollama - URL (autodetección o manual)
- 🤖 Modelo de IA - Selector dinámico de modelos
- ⏱️ Timeout API - Tiempo máximo de espera (30s)
- 🤖 System Prompt para Salas Grupales - Editor de instrucciones contextuales con variables dinámicas
{{MODEL_NAME}}y{{PARTICIPANT_LIST}}, botón de restauración, y traducción automática - 🔌 Probar conexión - Verifica Ollama y modelos
Persistencia: Todas las configuraciones se guardan automáticamente en localStorage.
<old_text line=883>
- 30 emoticones integrados
- 2 categorías de emoticones (con cierre automático)
- Salas de expertos con múltiples modelos de IA
- System Prompt configurable con variables dinámicas y traducción automática
- Dictado por voz con reconocimiento continuo
- Sistema de detención para respuestas individuales y grupales
- Generador de prompts con 11 campos especializados
- Gestor de prompts con biblioteca completa
- Sistema de búsqueda avanzado (global y por chat)
- Exportación múltiple (todos, seleccionados, individual)
- Importación inteligente con resolución de conflictos
MSN-AI/
├── 📄 msn-ai.html # HTML (827 líneas) - Estructura
├── 📄 msn-ai.js # JavaScript (6,882 líneas) - Lógica
├── 📄 msn-ai.js # CSS (1,666 líneas) - Estilos
├── 📄 start.sh # Wrapper universal (Linux/macOS)
├── 📄 start.ps1 # Wrapper universal (Windows)
├── 📄 start-docker.sh # Lanzador Docker (Linux/macOS)
├── 📄 start-docker.ps1 # Lanzador Docker (Windows)
├── 📄 README.md # Este archivo
├── 📄 CHANGELOG.md # Historial de cambios
├── 📄 LICENSE # Licencia GPL-3.0
├── 📄 .gitignore # Archivos ignorados por Git
├── 📄 .dockerignore # Archivos ignorados por Docker
│
├── 📁 lang/ # Sistema multiidioma (22 idiomas)
│ ├── es.json, en.json, de.json, fr.json
│ ├── ar.json, zh.json, hi.json, bn.json
│ ├── pt.json, ru.json, ja.json, ko.json
│ ├── id.json, tr.json, ur.json, vi.json
│ ├── ta.json, te.json, mr.json, pa.json
│ └── qu.json, ay.json
│
├── 📁 assets/ # Recursos multimedia (102 archivos)
│ ├── sounds/ # 5 archivos WAV originales
│ ├── background/ # Fondos de ventanas
│ ├── chat-window/ # Elementos de chat
│ ├── contacts-window/ # Elementos de contactos
│ ├── general/ # Logo y recursos generales
│ ├── scrollbar/ # Elementos de scrollbar
│ ├── status/ # Iconos de estado
│ └── screenshots/ # Capturas de pantalla
│
├── 📁 docker/ # Configuración Docker
│ ├── Dockerfile # Imagen de MSN-AI
│ ├── docker-compose.yml # Orquestación de servicios
│ ├── docker-entrypoint.sh # Script de entrada
│ ├── healthcheck.sh # Verificación de salud
│ └── scripts/ # Scripts de configuración
│ ├── ai-setup-docker.sh # Setup automático de IA
│ └── setup-ollama-env.sh # Configuración de Ollama
│
├── 📁 linux/ # Scripts para Linux (17 archivos)
│ ├── start-msnai.sh # Iniciar local
│ ├── start-msnai-docker.sh # Iniciar Docker
│ ├── docker-start.sh # Iniciar contenedores
│ ├── docker-stop.sh # Detener contenedores
│ ├── docker-status.sh # Estado de contenedores
│ ├── docker-logs.sh # Ver logs
│ ├── docker-cleanup.sh # Limpieza completa
│ ├── docker-check-config.sh # Verificar configuración
│ ├── docker-check-signin.sh # Verificar signin cloud
│ ├── docker-diagnostics.sh # Diagnóstico completo
│ ├── docker-test-ai.sh # Probar IA
│ ├── docker-install-cloud-models.sh # Instalar modelos cloud
│ ├── ai_check_all.sh # Detectar hardware
│ ├── configure-api-key.sh # Configurar API Key
│ ├── create-desktop-shortcut.sh # Crear lanzador
│ └── test-msnai.sh # Tests de componentes
│
├── 📁 macos/ # Scripts para macOS (9 archivos)
│ ├── start-msnai-mac.sh # Iniciar local
│ ├── start-msnai-docker-mac.sh # Iniciar Docker
│ ├── docker-diagnostics-mac.sh # Diagnóstico
│ ├── docker-check-signin-mac.sh # Verificar signin
│ ├── docker-install-cloud-models-mac.sh # Modelos cloud
│ ├── ai_check_all_mac.sh # Detectar hardware
│ ├── configure-api-key.sh # Configurar API Key
│ ├── create-desktop-shortcut-mac.sh # Crear app
│ └── docker-start-debug-mac.sh # Debug Docker
│
└── 📁 windows/ # Scripts para Windows (8 archivos)
├── start-msnai.ps1 # Iniciar local
├── start-msnai-docker.ps1 # Iniciar Docker
├── docker-start-debug.ps1 # Debug Docker
├── docker-diagnostics.ps1 # Diagnóstico
├── docker-install-cloud-models.ps1 # Modelos cloud
├── ai_check_all.ps1 # Detectar hardware
├── configure-api-key.ps1 # Configurar API Key
└── create-desktop-shortcut.ps1 # Crear acceso directo
Frontend:
- HTML5, CSS3, JavaScript (ES6+)
- marked.js v12.0.2 - Conversión de Markdown
- DOMPurify v3.0.5 - Sanitización HTML
- Highlight.js v11.10.0 - Resaltado de sintaxis
- PDF.js v3.11.174 - Procesamiento de PDFs
- Tesseract.js v5.0.4 - OCR para PDFs escaneados
Backend/IA:
- Ollama - Servidor de IA local
- Modelos compatibles: Mistral, Llama, Phi3, Qwen, Gemma, etc.
- API REST para comunicación con IA
Almacenamiento:
- localStorage - Configuración y chats
- IndexedDB - Archivos adjuntos (TXT, PDF)
Despliegue:
- Docker - Containerización
- Docker Compose v2 - Orquestación
- Python 3.6+ - Servidor HTTP local
- 12,759 líneas totales de código frontend
- HTML: 939 líneas
- JavaScript: 10,054 líneas
- CSS: 1,766 líneas
- 40 scripts de automatización total
- 32 scripts Shell (.sh) para Linux/macOS
- 10 scripts PowerShell (.ps1) para Windows
- Scripts de instalación, actualización, limpieza y gestión
- 22 idiomas completamente traducidos (100% cobertura)
- 22 archivos JSON de traducción
- 458+ claves de traducción por idioma
- Sistema de notificaciones completamente traducido sin texto hardcodeado
- Interpolación de variables en 22 idiomas ({size}, {count}, {pages}, {filename}, {status})
- 8 nuevas claves agregadas en v3.0.3 para traducciones completas
- 102 archivos en carpeta assets/
- 5 sonidos WAV originales de MSN
- 97 imágenes (iconos, fondos, capturas)
- 582 funciones y métodos en total (85+ métodos principales en clase MSNAI)
- 11 campos en generador de prompts profesional
- 4 estados de presencia (Online, Away, Busy, Invisible)
- 30 emoticones integrados en 2 categorías (Naturales y Amor)
- Salas de expertos con múltiples modelos de IA simultáneos
- Dictado por voz continuo con Web Speech API de Chrome/Edge
- Sistema de detención para respuestas individuales y grupales
- Rate Limiter inteligente (clase OllamaRateLimiter) con:
- Cola de prioridades (high, normal, low)
- Reintentos automáticos con backoff exponencial
- Control de solicitudes concurrentes
- Prevención de sobrecarga (429 Too Many Requests)
- OCR para PDFs escaneados con Tesseract.js
- Procesamiento de imágenes multimodal con análisis visual por IA
- IndexedDB para almacenamiento persistente de archivos binarios
- Markdown renderer con syntax highlighting (Prism.js)
- Sistema de chunks para archivos grandes (>100KB)
- Sanitización HTML con DOMPurify para seguridad
- System Prompt dinámico con variables {{MODEL_NAME}} y {{PARTICIPANT_LIST}}
- 3 sistemas operativos: Linux, Windows, macOS
- 4 navegadores: Chrome, Firefox, Safari, Edge
- 2 ediciones: Docker y Local
- ∞ modelos de IA: Todos los de Ollama
¡Las contribuciones son bienvenidas! Aquí está cómo puedes ayudar:
- Fork el repositorio
- Crea una rama para tu feature:
git checkout -b feature/nueva-funcionalidad
- Desarrolla siguiendo las convenciones del proyecto
- Commit tus cambios:
git commit -m 'feat: Añade nueva funcionalidad' - Push a tu rama:
git push origin feature/nueva-funcionalidad
- Abre un Pull Request con descripción detallada
- ✨
feat:Nueva funcionalidad - 🐛
fix:Corrección de bug - 📚
docs:Cambios en documentación - 🎨
style:Cambios de formato/estilo - ♻️
refactor:Refactorización de código - ⚡
perf:Mejoras de rendimiento - ✅
test:Añadir o modificar tests - 🔧
chore:Tareas de mantenimiento
GitHub Issues: https://github.com/mac100185/MSN-AI/issues
Incluye en tu reporte:
- Sistema operativo y versión
- Navegador y versión
- Pasos para reproducir el bug
- Comportamiento esperado vs actual
- Logs/capturas de pantalla si es posible
GitHub Discussions: https://github.com/mac100185/MSN-AI/discussions
Al sugerir una feature:
- Describe el problema que resuelve
- Explica tu solución propuesta
- Incluye mockups/ejemplos si es posible
- Menciona casos de uso reales
Desarrollador: Alan Mac-Arthur García Díaz Email: alan.mac.arthur.garcia.diaz@gmail.com Repositorio: https://github.com/mac100185/MSN-AI
- Issues: Para bugs y problemas técnicos
- Discussions: Para preguntas y sugerencias
- Email: Para soporte directo o consultas privadas
Si MSN-AI te resulta útil, considera:
- ⭐ Dar una estrella al repositorio
- 🐛 Reportar bugs que encuentres
- 💡 Sugerir mejoras
- 🔀 Contribuir con código
- 📢 Compartir el proyecto
Este proyecto está licenciado bajo GNU General Public License v3.0.
- ✅ Libertad de usar para cualquier propósito
- ✅ Libertad de estudiar (código fuente disponible)
- ✅ Libertad de modificar y adaptar
- ✅ Libertad de distribuir copias
- ⚖️ Copyleft: Las modificaciones deben ser GPL-3.0
Ver LICENSE para el texto completo de la licencia.
- androidWG/WLMOnline - Proyecto base para la interfaz
- Microsoft Corporation - Windows Live Messenger original (Fair Use educativo)
- Ollama - IA local accesible y fácil de usar
- Proyecto Escargot - Preservación del espíritu de MSN
- Comunidad Open Source - Por las librerías utilizadas
- Assets de Microsoft: Uso bajo Fair Use para preservación histórica y fines educativos (Propiedad y licenciado por Microsoft)
- Sonidos originales: Utilizados con fines educativos y nostálgicos Propiedad y licenciado por Microsoft.
- Marcas registradas: Son propiedad de sus respectivos dueños, este proyecto no tiene derechos sobre ellas.
MSN-AI v2.1.1 - Donde la nostalgia se encuentra con la inteligencia artificial moderna
Desarrollado con ❤️ por Alan Mac-Arthur García Díaz
Licenciado bajo GPL-3.0 | 2024-2025
⭐ ¿Te gusta el proyecto? ¡Deja una estrella en GitHub!

