condui - Roadmap de Implementación (histórico)
July 27, 2026 · View on GitHub
Este documento es el plan de incrementos original del proyecto (bajo su nombre anterior, "ModernTerm"). Los 25 incrementos listados abajo ya están implementados — ver la lista de funcionalidades en el README para el estado actual. Se conserva como referencia histórica del diseño, no como roadmap futuro.
Objetivo
Construir una aplicación multiplataforma (Windows, Linux y macOS) para administración remota mediante SSH, SFTP y túneles SSH, inspirada en MobaXterm, Tabby y Termius.
Estado Actual
Completado
- Aplicación Wails funcional.
- Frontend React funcional.
- xterm.js integrado.
- Comunicación React → Wails → Go funcional.
- Comunicación Go → Wails → React funcional.
- Cliente SSH funcional.
- Shell interactiva remota funcional.
- Envío de comandos funcional.
- Recepción de salida funcional.
Incremento 1 - Session Manager
Objetivo
Permitir múltiples conexiones SSH simultáneas.
Backend
Crear:
backend/sessions
Implementar:
type SSHSession struct
type SessionManager struct
Funciones:
- CreateSession()
- CloseSession()
- GetSession()
- ListSessions()
- SendInput()
- ResizeTerminal()
Frontend
Crear modelo:
interface Session
Resultado esperado:
- Más de una conexión activa simultáneamente.
Incremento 2 - Arquitectura de Tabs
Objetivo
Permitir múltiples terminales abiertas.
Funcionalidades
- Abrir pestaña.
- Cerrar pestaña.
- Cambiar pestaña.
- Mantener estado independiente.
Resultado esperado
s1 SSH
s2 SSH
s3 SSH
+
Incremento 3 - Resize Real del Terminal
Objetivo
Sincronizar tamaño del terminal remoto.
Backend
Implementar:
session.WindowChange()
Frontend
Capturar:
term.rows
term.cols
Resultado esperado
Funcionamiento correcto de:
- top
- htop
- vim
- nano
- less
Incremento 4 - Layout Profesional
Objetivo
Reemplazar interfaz de prueba.
Layout
Sidebar
Tabs
Panel principal
Panel inferior
Librerías
- MUI
- react-resizable-panels
Resultado esperado
Interfaz similar a VSCode.
Incremento 5 - Gestión de Conexiones
Objetivo
Guardar conexiones reutilizables.
Funcionalidades
- Crear conexión.
- Editar conexión.
- Eliminar conexión.
- Duplicar conexión.
Campos
- Nombre
- Host
- Puerto
- Usuario
- Método autenticación
Incremento 6 - Persistencia SQLite
Objetivo
Guardar configuración localmente.
Tablas
connections
id
name
host
port
username
auth_type
folders
id
name
path
tunnels
id
connection_id
...
Incremento 7 - Almacenamiento Seguro de Credenciales
Objetivo
No almacenar contraseñas en SQLite.
Plataformas
macOS
Keychain
Windows
Credential Manager
Linux
Secret Service
Incremento 8 - Multiplexación SSH
Objetivo
Múltiples terminales usando una sola conexión SSH.
Resultado esperado
Producción
├─ Shell 1
├─ Shell 2
└─ Shell 3
Incremento 9 - Explorador SFTP
Objetivo
Navegación remota.
Funciones
- Listar carpetas.
- Listar archivos.
- Cambiar directorio.
Resultado esperado
/
├─ home
├─ var
├─ root
└─ opt
Incremento 10 - Transferencia de Archivos
Funciones
- Upload
- Download
- Rename
- Delete
- Mkdir
Resultado esperado
Experiencia similar a MobaXterm.
Incremento 11 - Drag & Drop
Objetivo
Subir archivos arrastrando.
Librerías
react-dropzone
Resultado esperado
Arrastrar archivo al explorador remoto.
Incremento 12 - Cola de Transferencias
Objetivo
Visualizar progreso.
Panel
Transferencias
Información
- Archivo
- Progreso
- Velocidad
- Estado
Incremento 13 - Túneles SSH
Objetivo
Port Forwarding.
Soportar
Local
-L
Remote
-R
Dynamic
-D
Resultado esperado
localhost:3306 -> mysql:3306
localhost:9092 -> kafka:9092
Incremento 14 - Gestión Visual de Túneles
Funciones
- Crear
- Editar
- Activar
- Desactivar
- Eliminar
Vista
Túneles
Incremento 15 - Favoritos
Funciones
- Marcar conexión favorita.
- Agrupar conexiones.
Resultado esperado
Favoritos
Producción
QA
Laboratorio
Incremento 16 - Historial de Comandos
Funciones
- Historial por servidor.
- Búsqueda.
Resultado esperado
Experiencia similar a terminal local.
Incremento 17 - Buscador Global
Objetivo
Buscar rápidamente.
Alcance
- Conexiones
- Archivos
- Túneles
Incremento 18 - Docker Explorer
Objetivo
Administración visual Docker.
Funciones
- Containers
- Images
- Networks
- Volumes
Resultado esperado
Docker
├─ Containers
├─ Images
├─ Volumes
Incremento 19 - Editor Remoto
Objetivo
Editar archivos directamente.
Librería
Monaco Editor
Flujo
Download
Edit
Upload
Incremento 20 - Búsqueda en Archivos
Objetivo
Buscar texto remoto.
Backend
grep/find
Frontend
Panel de resultados.
Incremento 21 - Monitor de Recursos
Información
- CPU
- RAM
- Disco
- Load Average
Incremento 22 - Gestor de Logs
Funciones
- Tail
- Follow
- Filtro
Comandos
tail -f
journalctl -f
Incremento 23 - Temas
Modos
- Dark
- Light
Personalización
- Fuentes
- Tamaño terminal
Incremento 24 - Perfiles Compartibles
Objetivo
Exportar e importar configuraciones.
Formato
connections.json
Incremento 25 - Release 1.0
Requisitos
- SSH estable.
- SFTP estable.
- Túneles estables.
- Editor remoto.
- Docker Explorer.
- Persistencia.
- Credenciales seguras.
Plataformas
- macOS Intel
- macOS ARM
- Windows x64
- Linux x64
Resultado Final
Cliente profesional de administración remota comparable a MobaXterm, Tabby o Termius Desktop.