Código abierto · Controla agentes IA CLI desde tu móvil

Lleva tus agentes IA
contigo a todas partes

tunnelbox pone opencode, Claude Code, Codex, DeepSeek Harness, OpenClaw, Hermes, Cursor, CodeBuddy, Kimi Code, TraeCode y Qoder en tu bolsillo: observa la salida en streaming, lanza tareas y aprueba acciones de riesgo. Sin IP pública ni redirección de puertos.

macOS · Windows · Linux · inicia sesión y listo
opencode serve

$ opencode serve --print-logs

[tunnelbox] Conectando al relay wss://relay.tunnelbox.top …

[tunnelbox] Código de emparejamiento: 8F3K-9Q2Z (válido 10 minutos)

[tunnelbox] Escanea el QR con tu móvil para empezar:

└ o abre la app tunnelbox en tu móvil e introduce el código manualmente

[tunnelbox] ✓ agente registrado agentID: opencode-main

[tunnelbox] ✓ Esperando la conexión del móvil …

Atraviesa cortafuegos y redes corporativas Varios agentes en una sola máquina Aprueba acciones de riesgo en tu móvil Empareja en segundos con un escaneo Sin contenido almacenado en el relay · privacidad primero

Funciones clave

Un solo mando para todos tus agentes

Una pasarela remota unificada sobre el ecosistema de agentes CLI / headless: sesiones, streaming, permisos y comandos normalizados en un único protocolo.

svg-connect

Conexión inversa, sin IP pública

El adaptador de tu PC solo realiza conexiones salientes: sin IP pública, mapeo de puertos ni túnel. Cualquier cortafuegos o red corporativa funciona.

svg-agents

Muchos agentes, una máquina

Ejecuta opencode, Claude Code, Codex y más en paralelo. Cada uno se empareja y conecta de forma independiente; cambia entre ellos en tu móvil e incluso compara agentes en la misma tarea.

svg-approve

Aprueba acciones de riesgo en el móvil

Antes de ejecutar bash o editar archivos, la solicitud de permiso se envía a una tarjeta en tu móvil: permitir / denegar / permitir siempre con un toque. Nada peligroso se aprueba automáticamente.

svg-scan

Empareja escaneando un código QR

El terminal imprime un código QR y un código de emparejamiento. Usa «Escanear para emparejar» en la app tunnelbox para conectar al instante; los códigos son de un solo uso y caducan a los 10 minutos.

svg-layers

Un protocolo, backend invisible

Listas de sesiones / salida en streaming / aprobaciones de permisos / comandos de barra se normalizan en un único protocolo: tu móvil nunca necesita saber qué agente hay detrás.

svg-lock

Privacidad primero

El relay solo hace reenvío sin estado y no almacena contenido de conversaciones. El transporte es totalmente TLS. Los usuarios sensibles a la privacidad pueden autoalojar el relay y mantener el control.

Agentes compatibles

Todos los agentes CLI principales, cubiertos

Cada agente corresponde a un adaptador que normaliza sus sesiones / streaming / permisos en el protocolo remoto unificado: sin conocimiento para el relay ni tu móvil.

Agente Adaptador Tipo Estado
opencode Plugin en proceso (@tunnelbox/opencode) A ✅ MVP · Implementado
DeepSeek Harness (dsh) Plugin nativo de Cordis (@tunnelbox/dsh-tunnelbox) B ✅ Implementado
Claude Code Puente claude-agent-sdk (proceso separado) B ✅ Implementado
Codex Puente codex app-server (proceso separado) B ✅ Implementado
OpenClaw Gateway operator WS oficial · Gateway ≥ 2026.6.11 B ✅ Implementado · probado (6.35 / 9.4)
Hermes Puente hermes chat -Q -q oneshot (+ plugin nativo) B ✅ Implementado
Cursor Cursor CLI agent acp (proceso separado) B ✅ Implementado
CodeBuddy CodeBuddy CLI codebuddy --acp (proceso separado) B ✅ Implementado
Kimi Code Kimi Code CLI kimi acp (proceso separado) B ✅ Implementado
TraeCode TraeCode CLI traecli acp serve (proceso separado) B ✅ Implementado · experimental · e2e pendiente
Qoder Qoder CLI qoder --acp (proceso separado) B ✅ Implementado

A Plugin en proceso · se ejecuta dentro del proceso servidor del agente · B Puente CLI / headless · un proceso conector separado impulsa el modo no interactivo. Se admiten varias instancias del mismo tipo (opencode1 / opencode2 …).

Cómo funciona

Conexión inversa + relay sin estado

Una pasarela remota unificada para el ecosistema de agentes: tu móvil se conecta al relay y los adaptadores de tu PC se reconectan en sentido inverso: los mensajes fluyen en ambos sentidos.

svg-phone

Tu móvil

App Android · iOS

  • Se conecta al relay por WSS
  • Ver sesiones y salida en streaming
  • Enviar tareas / aprobar permisos
svg-relay

relay relay (Go)

Servidor en la nube · autoalojable

  • Emparejamiento / autenticación / reenvío
  • Sin estado: no se almacenan conversaciones
  • Escalado horizontal multinodo con NATS
svg-pc

Tu PC

Adaptadores de agentes

  • Conexión saliente (WS saliente)
  • opencode: plugin en proceso
  • Otros: puentes CLI / SDK
Los adaptadores se conectan hacia fuera

Las conexiones inversas atraviesan NAT y cortafuegos de forma natural: las redes corporativas y las residencias funcionan sin problema, sin IP pública ni servicio de túnel.

El relay solo reenvía

Bajo coste y fácil de escalar. Los nodos no tienen estado y se reconectan automáticamente; los datos de sesión siempre residen solo en el almacenamiento local de tu agente en el PC.

Empareja una vez, úsalo siempre

Tras el primer escaneo obtienes un token de sesión y te reconectas automáticamente. Con MySQL configurado, reiniciar el relay tampoco requiere volver a emparejar.

Descarga

Empieza ahora mismo

Descarga la app tunnelbox desde el sitio oficial (Android e iOS disponibles). Escanea el código QR o pulsa un botón abajo.

Escanea para descargar la app

Android · iOS

App tunnelbox

App móvil nativa: emparejamiento por escaneo, sesiones remotas, salida en streaming, aprobación de acciones de riesgo y notificaciones push.

Tutorial

Empareja en tres pasos y despega

Todos los agentes siguen el mismo camino: instala el adaptador en tu PC → escanea con tu móvil → listo. El manual de instalación de abajo ofrece comandos paso a paso para cada agente: cópialos con un clic.

1

Paso 1 · Ejecuta el adaptador de tu agente en el PC

Instala y ejecuta el adaptador de tu agente (comandos en el «Manual de instalación» de abajo). Una vez en marcha, el terminal imprime un código QR + código de emparejamiento.

2

Paso 2 · Instala y abre la app tunnelbox en tu móvil

Descarga e instala la app tunnelbox (Android e iOS) desde el sitio oficial y luego inicia sesión.

3

Paso 3 · Empareja escaneando

Pulsa «Escanear para emparejar» y apunta al código QR del terminal para conectar automáticamente, o escribe el código de emparejamiento a mano. El agente aparece en tu lista de inicio una vez emparejado.

4

Paso 4 · Empieza a operar en remoto

Abre la página de chat del agente: cambia / crea sesiones con las pestañas, envía prompts, observa la salida en streaming en tiempo real, aprueba acciones de riesgo en la tarjeta y pulsa «Detener» cuando quieras.

Manual de instalación para cada agente

Elige tu agente abajo y sigue los pasos uno a uno: cada comando tiene un botón de copiar con un clic.

Requisitos

  • Entorno recomendado: macOS / Linux / Windows (WSL)
  • No hace falta instalar Node por separado: opencode incluye un runtime Bun y el plugin se ejecuta dentro de él

Instalar opencode (oficial)

Primero instala opencode en sí (una línea oficial para macOS / Linux; en Windows usa WSL, o Chocolatey / Scoop):

# macOS / Linux (official one-line installer)
curl -fsSL https://opencode.ai/install | bash

# Windows (PowerShell): Chocolatey / Scoop / WSL
choco install opencode

Tras la instalación, opencode --version debería mostrar un número de versión.

Pasos de instalación

1Añade el paquete npm al array plugin de opencode.json (se instala automáticamente al primer arranque)
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@tunnelbox/opencode"]
}

Ejecutar y emparejar

2Reinicia opencode (se recomienda --print-logs); el plugin se conecta al relay e imprime un código QR + código de emparejamiento. Dentro de opencode también puedes pedir «mostrar el código de emparejamiento del móvil» o escribir /pair en cualquier momento para obtener el código y un QR escaneable directamente en el chat.
opencode serve --print-logs

✅ Listo cuando el terminal muestre el código QR [tunnelbox]: escanéalo con tu móvil para emparejar.

Configuración y consejos opcionales

No se necesita configuración para el relay oficial. Para usar tu propio relay, define la variable de entorno TUNNELBOX_RELAY_URL o pasa options.relayUrl mediante la forma de objeto en opencode.json:

// opencode.json (custom relay)
{
  "plugin": [{ "package": "@tunnelbox/opencode", "options": { "relayUrl": "wss://relay.tunnelbox.top" } }]
}

El estado reside en ~/.tunnelbox/remote-state.json (solo tu ID de agente y el idioma). Puedes ejecutar varios adaptadores en un mismo PC: cada uno se empareja de forma independiente y el móvil te permite cambiar entre ellos con un toque.

Requisitos

  • Node.js ≥ 22 (requerido por el adaptador tunnelbox)
  • Un plan de Claude de pago (Pro / Max / Team) o una clave API de Anthropic Console

Instalar Claude Code (oficial)

Primero instala Claude Code en sí (instalador nativo oficial: se actualiza solo y no requiere runtime adicional):

# macOS / Linux / WSL (official native installer)
curl -fsSL https://claude.ai/install.sh | bash

# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

Tras la instalación, claude --version debería funcionar; inicia sesión con una cuenta de Claude de pago en el primer arranque.

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/claude-code

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento. No se necesita ningún SDK de Claude en tu móvil.
tunnelbox-claude-code

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CWD=D:/workspace/project \
TUNNELBOX_CLAUDE_MODE=plan \
tunnelbox-claude-code

Las aprobaciones de herramientas se envían a tu móvil por defecto (permitir / denegar / permitir siempre). Si se desconecta o pasan 120 s, la solicitud se deniega automáticamente (fail-closed): nada se aprueba solo. Modos: default / plan / acceptEdits / bypassPermissions.

Requisitos

  • Node.js ≥ 22
  • Una cuenta de OpenAI (ChatGPT Plus / Pro o una clave API de plataforma) y un Codex CLI que admita el subcomando codex app-server

Instalar Codex CLI (oficial)

Primero instala el Codex CLI en sí (instalador oficial o npm):

# macOS / Linux (official installer)
curl -fsSL https://chatgpt.com/codex/install.sh | sh

# Windows PowerShell
irm https://chatgpt.com/codex/install.ps1 | iex

# or Node: npm install -g @openai/codex
npm install -g @openai/codex

Verifica con codex --version y luego codex login para iniciar sesión. Autocomprobación del adaptador: tunnelbox-codex --check (confirma que codex app-server está disponible).

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/codex

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento.
tunnelbox-codex

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CODEX_SANDBOX=workspace-write \
tunnelbox-codex

# optional: TUNNELBOX_CODEX_APPSERVER_ARGS="--stdio"

Las aprobaciones y elecciones son nativas: codex envía las solicitudes de aprobación de herramientas y las preguntas de opción múltiple directamente a tu móvil (permitir / denegar, elegir una opción), y su razonamiento se transmite en directo. La desconexión / el tiempo de espera se deniegan automáticamente (fail-closed). Lo permitido sigue limitado por TUNNELBOX_CODEX_SANDBOX (read-only / workspace-write / danger-full-access).

Requisitos

  • Node.js ^22.19 o >=24
  • Una clave API de DeepSeek (las credenciales de dsh están en $DSH_HOME/.credentials.yaml, por defecto ~/.dsh)

Instalar DeepSeek Harness (oficial)

Primero instala dsh en sí (paquete npm oficial de DeepSeek; requiere Node.js ^22.19 o >=24):

# Install dsh globally (official package)
npm install -g @deepseek-ai/dsh

# or try instantly: npx @deepseek-ai/dsh web

Tras la instalación, dsh --version debería funcionar; en el primer uso configura una clave API de DeepSeek (se guarda en $DSH_HOME/.credentials.yaml).

Pasos de instalación

1Instala desde npm en el perfil de dsh (una sola vez, no hace falta clonar el repositorio)
dsh plugin --profile tunnelbox add @tunnelbox/dsh-tunnelbox
dsh --profile tunnelbox --dump-config   # verify the tunnelbox-dsh layer

Ejecutar y emparejar

2Inicia el harness + el plugin; el terminal imprime un código QR + código de emparejamiento:
dsh --profile tunnelbox

✅ Listo cuando aparezca el código QR. El modelo / directorio de trabajo se pueden definir en el cordis.yml del perfil.

Configuración y consejos opcionales

Todo opcional. Ejemplo de configuración del perfil (cordis.patch.yml):

- id: tunnelbox-dsh
  config:
    relayUrl: 'wss://relay.tunnelbox.top'
    model: 'deepseek-v4-flash'
    cwd: 'D:/workspace/project'

Las aprobaciones siguen la approval / sandbox-policy de dsh (por defecto workspace-write + ask): las acciones de riesgo se envían a tu móvil. Ejecuta varias instancias con valores DSH_HOME distintos.

Requisitos

  • Node.js ≥ 22.19
  • Un Gateway de OpenClaw local ≥ 2026.6.11 (protocolo v4) ejecutable: se admiten tanto la línea antigua (< 2026.9.1) como la nueva (≥ 2026.9.1) (detección de capacidades en tiempo de ejecución)

Instalar OpenClaw (oficial)

Primero instala OpenClaw (instalador oficial) y completa el asistente onboard:

# macOS / Linux (official installer)
curl -fsSL https://openclaw.ai/install.sh | bash

# Windows PowerShell
iwr -useb https://openclaw.ai/install.ps1 | iex

# finish the setup wizard after install
openclaw onboard

Estás listo cuando openclaw funcione y el Gateway esté en ejecución.

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/openclaw
2Autenticación del Gateway (normalmente automática)

El adaptador lee automáticamente tu token del Gateway desde ~/.openclaw/openclaw.json (o TUNNELBOX_OPENCLAW_TOKEN). Si tu Gateway pide aprobación de dispositivo, apruébala una vez:

openclaw devices list              # note the requestId
openclaw devices approve <requestId>

Ejecutar y emparejar

3Inicia el adaptador (se conecta a tu Gateway local); tras aprobar el dispositivo, el terminal imprime el código QR de tunnelbox:
tunnelbox-openclaw

✅ Tras aprobar el dispositivo aparece el código QR: escanéalo con tu móvil para emparejar.

Configuración y consejos opcionales

Todo opcional. Ejemplo común:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_OPENCLAW_GATEWAY_URL=ws://127.0.0.1:18789 \
tunnelbox-openclaw

El borrado de sesiones es definitivo vía el Gateway (sessions.delete, requiere operator.admin). El adaptador descubre automáticamente gateway.auth.token / password (config, env, el proceso Gateway en ejecución o los archivos de credenciales posteriores a 2026.9.1); define TUNNELBOX_OPENCLAW_TOKEN para sobrescribir, --check-gateway-auth para inspeccionar, --save-token para guardar uno, o TUNNELBOX_OPENCLAW_AUTOSTART=start|install para iniciar el Gateway automáticamente. Las aprobaciones (exec/plugin) y las tarjetas de herramientas (con argumentos de comando) se envían a tu móvil; las tarjetas interactivas de elección/pregunta requieren Gateway ≥ 2026.7 (question.*), mientras que los gateways más antiguos muestran esos avisos como aprobaciones o texto plano.

Requisitos

  • Node.js ≥ 22
  • Una cuenta de Hermes / clave API de modelo (configurada durante hermes setup)

Instalar Hermes Agent (oficial)

Primero instala Hermes Agent (instalador oficial) y termina la configuración:

# official installer
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# finish setup after install
hermes setup

Estás listo cuando hermes chat -Q -q "hi" responda.

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/hermes

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento.
tunnelbox-hermes

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_HERMES_MODEL="anthropic/claude-sonnet-4" \
tunnelbox-hermes

Nota: este adaptador headless no ofrece aprobación en el móvil; las operaciones peligrosas se rigen por la política de seguridad del propio hermes (fail-closed). Las sesiones continúan en la sesión real de Hermes (el id se descubre automáticamente tras el primer turno). Los flujos de aprobación/pregunta de sesiones interactivas están en el plugin nativo oficial de Hermes (native-plugin/).

Requisitos

  • Node.js ≥ 22
  • Una cuenta de Cursor (el uso headless se factura a tu plan de Cursor)

Instalar Cursor CLI (oficial)

Primero instala el Cursor CLI en sí (instalador oficial):

# macOS / Linux (official installer)
curl https://cursor.com/install -fsS | bash

# Windows PowerShell
irm 'https://cursor.com/install?win32=true' | iex

Estás listo cuando agent -p "hello" produzca salida normal (el uso headless lo factura Cursor).

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/cursor

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento. El uso headless lo factura Cursor: asegúrate de que esté en tu plan.
tunnelbox-cursor

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común (modo plan + permitir editar archivos):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CURSOR_MODE=plan \
TUNNELBOX_CURSOR_FORCE=1 \
tunnelbox-cursor

La aprobación en el móvil no es posible (los hooks de Cursor son solo para IDE / agentes Cloud; el headless agent -p no tiene relay de aprobación externo), y el modo print suprime el pensamiento (sin tarjetas de razonamiento). Lo que se ejecuta lo deciden permissions allow/deny + --force/--yolo + --sandbox. Solo lectura por defecto (sin --force, el agente solo propone, no edita). Define TUNNELBOX_CURSOR_FORCE=1 para editar archivos de verdad. ¿Aún sin CLI? macOS / Linux: curl https://cursor.com/install -fsS | bash; Windows: irm 'https://cursor.com/install?win32=true' | iex.

Requisitos

  • Node.js ≥ 22
  • CodeBuddy CLI instalado y con sesión iniciada (npm i -g @tencent-ai/codebuddy-code; ejecuta codebuddy una vez para iniciar sesión, o define CODEBUDDY_API_KEY)

Instalar CodeBuddy CLI (oficial)

Primero instala el CodeBuddy CLI en sí (instalación global con npm):

# install the CodeBuddy CLI
npm install -g @tencent-ai/codebuddy-code

# first login (or use CODEBUDDY_API_KEY)
codebuddy

Estás listo cuando codebuddy --version muestre una versión; la primera ejecución requiere iniciar sesión.

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/codebuddy

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento.
tunnelbox-codebuddy

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común (modo plan):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CODEBUDDY_MODE=plan \
tunnelbox-codebuddy

Controla codebuddy --acp (ACP). Las aprobaciones de herramientas van al móvil (permitir / denegar / permitir siempre); sin conexión o con un tiempo de espera de 120 s se rechaza automáticamente (fail-closed). Selección / plan / preguntas son ACP nativo (AskUserQuestion / ExitPlanMode / elicitation). Si no has iniciado sesión, ejecuta codebuddy una vez para iniciarla (o define CODEBUDDY_API_KEY).

Requisitos

  • Node.js ≥ 22
  • Kimi Code CLI instalado y con sesión iniciada (ejecuta kimi una vez y envía /login)

Instalar Kimi Code CLI (oficial)

Primero instala el Kimi Code CLI en sí (script oficial o npm), luego ejecútalo una vez y envía /login:

# macOS / Linux (official installer)
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash

# Windows PowerShell
irm https://code.kimi.com/kimi-code/install.ps1 | iex

# first login
kimi   # then send /login

Estás listo cuando kimi --version muestre una versión; la primera ejecución requiere /login.

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/kimi

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento.
tunnelbox-kimi

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común (modo plan):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_KIMI_MODE=plan \
tunnelbox-kimi

Controla kimi acp (ACP). La matriz de capacidades oficial incluye session/list|resume|delete nativos; la aprobación de herramientas y las preguntas comparten session/request_permission y van al móvil; sin conexión o con un tiempo de espera de 120 s se rechaza automáticamente (fail-closed). Si no has iniciado sesión, ejecuta kimi una vez y envía /login.

Requisitos

  • Node.js ≥ 22
  • TraeCode CLI instalado y con sesión iniciada (traecli login). Nota: TraeCode CLI requiere un plan TRAE Enterprise Flagship

Instalar TraeCode CLI (oficial)

Primero instala el TraeCode CLI en sí según la documentación oficial y luego inicia sesión:

# see https://docs.trae.cn/cli_what-is-trae-cli
traecli login

Estás listo cuando traecli --version funcione y traecli login tenga éxito.

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/trae

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento.
tunnelbox-trae

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común (modo de permiso auto):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_TRAE_PERMISSION_MODE=auto \
tunnelbox-trae

Controla traecli acp serve (ACP). La documentación oficial solo indica compatibilidad con ACP y no publica una matriz de capacidades, por lo que este adaptador es experimental: verifica el streaming / la aprobación / la selección / la cancelación con el CLI real (npm run probe). Las aprobaciones son fail-closed por defecto. TraeCode CLI requiere un plan TRAE Enterprise Flagship y usa el modo Max por defecto (ojo con la cuota).

Requisitos

  • Node.js ≥ 22
  • Qoder CLI instalado y con sesión iniciada (qoder login, o define QODER_PERSONAL_ACCESS_TOKEN)

Instalar Qoder CLI (oficial)

Primero instala el Qoder CLI en sí (npm) y luego inicia sesión:

# install Qoder CLI
npm install -g @qoder-ai/qodercli

# log in (or set QODER_PERSONAL_ACCESS_TOKEN)
qoder login

Estás listo cuando qoder --version muestre una versión y hayas iniciado sesión.

Pasos de instalación

1Instala el adaptador globalmente con npm (no hace falta clonar el repositorio)
# no repo clone needed
npm install -g @tunnelbox/qoder

Ejecutar y emparejar

2Inicia el adaptador (permanece en ejecución en tu PC); el terminal imprime un código QR + código de emparejamiento.
tunnelbox-qoder

✅ Listo cuando aparezca el código QR: escanéalo con tu móvil.

Configuración y consejos opcionales

Todo opcional. Ejemplo común (modo de permiso auto):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_QODER_PERMISSION_MODE=auto \
tunnelbox-qoder

Controla qoder --acp (ACP). Las aprobaciones de herramientas van al móvil (permitir / denegar / permitir siempre); sin conexión o con un tiempo de espera de 120 s se rechaza automáticamente (fail-closed). Selección / plan / preguntas pasan por el canal de permisos ACP. Si no has iniciado sesión, ejecuta qoder login o define QODER_PERSONAL_ACCESS_TOKEN.

Ir más allá: más agentes y autoalojamiento

  • README de cada adaptador:Además del manual anterior, los detalles más profundos de arquitectura / protocolo están en el README de cada adaptador bajo plugin/ en el repositorio.
  • Autoalojar el relay:docker compose up -d despliega el relay con un solo comando (persistencia MySQL opcional). Una plantilla nginx.conf proporciona HTTPS mediante proxy inverso; define NATS_URL para escalar a varios nodos.

FAQ

Preguntas frecuentes

Mi PC no tiene IP pública, ¿funciona desde una red de oficina / residencia?

Sí. El adaptador de tu PC solo realiza conexiones WebSocket salientes (una conexión inversa). No se necesita IP pública, reenvío de puertos ni túnel; atraviesa NAT y cortafuegos, así que las redes corporativas funcionan sin problema.

Mis mensajes pasan por el relay, ¿es seguro?

El relay solo hace reenvío sin estado y no almacena contenido de conversaciones. El transporte es totalmente TLS; los códigos de emparejamiento son de un solo uso y caducan a los 10 minutos; los tokens de sesión se guardan como hashes SHA-256. Los usuarios sensibles a la privacidad pueden autoalojar el relay para que los datos permanezcan en su propio servidor.

¿Dónde se guarda mi historial de conversación?

Solo en el almacenamiento local del agente en tu PC. La app obtiene el historial de tu ordenador en tiempo real cuando abres una sesión; no es accesible mientras el PC está apagado o el plugin está sin conexión. El relay no hace sincronización ni copia de seguridad en la nube: ese es el compromiso deliberado, respetuoso con la privacidad y de bajo coste.

¿Qué agentes son compatibles? ¿Puedo ejecutar varios a la vez?

Se admiten opencode, Claude Code, Codex, DeepSeek Harness, OpenClaw, Hermes y Cursor, y se permiten varias instancias del mismo tipo (p. ej. opencode1 / opencode2). Cada una se empareja y conecta de forma independiente: cambia entre ellas desde la lista de tu móvil o deja que distintos agentes hagan la misma tarea para comparar en paralelo.

¿Las acciones peligrosas requieren siempre mi aprobación?

Sí. Cuando se invocan herramientas como bash o la edición de archivos, la solicitud sigue el modelo nativo de ask / aprobación de cada agente y se envía a tu móvil: solo se ejecuta tras permitir o denegar. También puedes elegir «permitir siempre» para una herramienta durante la sesión actual.

¿Es gratis? ¿Puedo autoalojarlo / desplegarlo?

Gratis y de código abierto (consulta la LICENSE del repositorio). El relay es autoalojable: Docker / docker compose lo despliega con un solo comando, con HTTPS mediante proxy inverso nginx, persistencia MySQL y escalado multinodo NATS. Las apps Android / iOS están disponibles en el sitio oficial.

¿En qué se diferencia de productos como AionUi?

tunnelbox está diseñado en torno al control remoto desde tu móvil: conexión inversa mediante relay más apps nativas Android / iOS, para que puedas manejar varios agentes CLI de tu PC desde cualquier lugar. Un protocolo unificado, un relay sin estado y una gran facilidad de autoalojamiento permiten ejecutar y gestionar muchos agentes en una sola máquina.

Pon la IA en tu bolsillo: empieza ya

Instala el adaptador en tu PC, saca el móvil y escanea. Todos tus agentes, listos para servir.

Empezar Estrella en GitHub