Skip to content

Gestión multimáquina ​

Cloud y autoalojado

La gestión multimáquina vinculada a la cuenta, incluidas las máquinas fuera de tu propia red, está disponible en la versión Cloud. La versión autoalojada también puede abarcar varias máquinas que se alcanzan directamente (misma red o Tailscale), sin cuenta — consulta "Empareja máquinas sin cuenta (autoalojado)" más abajo.

ADHDev Cloud permite que una cuenta haga seguimiento de varias máquinas de desarrollo desde un solo panel.

Lo que te ofrece ​

  • un panel para tu portátil, escritorio, máquina de trabajo o máquina remota
  • visibilidad de sesiones consciente de la máquina entre flujos de trabajo de IDE y CLI
  • una página de detalle de máquina con controles de lanzamiento, configuración de proveedores, logs y recuperación de session-host
  • acceso a la nube fuera de tu red local

Esta es una de las diferencias más claras entre la nube y el autoalojado. La nube es el plano de control vinculado a la cuenta. El autoalojado es un panel local en una máquina anfitriona, que puede incorporar máquinas emparejadas en una red que se alcance.

Cómo funciona ​

Cada máquina ejecuta su propio daemon de ADHDev, autenticado en la misma cuenta de la nube:

bash
npm install -g adhdev
adhdev setup
adhdev daemon

Una vez que las máquinas están conectadas bajo la misma cuenta, aparecen juntas en el panel.

Repo Mesh (orquestación de daemon a daemon) ​

Repo Mesh coordina varios daemons de la misma cuenta para que una sesión coordinadora pueda conducir el trabajo entre varias máquinas o worktrees de git. Se ejecuta sobre un DataChannel P2P directo de daemon a daemon (vía node-datachannel); el WebSocket del servidor de la nube solo retransmite la señalización de SDP offer/answer/ICE y autoriza que ambos daemons pertenezcan a la misma cuenta. Esto es coordinación de daemons — no es un fallback de comandos del panel. El tráfico de comandos/datos del panel sigue usando solo el canal P2P panel↔daemon.

El panel de la nube presenta el mesh en la página Repo Mesh (/mesh).

Conceptos centrales:

  • Nodo — un workspace que participa en el mesh: un checkout de repo o un worktree de git aislado donde puede ejecutarse un agente.
  • Misión — un objetivo que agrupa las tareas que trabajan hacia él y permanece como un registro duradero.
  • Tarea — una unidad de trabajo que un agente en un nodo realiza, moviéndose a través de pending → assigned → completed/failed.
  • Cola — la lista local del daemon de tareas en espera que los nodos inactivos reclaman de forma autónoma. La cola es local-first y autoritativa; Cloud/D1 solo mantiene metadatos ligeros de membresía/señalización.
  • Ledger — el registro de auditoría del mesh, de solo anexión, de lo que ya ha sucedido entre los nodos (historial, no una lista de tareas pendientes). Reconciliado entre daemons sobre porciones acotadas de ledger P2P.
  • Refinery — el proceso que converge una rama de worktree de vuelta a su base: validar → merge → push → limpieza.

El daemon coordinador es propietario del snapshot agregado mesh_status. Las sesiones worker son despachadas por el coordinador y auto-aprobadas por defecto. La finalización se basa en evidencia (estado/checkpoint de git, eventos del ledger), no en el autoinforme del LLM. Las herramientas de Repo Mesh se exponen a las sesiones coordinadoras a través del servidor MCP en modo mesh — consulta Servidor MCP.

Para el panorama completo — orquestación basada en pull, colaboración de repo aislada por worktree, convergencia de la refinery y verificación cruzada — consulta la guía dedicada de Repo Mesh.

Machines ​

La página Machines es la vista general a nivel de máquina. Es donde ves rápidamente:

  • qué máquinas están online
  • a qué máquina pertenece una sesión
  • el estado de conexión y runtime
  • qué máquina quieres abrir en detalle

Detalle de máquina ​

Abrir una máquina te da una vista más operativa que el panel principal:

  • Workspace para sesiones actuales de IDE y CLI
  • Hosted Runtimes para diagnóstico y recuperación de runtimes CLI alojados
  • Providers para configuración de máquina/proveedor
  • System para salud de la máquina
  • Logs para logs de runtime y daemon

Esta es la página que usas cuando el panel de alto nivel te dice que algo va mal pero necesitas contexto específico de la máquina.

Usos típicos ​

Las configuraciones multimáquina en la nube son especialmente útiles cuando:

  • mantienes una máquina en trabajo de agente en segundo plano
  • separas dispositivos personales y de trabajo
  • quieres aprobaciones móviles para sesiones que se ejecutan en otro lugar
  • necesitas recuperar un runtime CLI en una máquina que no estás usando físicamente

Límites de plan ​

PlanMáx. máquinas
Free1
Pro2
Ultra5
EnterpriseIlimitado

Cuando alcanzas tu límite de máquinas, los registros de máquinas adicionales se rechazan hasta que elimines una o mejores tu plan.

Diferencia con el autoalojado ​

El autoalojado no fusiona las máquinas en un panel alojado vinculado a la cuenta.

Usa el autoalojado cuando quieras un panel solo local, opcionalmente con máquinas emparejadas en una red que se alcance entre sí. Usa la nube cuando quieras visibilidad de máquinas vinculada a la cuenta entre dispositivos y redes.

Empareja máquinas sin cuenta (autoalojado) ​

Desde la 1.0.76 (corregido de extremo a extremo en la 1.0.77), un daemon standalone gratuito puede abarcar varias máquinas. Las máquinas que se alcanzan directamente entre sí (misma red o Tailscale) se emparejan con una dirección y un código de un solo uso desde la pantalla de mesh. La máquina anfitriona reparte tareas a las demás y muestra sus sesiones. No hace falta cuenta en la nube.

  1. Inicia el anfitrión en una dirección que la otra máquina pueda alcanzar. Por defecto es 127.0.0.1 (solo esta máquina), a la que otras máquinas no pueden conectarse. Usa adhdev standalone --host 0.0.0.0 --token <some-secret>, o enlaza una IP de LAN o de Tailscale. Si el daemon solo escucha en loopback, la tarjeta de emparejamiento muestra una advertencia que indica reiniciar con --host 0.0.0.0 (o una IP de LAN/Tailscale).
  2. Crea un código en el host. Abre la pantalla de mesh, busca la tarjeta Conectar otra máquina, mantente en la pestaña Host y haz clic en Crear código de emparejamiento. La tarjeta muestra la Dirección (la IP de LAN o de Tailscale de esta máquina y el puerto, 3847 por defecto) y el Código. El código se muestra solo una vez y caduca; usa Copiar para copiarlo.
  3. Únete desde la otra máquina. En esa máquina, crea (o abre) un mesh para el mismo repositorio, abre la pestaña Miembro de la misma tarjeta en su pantalla de mesh, introduce la dirección del host como host:puerto (por ejemplo 100.64.0.2:3847) y el código, y haz clic en Conectar. La tarjeta confirma el emparejamiento y muestra Esperando la conexión hasta que el enlace está activo.
  4. Gestiónalo desde el host. Las máquinas emparejadas aparecen en Máquinas conectadas en la pestaña Host; usa Desconectar para quitar una.

Una vez emparejadas, el asistente también puede pasar tus peticiones a un proyecto alojado en la otra máquina y traer el resultado a su chat.

Seguridad

Los pares de mesh no usan el token del panel. Cada máquina se autentica en /ws/mesh con su propio secreto de emparejamiento (un handshake HMAC). Enlazar 0.0.0.0 sin token ni contraseña del panel hace que cualquiera en esa red pueda alcanzar el panel, y el servidor imprime una advertencia al arrancar — consulta Standalone para más detalles.

Lo que sigue siendo exclusivo de Cloud:

  • alcanzar máquinas fuera de tu propia red (P2P en la nube con TURN)
  • notificaciones push
  • la API REST alojada y las claves de API
  • transferencia de archivos de proyecto entre máquinas (standalone no puede abrir el enlace de archivos WebRTC)

Nombrar máquinas ​

Los nombres amigables de máquina importan una vez que tienes más de una máquina conectada.

Los apodos de máquina aparecen por todo el panel y ayudan a desambiguar dónde se está ejecutando realmente una sesión.

Próximos pasos ​

La documentación de la nube alojada está aquí. La documentación de código abierto y autoalojada está en el repositorio OSS.