SoA-Web
SoA-Web es una aplicación web en la nube que reemplaza la aplicación móvil Son of Anton. Utiliza Node.js con WebSocket para transmitir sesiones de terminal (PTY) directamente desde el navegador, sin Electron ni instaladores.
Ficha actualizada 23 sept 2026, 16:38 · upstream 23 sept 2026, 16:34 · release v0.3.0
Qué es SoA-Web
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Son of Anton, reimaginado como una aplicación web nativa. Es un cliente terminal que transmite sesiones PTY en tiempo real a través de WebSocket, construido exclusivamente con Node.js y no requiere Electron ni frameworks de escritorio. La arquitectura elimina la necesidad de autoactualizaciones, notificaciones push o actualizaciones automáticas.
El proyecto se deriva del software desktop Son of Anton (https://github.com/SimonSaysGiveMeSmile). El cliente móvil ya comunicaba con el servidor mediante este mismo protocolo entre su proceso principal y el cliente. La versión web reemplaza al lado de escritorio, convirtiendo la aplicación en un servicio HTTP que gestiona sesiones PTY directamente desde el navegador.
La arquitectura se basa en una única instancia Node.js que actúa como servidor HTTP y WebSocket, con cada sesión iniciada creando un nodo PTY independiente en el servidor. Esto permite escalar horizontalmente sin necesidad de múltiples procesos del cliente.
- Gestión de sesiones de desarrollo en equipo (meetings) donde se necesita acceso a terminal compartido
- Entornos de trabajo remotos con necesidad de terminal persistente para comandos de CLI o herramientas de IA
- Desarrollo web que requiere ejecución de scripts o herramientas locales dentro del navegador sin instalar nada
- Escritorio móvil como alternativa a la app nativa, especialmente en dispositivos con hardware limitado
- Entornos donde se necesita aislamiento entre sesiones y persistencia de estado por tab
- No requiere Electron ni frameworks de escritorio: todo corre en un único proceso Node.js usando WebSocket para comunicación bidireccional
- Persistencia de scrollback por tab: cada pestaña mantiene su historial de escritura, permitiendo reiniciar la sesión sin perder contexto
- Soporte nativo de Web Speech API para reconocimiento de voz y comandos de comandos en el navegador
- Arquitectura escalable: múltiples sesiones pueden correr simultáneamente sobre un solo servidor Node.js sin conflictos de recursos
- Protocolo de comunicación JSON estructurado que permite extensibilidad futura mediante extensiones de protocolo
- No incluye autenticación nativa en el navegador (SOA_WEB_AUTH=open es la única opción por defecto)
- La persistencia de scrollback se pierde si se cierra y reabre una pestaña sin reiniciar el servidor
- El reconocimiento de voz depende del sistema operativo del dispositivo móvil, no es universal
- No incluye generación de iconos de archivos ni menús nativos en la interfaz web
- La persistencia de estado entre sesiones se maneja mediante un archivo local (tabPersist.js) que puede ser perdido si el servidor se reinicia
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para desplegar SoA-Web, se recomienda usar Node.js con npm como backend. Se debe configurar SOA_WEB_PASSWORD y SOA_WEB_AUTH=shared para autenticación segura. Para producción, se debe implementar SOA_WEB_SECURE_COOKIE=1 si el servidor opera en HTTPS. El puerto 7332 es la portada por defecto; se puede cambiar mediante SOA_WEB_PORT. Si se usa un backend externo (Vercel, Railway, etc.), se debe configurar SOA_WEB_BACKEND con la URL del dominio público. Se recomienda usar SOA_WEB_AUTOPAIR=0 para evitar autostart automático en entornos de producción y SOA_WEB_NO_AUTO_RESUME=1 si se desea reiniciar el servidor al detenerse. El estado de las sesiones persiste en disco local, por lo que se debe configurar SOA_WEB_SESSION_TTL_MS según la duración deseada (por defecto 6h). Para pruebas de integración, se puede usar SOA_WEB_PORT=7700 con SOA_WEB_STATE_DIR=~/.soa-web-mgrtest para un entorno aislado.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.