Ir al contenido
API de comandos HTTP
Streaming WebSocket
Sesiones multijugador
50+ parámetros de URL
5 entornos de shell
Mapeo automático de pantalla
19 endpoints de API
Sesiones persistentes
API de comandos HTTP
Streaming WebSocket
Sesiones multijugador
50+ parámetros de URL
5 entornos de shell
Mapeo automático de pantalla
19 endpoints de API
Sesiones persistentes
API de comandos HTTP
Streaming WebSocket
Sesiones multijugador
50+ parámetros de URL
5 entornos de shell
Mapeo automático de pantalla
19 endpoints de API
Sesiones persistentes
API de comandos HTTP
Streaming WebSocket
Sesiones multijugador
50+ parámetros de URL
5 entornos de shell
Mapeo automático de pantalla
19 endpoints de API
Sesiones persistentes
TerminalServicio Kit

Terminal

Una shell Linux persistente expuesta como endpoint HTTPS. Ejecuta comandos vía API, conéctate desde cualquier navegador, transmite por WebSocket o accede directamente por SSH. Las sesiones persisten entre reconexiones.

Inicio rápido

# Obtén tu token

$ curl -X POST \

https://abc123-def456-terminal-1.node-us-1.containers.hoody.com/api/v1/terminal/execute \

-H "Authorization: Bearer $TOKEN" \

-d '{"command":"echo Hello from Hoody!"}'

> { "command_id": "42", "status": "running" }

 

# Ejecuta tu primer comando

$ curl \

https://abc123-def456-terminal-1.node-us-1.containers.hoody.com/api/v1/terminal/result/42 \

-H "Authorization: Bearer $TOKEN"

> { "status": "completed", "output": "Hello from Hoody!", "exit_code": 0 }

 

# Comparte la URL — cualquiera puede conectarse

https://abc123-def456-terminal-1.node-us-1.containers.hoody.com

Estructura de la URL

La URL es la interfaz

Cada terminal tiene una dirección predecible. Léela de izquierda a derecha y sabrás exactamente con qué servicio, instancia y contenedor estás hablando.

URL del servicio terminal
https://abc123-def456-terminal-1.node-us-1.containers.hoody.com
abc123

Proyecto

El ID de tu proyecto.

def456

Contenedor

El ID del contenedor.

terminal

Servicio

Qué servicio del Kit: terminal, files, display…

1

Instancia

Ejecuta varias: terminal-1, terminal-2, terminal-3.

node-us-1

Servidor

El nodo donde corre tu contenedor.

La URL es la interfaz. Sin puertos, sin configuración, sin montar red.

HTTP API

Cada comando es una llamada a la API

La ejecución es asíncrona. Lanza un comando, recibe un ID y luego lee el resultado — o transmítelo en vivo por WebSocket.

1Ejecútalo
POST /api/v1/terminal/execute
-d '{"command": "npm test"}'
{
"command_id": "42",
"status": "running"
}

Haz un POST de un comando. Recibes al instante un command_id y status: running.

2Lee el resultado
GET /api/v1/terminal/result/42
{
"command_id": "42",
"status": "completed",
"output": "24 passed, 0 failed",
"exit_code": 0
}

Consulta el endpoint de resultado para la salida combinada y el código de salida.

3O transmite en vivo
WS /api/v1/terminal/ws?terminal_id=1
> build started…
> compiling 42 modules
> 24 passed, 0 failed

Abre un WebSocket para recibir los frames del terminal en tiempo real.

Capacidades

Todo integrado

Cada función está disponible desde el primer momento sin ninguna configuración. Terminal viene lista para usar en el momento en que arranca tu contenedor.

Terminal web

Un terminal completo en el navegador

Abre la URL en cualquier dispositivo — móvil, tablet, portátil. Configura toda la interfaz web mediante query parameters: shell, tamaño de fuente, modo de solo lectura, título y paneles laterales.

?shell=zsh?fontSize=16?readonly=true?title=Prod?panel=/docs

Selección de shell

bash, zsh, fish, tmux, sh: cambia de shell vía parámetro de URL. Preinstalados y listos para usar.

API de automatización

Envía pulsaciones de teclas, pega texto y espera a que la pantalla se estabilice — controla programas interactivos por HTTP.

Capturas de terminal

Captura el estado de la terminal como PNG, JPEG o GIF vía API. Colores y tamaño de fuente configurables para documentación.

Estado de sesión en vivo

El directorio de trabajo, el shell y el historial se mantienen mientras la sesión sigue viva y sobreviven a las reconexiones.

SSH a cualquier servidor

Abre una sesión como conexión SSH remota — host, usuario y clave como parámetros.

HTTP API

19 endpoints, control total

Cuatro dominios: ejecución de comandos, gestión de sesiones, streaming en vivo vía WebSocket y monitoreo del sistema. Cada endpoint devuelve JSON estructurado con autenticación bearer token.

Ejecución de comandos

5 endpoints

curl -X POST .../terminal/execute -d '{"command":"npm test"}'

POST
/api/v1/terminal/executeEjecutar comando (sínc/asínc)
GET
/api/v1/terminal/result/{command_id}Obtener resultado asíncrono
POST
/api/v1/terminal/execute/{command_id}/abortHistorial de comandos
POST
/api/v1/terminal/writeCapturar como PNG/JPEG/GIF
GET
/api/v1/terminal/history/{terminal_id}Listar sesiones activas

Gestión de sesiones

6 endpoints

curl .../terminal/sessions → [{ "terminal_id": "1", "shell": "bash" }]

GET
/api/v1/terminal/sessionsCrear nueva sesión
POST
/api/v1/terminal/createTerminar sesión
DELETE
/api/v1/terminal/{terminal_id}Redimensionar terminal
GET
/api/v1/terminal/rawEscribir en sesión
GET
/api/v1/terminal/screenshotEstado de sesión
GET
/api/v1/terminal/openapi.jsonEnviar señal a sesión

Streaming en vivo

4 endpoints

WS .../terminal/ws — real-time terminal frames

WS
/api/v1/terminal/wsStream en tiempo real
POST
/api/v1/terminal/pressLeer buffer de salida
POST
/api/v1/terminal/pasteCPU, memoria, disco, red
POST
/api/v1/terminal/waitProcesos en ejecución

Sistema y meta

7 endpoints

curl .../system/resources → { "cpu": 45.2, "memory": { ... } }

GET
/api/v1/terminal/healthEnviar señal a PID
GET
/api/v1/system/resourcesVariables de entorno
GET
/api/v1/system/processesInformación del sistema
GET
/api/v1/system/processes/{pid}Exportar salida sin formato
GET
/api/v1/system/portsPuertos en escucha
POST
/api/v1/system/process/signalEnvía una señal a un PID
GET
/api/v1/system/displaysDisplays X11 activos
Casos de uso

Construido para flujos de trabajo reales

Terminal cubre toda la gama de escenarios de desarrollo y automatización. Cada caso de uso se mapea a endpoints de API específicos y parámetros de URL.

  • 01

    Desarrollo remoto

    GET /terminal/ws

    Accede por SSH a tu contenedor desde cualquier dispositivo con navegador. Acceso completo a shell con sesiones persistentes: retoma donde lo dejaste desde tu teléfono, tableta u otro equipo.

  • 02

    Orquestación de agentes de IA

    POST /terminal/execute

    Los agentes ejecutan comandos shell vía la API HTTP. Compilar, probar, desplegar: la API de Terminal da a los agentes de IA acceso estructurado a todo tu entorno de desarrollo.

  • 03

    Depuración en equipo

    GET /terminal/sessions

    Comparte una URL de terminal con tu equipo para depuración multijugador. Todos ven el mismo resultado, escriben comandos y reciben colores de cursor únicos en tiempo real.

  • 04

    Aplicaciones gráficas

    ?display=N

    Lanza cualquier aplicación gráfica desde la terminal. Firefox, VS Code, GIMP: terminal-N se mapea automáticamente a display-N sin configuración de reenvío X11.

  • 05

    Integración CI/CD

    GET /terminal/result/{id}

    Ejecuta pasos de compilación, pruebas y despliegue de artefactos, todo vía HTTP. Integra Terminal en cualquier pipeline de CI con simples llamadas curl y respuestas JSON estructuradas.

  • 06

    Monitoreo en vivo

    GET /system/resources

    Estadísticas de CPU, memoria, disco y red en tiempo real vía API. Lista procesos, envía señales, inspecciona puertos: visibilidad total del sistema mediante endpoints estructurados.

¿Listo para explorar?

Terminal es uno de los 18 servicios Kit que vienen con cada contenedor Hoody. Sin instalación, sin configuración: explora los docs o navega la referencia de la API arriba.

Leer los docs