🏰 Pocket Homelab en Termux & Hermes Agent — Cluster ARM y Centro de Mando
Infraestructura Distribuida de Bolsillo con Agentes Autónomos e Integración PKM
Guía arquitectónica y manual operativo del Ryukami Pocket Homelab: un cluster de servidores ARM64 sobre smartphones Android optimizados con Termux Nativo y Ubuntu (proot-distro), interconectados mediante OpenSSH Ed25519 bidireccional, espejado de baja latencia con Scrcpy, orquestación autónoma con Hermes Agent (v0.22.5) y documentación viva sincronizada con la bóveda Ryukami Labs.
💻 Nodo Maestro (Estación Fija): Laptop Linux Mint (192.168.18.32 · Servidor SSH user-space en puerto 2222)
📱 Nodo IA & Control Móvil (cel-ia): HONOR X8b (ALT-LX3 · Android 14 · 8 GB RAM + 8 GB Swap · IP 192.168.18.24:8022)
Regla Crítica: ¿Cuándo usar proot-distro y cuándo Termux Nativo?
En equipos de 2 GB, 3 GB y 4 GB de RAM: Prohibido usar proot-distro. La interceptación de llamadas al sistema (ptrace/seccomp) introduce sobrecarga de CPU y memoria. Ejecutar todos los demonios en Termux 100% Nativo (pkg install ...), consumiendo menos de 10 MB de RAM base.
En el equipo de 8 GB de RAM (cel-ia): Se mantiene Termux Nativo para los servicios críticos de red (sshd en puerto 8022 y termux-wake-lock) y se utiliza Ubuntu en proot-distro para cargas que requieren glibc completo (aarch64-linux-gnu), como Hermes Agent v0.22.5.
Nodo / Alias SSH
Hardware
Entorno
Rol Operativo
Estado
laptop
Laptop Principal (Linux Mint)
Nativo x86_64
Desarrollo, Bóveda Obsidian, Hermes Agent, scrcpy y laptop-sshd
Hosting de apps/APIs de prueba (PocketBase/FastAPI) y laboratorio defensivo Blue Team
READY
cel-red
Smartphone Android (3GB RAM)
Termux Nativo
Auditoría ofensiva Red Team en red local y nodo Syncthing 24/7 para Obsidian
READY
cel-infra
Smartphone Android (2GB RAM)
Termux Nativo
Almacenamiento web privado (Copyparty), monitor de salud del cluster y DNS local
READY
🛠️ 1. Blindaje de Android 14 para Servidores 24/7 (Vía ADB)
Android 12, 13 y 14 incluyen el Phantom Process Killer, un mecanismo que mata automáticamente procesos hijos en segundo plano (como sesiones de tmux, sshd o agentes de IA) cuando superan 32 subprocesos.
Para desactivarlo sin root y eximir a Termux del ahorro de batería agresivo (Doze):
Comandos ADB de Optimización Permanente
# 1. Emparejar y conectar por Depuración Inalámbrica (Android 11+)adb pair 192.168.18.24:<PUERTO_VINCULACION> <CODIGO_6_DIGITOS>adb connect 192.168.18.24:<PUERTO_CONEXION># 2. Desactivar el Phantom Process Killer de Android 14adb shell "settings put global settings_enable_monitor_phantom_procs false"adb shell "device_config set_sync_disabled_for_tests persistent"adb shell "device_config put activity_manager max_phantom_processes 2147483647"# 3. Agregar Termux a la lista blanca de energía (Doze Whitelist)adb shell "dumpsys deviceidle whitelist +com.termux +com.termux.boot +com.termux.api"# 4. Otorgar permisos de ubicación y almacenamiento para telemetría Wi-Fi y Obsidianadb shell "pm grant com.termux.api android.permission.ACCESS_FINE_LOCATION"adb shell "appops set com.termux MANAGE_EXTERNAL_STORAGE allow"
🔐 2. Guía de Uso de SSH Bidireccional (Laptop ↔ Celular)
Seguridad ante Tailworm
Siguiendo la auditoría documentada en Tailworm Vulnerabilidades Tailscale SSH, jamás se utiliza el servidor integrado tailscale ssh. Toda conexión emplea OpenSSH estándar y AsyncSSH autenticados exclusivamente con llaves criptográficas Ed25519.
A. Cómo entrar desde tu Laptop hacia tu Celular
En la terminal de tu laptop (Linux Mint) tienes dos comandos directos configurados en ~/.ssh/config:
Comandos desde la Laptop hacia el Celular
# Opción 1: Entrar directo a tu distro Ubuntu (usuario alex, Zsh + Starship + Hermes)ssh cel-ubuntu# Opción 2: Entrar al Termux nativo (usuario u0_a322)ssh cel-ia# Opción 3: Ejecutar un comando rápido en el celular sin abrir sesión interactivassh cel-ia "termux-battery-status"
B. Cómo entrar desde tu Celular hacia tu Laptop
Cuando estás usando la pantalla de tu celular (ya sea en Termux nativo o dentro de Ubuntu) y quieres controlar la terminal de tu laptop:
Comandos desde el Celular hacia la Laptop
# ⚠️ No escribas solo "ssh" a secas (eso solo muestra la ayuda del programa).# Escribe siempre el nombre del destino ("laptop"):# 1. Entrar a la terminal interactiva de tu Laptop desde el celular:ssh laptop# 2. Ejecutar un comando en tu Laptop desde el celular:ssh laptop "ls -la ~/Documentos/Obsidian/ryukami-labs"
C. Cómo funciona por dentro la conexión inversa (laptop-sshd + Túnel Reverso)
Para evitar que el firewall de Linux Mint o el aislamiento del router bloqueen las conexiones entrantes desde el celular hacia la laptop, se implementaron dos servicios ligeros de usuario (systemd --user) en la laptop:
laptop-sshd.service (~/.local/bin/laptop-sshd): Servidor SSH en espacio de usuario sobre el puerto 2222 que solo acepta las llaves Ed25519 registradas en ~/.ssh/authorized_keys.
homelab-tunnel.service: Mantiene un túnel reverso automático (ssh -N -R 2222:127.0.0.1:2222 cel-ia). Así, el puerto 2222 local del celular está conectado directamente con la laptop en todo momento.
# Verificar el estado de los servicios SSH en la laptopsystemctl --user status laptop-sshd.service homelab-tunnel.service
D. El comando global ubuntu en el Celular
En el celular se instaló el wrapper global /data/data/com.termux/files/usr/bin/ubuntu. Cada vez que escribes ubuntu en Termux:
Activa termux-wake-lock en segundo plano.
Verifica que sshd esté corriendo en Termux nativo (puerto 8022), fuera de proot, evitando conflictos de librerías (libtermux-exec).
Inicia sesión limpia en proot-distro login ubuntu --user alex.
☤ 3. Hermes Agent (v0.22.5): Interfaces de Usuario y Modelos Top Gratuitos
Hermes Agent está instalado de forma independiente tanto en la Laptop (~/.hermes/) como dentro del Ubuntu del Celular (/home/alex/.hermes/).
A. Modos de Uso e Interfaces (Desktop, Web y Móvil)
Cuatro Formas de Interactuar con Hermes Agent
🖥️ Web Dashboard & Chat Embebido (Puerto 9119): Interfaz gráfica completa en React/Vite con renderizado de Markdown, bloques de código, visualizador de llamadas a herramientas (tool calling), selector de modelos, visor de sesiones y gestión de MCP.
En la laptop: abrir en el navegador http://localhost:9119.
En el celular: abrir en Chrome http://localhost:9119 (conectado mediante el túnel reverso SSH).
📱 Messaging Gateway (Telegram / WhatsApp / Discord): Permite chatear con Hermes desde la app nativa de mensajería de tu celular (enviándole mensajes de texto, audios o fotos) sin necesidad de abrir Termux ni mantener terminales activas.
Configuración inicial: hermes gateway setup.
Ejecución: hermes gateway run o hermes gateway start.
📟 Terminal TUI Moderna: Interfaz visual dentro de la terminal con soporte de ratón, paneles interactivos y scroll nativo:
Comando: hermes --tui.
⌨️ CLI Interactivo Clásico: El entorno REPL estándar y ultra-ligero para sesiones rápidas:
Comando: hermes.
Despliegue de Hermes en Telegram (Bot Activo: @ryukami_hermes_yuki_bot)
Bot Oficial:Ryukami Hermes (@ryukami_hermes_yuki_bot), token configurado en ~/.hermes/.env.
Servicio en Segundo Plano 24/7: Gestionado como demonio con hermes-gateway.service (systemd --user).
Seguridad y Usuario Administrador: Usuario autorizado y emparejado permanentemente (8526036453), blindado en TELEGRAM_ALLOWED_USERS y configurado como canal de alertas en TELEGRAM_HOME_CHANNEL.
Comandos de Gestión:hermes gateway status, journalctl --user -u hermes-gateway -f.
# Diagnóstico completo de componentes y herramientashermes doctor# Cambiar de modelo o proveedor de inferencia interactivamentehermes model# Configurar claves de proveedores adicionales (OpenAI, Groq, OpenRouter, GitHub)hermes auth add <proveedor>
B. Catálogo de Modelos Frontier a Costo Cero ($0) — Octubre 2026
Para operar el cluster con los modelos más potentes del mercado sin incurrir en costos de tarjeta ni límites comerciales, se aprovechan las siguientes cuotas gratuitas permanentes y créditos de bienvenida:
C. Integración con la Bóveda ryukami-labs y Skills Personalizadas
Ambas instancias de Hermes cuentan con:
Variable OBSIDIAN_VAULT_PATH apuntando a /home/alexwce/Documentos/Obsidian/ryukami-labs (Laptop) y /sdcard/Documents/ryukami-labs (Celular).
Memoria persistente en ~/.hermes/memories/USER.md y ~/.hermes/memories/MEMORY.md.
Skill ryukami-homelab (~/.hermes/skills/devops/ryukami-homelab/SKILL.md): Instruye al agente sobre cómo administrar los nodos por SSH y validar cada nota con validate_vault_note.py.
Skill antigravity (~/.hermes/skills/devops/antigravity/SKILL.md): Permite a Hermes delegar tareas de programación avanzada y refactorización masiva a la CLI de Antigravity (/home/alexwce/.local/bin/agy) de manera desatendida.
D. Estrategia de Operación 24/7: ¿Qué pasa si apago la Laptop?
Ciclo de Vida del Nodo Maestro
Si la laptop se apaga por completo, sus procesos locales (hermes-gateway, laptop-sshd, gemini-quota-dashboard, hermes-dashboard) se detienen. Para mantener a tu agente de IA activo las 24 horas del día existen 3 enfoques recomendados:
📱 El Celular 8GB (cel-ia) como Host Standalone 24/7 (Implementado y Activo):
El smartphone consume solo ~1.5 a 2 Watts (frente a 45–65W de la laptop, protegiendo su batería degradada al 44%).
Corre el Gateway de Telegram de Hermes Agent con el modelo gemini-3.1-flash-lite-preview (15 RPM, 1,500 RPD, 1,048,576 tokens de contexto) de manera completamente independiente sobre Termux + Ubuntu PRoot (proot-distro), evitando el estrangulamiento de 5 RPM de modelos más pesados.
CLI de Gestión Nativa en Termux (bot):
bot status: Inspecciona el estado del proceso y confirma si está en ejecución 24/7.
bot start: Levanta el demonio en background asegurando termux-wake-lock y sshd.
bot stop: Detiene de forma segura el gateway.
bot restart: Reinicia el proceso y recarga las configuraciones de ~/.hermes/.
bot logs: Muestra el stream de logs en tiempo real (agent.log).
Puedes apagar la laptop por completo, cerrar la tapa o desconectarla: el bot de Telegram (@ryukami_hermes_yuki_bot) sigue respondiendo 24/7 desde el celular en todo momento.
💻 Modo Tapa Cerrada (Server / Clamshell Mode) en la Laptop:
Si prefieres que la laptop actúe como servidor silencioso, se desactiva la suspensión al cerrar la tapa editando /etc/systemd/logind.conf (HandleLidSwitch=ignore).
La pantalla se apaga, el consumo de energía cae drásticamente y la laptop continúa operando como un mini-servidor.
☁️ VPS Gratuito en la Nube (Oracle Cloud Always Free):
Permite desplegar el gateway en una instancia ARM con 4 vCPUs y 24 GB de RAM gratuita de por vida, manteniendo el bot en línea sin gastar electricidad de tu casa.
📊 4. Hub Multi-Modelo y Monitor de Cuotas en Vivo (Puerto 8088)
Para inspeccionar en tiempo real el consumo de tokens, probar llamadas y comparar los límites de cada proveedor sin exponer credenciales, se implementó el Ryukami Gemini & Multi-Model Free Tier Hub (systemd --user).
📱 Acceso desde el Celular (misma red Wi-Fi):http://192.168.1.11:8088 (o http://localhost:8088 vía túnel reverso)
🚀 Lanzador Directo a Hermes Web UI: Botón integrado hacia http://localhost:9119
📂 Código fuente del servicio:/home/alexwce/Documentos/gemini-quota-dashboard (server.py + index.html)
Métricas y Funcionalidades del Hub
Métrica / Componente
Descripción y Límite Free Tier
Visualización en el Dashboard
Cuenta Regresiva de Reseteo
La cuota diaria de Google AI Studio se reinicia diariamente a las 00:00 UTC (19:00 hora peruana - PET).
Cronómetro visual en vivo con cálculo dinámico de horas, minutos y segundos restantes.
Peticiones por Minuto (RPM)
Límite estricto de 15 RPM para gemini-3.1-flash-lite.
Barra de progreso y contador reactivo para evitar errores HTTP 429.
Peticiones Diarias (RPD)
Límite de 1,500 RPD por clave de API gratuita.
Totalizador diario acumulado y cálculo de porcentaje restante disponible.
Tokens por Minuto (TPM)
Límite de 1,000,000 TPM y ventana de contexto de 1,048,576 tokens.
Telemetría de tokens de entrada (prompt) y tokens generados (salida).
Latencia de Red y Diagnóstico
Tiempo de ida y vuelta (RTT) hacia los servidores de Google Generative Language.
Indicador en milisegundos con semáforo verde (<1500 ms) / ámbar / rojo.
Matriz de Proveedores Gratuitos
Catálogo comparativo de GitHub Models, NVIDIA NIM, Groq, SambaNova y OpenRouter.
Tabla con enlaces directos para obtener credenciales y comandos CLI para Hermes.
Consola Interactiva de Prueba
Permite enviar prompts de prueba directos para comprobar que la API responda sin tocar la configuración de Hermes.
Input interactivo con visualización inmediata de respuesta y tokens consumidos.
Gestión de Servicios del Homelab en Linux Mint
Control de los Servicios en Segundo Plano (systemd --user)
# Ver estado general de los 5 servicios del Homelabsystemctl --user status gemini-quota-dashboard hermes-dashboard hermes-gateway laptop-sshd homelab-tunnel# Reiniciar la Web UI de Hermes si se actualizasystemctl --user restart hermes-dashboard.service# Reiniciar el Hub de Cuotassystemctl --user restart gemini-quota-dashboard.service# Ver logs en tiempo real del servidor Web de Hermesjournalctl --user -u hermes-dashboard.service -f
⚔️ 5. Proyectos Prácticos para los Nodos de 4GB, 3GB y 2GB
Cuando conectes los otros tres teléfonos a la red local, ejecuta en cada uno el aprovisionamiento base en Termux Nativo (pkg install openssh tmux git curl termux-api -y && termux-wake-lock && sshd) y asígnales estos laboratorios:
En cel-blue (4GB RAM): Despliega una API en Python/FastAPI o PHP en el puerto 8080 para practicar detección de inyecciones SQL, IDOR, falsificación de JWT y parches contra PHP2Shell RCE Critico en PHP.
En cel-red (3GB RAM): Ejecuta auditorías controladas dentro de tu LAN (nmap -sV -p 8022,8080, ffuf, sqlmap) contra cel-blue, mientras Hermes Agent analiza los logs de ambos equipos y genera el reporte forense en Obsidian.
Nube Privada de Archivos e Imágenes en cel-infra (2GB RAM):
Instala Copyparty (pip install copyparty) en Termux nativo (copyparty -p 3923 /sdcard/Download). Obtienes un servidor web ultraligero con subida de imágenes, previsualización y WebDAV para tus proyectos web sin consumir apenas RAM.
Hosting de Micro-Apps y Backends en cel-blue (4GB RAM):
Descarga el binario ARM64 de PocketBase (./pocketbase serve --http="0.0.0.0:8090"). Tendrás base de datos SQLite en tiempo real, autenticación de usuarios y panel de administración para todas tus apps de prueba con solo ~15 MB de consumo de RAM.