CommunityProgramación y desarrollogithub.com

node-connect

Diagnostica fallos de conexión de nodos del Control UI de OpenClaw en navegadores y en aplicaciones nativas Android, iOS o macOS, abarcando problemas de ruta, autenticación, emparejamiento, QR/código de configuración y reconexión.

¿Qué es node-connect?

La habilidad `node-connect` guía al agente a través de un proceso estructurado para diagnosticar y resolver fallos de conexión entre un único cliente (navegador o aplicación nativa) y un Gateway específico de OpenClaw. Su valor principal reside en evitar la ambigüedad: primero se 'bloquea' el objetivo (entorno, perfil y Gateway), luego se clasifica el tipo de cliente (UI de control en navegador vs. móvil/nodo nativo) para seleccionar las herramientas de diagnóstico adecuadas. El agente observa en vivo el intento fallido, correlacionando registros con transiciones de estado (ruta, autenticación, emparejamiento), y por último ejecuta acciones correctivas según la ruta identificada, ya sea restaurando credenciales en el navegador o inspeccionando códigos QR/códigos de configuración para la aplicación nativa. La habilidad está diseñada para plataformas como Claude Code, Cursor y Codex, y enfatiza la seguridad: nunca expone secretos permanentes ni códigos de emparejamiento en el chat, y requiere que el operador realice acciones sensibles fuera de las herramientas del agente.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/node-connect

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Node Connect

Objetivo: corregir un cliente exacto contra un Gateway exacto y luego probar la conexión fresca de ese cliente.

1. Bloquear el objetivo

Registre el entorno/perfil objetivo, el binario de OpenClaw, la raíz de configuración/estado, la URL/puerto del Gateway y el servicio antes de cambiar nada.

  • Utilice el envoltorio/perfil de despliegue con nombre para cada comando de configuración, registro, servicio, dispositivo y nodo.
  • Nunca derive a un openclaw desnudo, entorno de prueba o despliegue con nombre similar.
  • Si el ejecutable global está obsoleto, invoque el objetivo a través de su propietario.
  • Verifique que el estado, la configuración, los registros y la identidad del proceso describan el mismo Gateway.

Identifique el Gateway objetivo antes de cambiar el emparejamiento o la autenticación.

2. Clasificar el cliente

Clasifique a partir de la solicitud y el registro del Gateway antes de elegir comandos:

  • Navegador de la UI de control: el usuario dice navegador, dashboard, UI de control o webchat; los registros muestran client=openclaw-control-ui o mode=webchat.
  • Móvil/nodo nativo: la aplicación oficial muestra Conectar, Escanear QR o código de configuración; los registros/metadatos de la solicitud muestran un cliente nativo o role=node.

Un teléfono puede ser cualquiera de los dos clientes. No use openclaw qr ni openclaw nodes status para un navegador de teléfono; esos pertenecen al emparejamiento móvil/nodo nativo.

3. Observar el intento fallido

Ejecute lo siguiente a través del objetivo bloqueado:

openclaw gateway status --deep
openclaw logs --follow --json
openclaw devices list
openclaw config get gateway.mode
openclaw config get gateway.bind
openclaw config get gateway.remote.url
openclaw config get gateway.auth.mode
openclaw config get gateway.auth.allowTailscale
openclaw config get gateway.tailscale.mode

Haga que el cliente reintente una vez mientras los registros están en vivo. Correlacione su ID de cliente, modo, plataforma, dirección, resultado de autenticación, ID de dispositivo, usuario y código de cierre. Ignore otros dispositivos emparejados.

Interprete la primera transición fallida:

  • Sin intento de Gateway coincidente: problema de ruta, DNS, TLS, origen o proxy.
  • token_missing, password_missing, discrepancia o fallo de identidad de Tailscale: la autenticación falló antes del emparejamiento, por lo que una lista de pendientes vacía es esperada.
  • pairing required: la ruta y la autenticación tuvieron éxito; apruebe la solicitud pendiente exacta.
  • authenticated user connected / webchat connected: coincida con el cliente exacto; si va seguido de 1006, preserve la autenticación/emparejamiento e inspeccione el ciclo de vida, transporte, proxy o reconexión.
  • 1006 sin ninguno de los registros de conexión a nivel de aplicación no prueba la autenticación/emparejamiento; inspeccione la transición de enlace anterior.

4. Probar la ruta

Elija una topología: misma máquina, LAN, tailnet o proxy inverso público. No las mezcle.

  • La UI de control de navegador necesita HTTPS o localhost para la identidad del dispositivo del navegador. Una URL remota de Tailnet/LAN con HTTP plano no es un sustituto válido.
  • gateway.tailscale.mode=off significa que OpenClaw no está gestionando Serve/Funnel. No prueba que Tailscale o una ruta Serve gestionada externamente esté ausente.
  • Cuando Tailscale está involucrado, inspeccione el estado en vivo en lugar de inferirlo de la configuración de OpenClaw:
tailscale status --json
tailscale serve status --json

Haga coincidir la URL del cliente con el oyente/ruta de proxy que llega al Gateway bloqueado.

5A. Carril del navegador UI de control

Restaure la autenticación del navegador antes de buscar una solicitud de emparejamiento:

  • Para autenticación por token/contraseña, ingrese la credencial en la configuración de la UI de control. Nunca ponga secretos permanentes en chat, registros o URL.
  • Prefiera openclaw dashboard en el host del Gateway para una transferencia firmada de un solo uso. Use --no-open solo cuando el operador pueda recuperar el portapapeles de ese host, y mantenga el navegador/portapapeles del host fuera de las herramientas del agente. Nunca capture dashboard --json: puede exponer la transferencia y las credenciales compartidas. Nunca retransmita, reescriba o envíe una URL de transferencia de bucle local a un teléfono remoto.
  • Para Tailscale Serve, verifique la ruta en vivo y la identidad reenviada. Habilite gateway.auth.allowTailscale solo para ese límite de confianza pretendido. La autenticación verificada de la UI de control de Tailscale con identidad de dispositivo del navegador puede saltarse el emparejamiento.

Después de que la autenticación tenga éxito:

  • Reintente; nunca infiera el emparejamiento del intento previo a la autenticación. La autenticación por token/contraseña puede revelar pairing required; la identidad verificada de Tailscale puede saltarlo.
  • Si los registros dicen pairing required, vuelva a listar los dispositivos y apruebe el ID de solicitud exacto.
  • Una conexión exitosa verificada por Tailscale puede crear correctamente cero filas de dispositivo pendiente o emparejado.
  • Después de un 1006 repetido, preserve la autenticación/emparejamiento e inspeccione la evidencia de reconexión.

5B. Carril móvil/nodo nativo

Inspeccione la ruta nativa a través del objetivo bloqueado sin exponer la credencial de configuración:

openclaw qr --json | jq '{gatewayUrl, gatewayUrls, auth, access, accessDowngraded, urlSource}'

Para una CLI que controla un Gateway remoto, agregue --remote antes de --json; selecciona gateway.remote.url y las credenciales remotas. Si el filtro de redacción no está disponible, no ejecute JSON QR sin procesar en la salida visible del agente.

Verifique gatewayUrl y urlSource. El código de configuración es equivalente a una contraseña: haga que el operador lo copie desde UI de control → Dispositivos → Emparejar dispositivo, o ejecute openclaw qr --setup-code-only en una terminal fuera de las herramientas del agente y péguelo directamente en la aplicación oficial. Nunca lo retransmita a través de la salida del agente/chat/herramienta. Genere un código nuevo después de una corrección de URL/autenticación o expiración.

Si la aplicación informa pairing required:

openclaw devices list
openclaw devices approve --latest   # solo vista previa; sale sin aprobación
openclaw devices approve <requestId>
openclaw nodes status

--latest solo muestra una vista previa de la solicitud actual; nunca lo trate como aprobación. Vuelva a listar inmediatamente antes del comando de ID exacto porque los reintentos pueden reemplazar la solicitud. Nunca apruebe por posición, antigüedad o similitud.

6. Correlacionar y finalizar

Antes de la aprobación, haga coincidir los hechos disponibles de solicitud, clave pública del dispositivo, cliente, modo/rol, plataforma, dirección, usuario y tiempo de reintento.

Declare el éxito solo después de que un nuevo intento realizado después del cambio final pruebe todas las comprobaciones aplicables:

  • el cliente exacto llega al Gateway bloqueado;
  • la autenticación prevista tiene éxito;
  • el navegador completa las solicitudes iniciales, o el nodo nativo aparece en openclaw nodes status;
  • la aprobación usó el ID de solicitud exacto; y
  • no sigue inmediatamente ningún fallo de autenticación, emparejamiento o reconexión.

Un código QR/de configuración, un navegador lanzado, una lista de pendientes vacía, una aprobación, un recuento de dispositivos emparejados o un ping de Tailscale prueba solo una transición.

Informe el diagnóstico, la ruta/carril de autenticación elegido, la evidencia del cliente exacto y cualquier transición fallida restante.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Skills relacionados