Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Node.js
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
7332
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.