CLI commands
Nodos
openclaw nodes
Gestiona los nodos (dispositivos) emparejados e invoca las capacidades de los nodos.
Relacionado: Descripción general de los nodos - Presencia activa en el equipo - Nodos de cámara - Nodos de imágenes
Opciones comunes en todos los subcomandos: --url <url>, --token <token>, --timeout <ms> (valor predeterminado: 10000), --json.
Estado
openclaw nodes statusopenclaw nodes status --connectedopenclaw nodes status --last-connected 24hopenclaw nodes listopenclaw nodes describe --node <idOrNameOrIp>Tanto status como list aceptan --connected (solo nodos conectados) y --last-connected <duration> (p. ej., 24h, 7d; solo nodos que se hayan conectado dentro de ese intervalo). list muestra los nodos pendientes y emparejados en tablas separadas; las filas emparejadas incluyen el tiempo transcurrido desde la conexión más reciente (Last Connect). status muestra una única tabla combinada con detalles de capacidad, versión y última entrada de cada nodo. Un nodo macOS conectado solo informa de la última entrada después de que se habilite Detección de actividad en el equipo y se conceda el permiso de Accesibilidad; la fila más reciente se marca como active. Consulta Presencia activa en el equipo. describe muestra las capacidades, los permisos, la actividad y los comandos de invocación efectivos o pendientes de un nodo.
Emparejamiento
openclaw nodes pendingopenclaw nodes approve <requestId>openclaw nodes reject <requestId>openclaw nodes remove --node <id|name|ip>openclaw nodes rename --node <id|name|ip> --name <displayName>Estos comandos gestionan el almacén node.pair.* propiedad del Gateway, que es independiente del emparejamiento de dispositivos (openclaw devices approve) que controla el protocolo de enlace connect de WS del nodo. Consulta Nodos para conocer la relación entre ambos.
removerevoca la entrada de rol emparejado del nodo. En un nodo respaldado por un dispositivo, esto revoca el rolnodeen el almacén de emparejamiento de dispositivos y desconecta sus sesiones con rol de nodo: un dispositivo con varios roles conserva su fila y solo pierde el rolnode; la fila de un dispositivo que solo tiene el rol de nodo se elimina. También borra cualquier registro heredado coincidente de emparejamiento de nodos propiedad del Gateway.pendingsolo necesita el ámbitooperator.pairing.gateway.nodes.pairing.autoApproveCidrspuede omitir el paso pendiente para el primer emparejamiento de un dispositivorole: nodeque sea explícitamente de confianza. Está desactivado de forma predeterminada y no aprueba ampliaciones de roles.gateway.nodes.pairing.sshVerify(activado de forma predeterminada) aprueba automáticamente el primer emparejamiento de un dispositivorole: nodecuando el Gateway puede verificar la clave del dispositivo mediante SSH con el host del nodo; la primera superficie de capacidades se aprueba en el mismo paso. Consulta Emparejamiento de nodos.- Los requisitos de ámbito de
approvedependen de los comandos declarados por la solicitud pendiente:- solicitud sin comandos:
operator.pairing - comandos ordinarios de nodo:
operator.pairing+operator.write - comandos que requieren privilegios administrativos (
system.run,system.run.prepare,system.which,browser.proxy,fs.listDirysystem.execApprovals.get/set):operator.pairing+operator.admin
- solicitud sin comandos:
- Ámbito de
remove:operator.pairingpuede eliminar filas de nodos que no sean operadores; un llamador con token de dispositivo que revoque su propio rol de nodo en un dispositivo con varios roles necesita ademásoperator.admin.
Invocación
openclaw nodes invoke --node <id> --command system.which --params '{"bins":["uname"]}'Indicadores:
--command <command>(obligatorio): p. ej.,canvas.eval.--params <json>: cadena de objeto JSON (valor predeterminado:{}).--invoke-timeout <ms>: tiempo de espera de invocación del nodo (valor predeterminado:15000).--idempotency-key <key>: clave de idempotencia opcional.
system.run y system.run.prepare están bloqueados aquí; para ejecutar comandos de shell, utiliza en su lugar la herramienta exec con host=node. system.which se permite mediante invoke.
Notificación, push, ubicación y pantalla
openclaw nodes notify --node <id> --title "Build" --body "Done" --priority timeSensitiveopenclaw nodes push --node <id> --title "OpenClaw" --environment sandboxopenclaw nodes location get --node <id> --accuracy preciseopenclaw nodes screen record --node <id> --duration 10s --fps 10 --out ./clip.mp4notifyenvía una notificación local a un nodo que declarasystem.notify, incluidos los nodos macOS, iOS, Android y watchOS directos. La entrega directa a watchOS requiere que OpenClaw esté activo. Requiere--titleo--body. Opciones:--sound <name>,--priority <passive|active|timeSensitive>,--delivery <system|overlay|auto>(valor predeterminado:system),--invoke-timeout <ms>(valor predeterminado:15000).pushenvía una notificación push de prueba de APNs a un nodo iOS. Opciones:--title <text>(valor predeterminado:OpenClaw),--body <text>,--environment <sandbox|production>para sustituir el entorno de APNs detectado.location getobtiene la ubicación actual del nodo. Opciones:--max-age <ms>(reutiliza una posición almacenada en caché),--accuracy <coarse|balanced|precise>,--location-timeout <ms>(valor predeterminado:10000),--invoke-timeout <ms>(valor predeterminado:20000).screen recordcaptura un clip breve y muestra la ruta guardada (o escribe JSON con--json). Opciones:--screen <index>(valor predeterminado:0),--duration <ms|10s>(valor predeterminado:10000),--fps <fps>(valor predeterminado:10),--no-audio,--out <path>,--invoke-timeout <ms>(valor predeterminado:120000).
Los comandos de Cámara y Canvas tienen su propia documentación: Nodos de cámara, Canvas. Canvas se implementa mediante el Plugin experimental de Canvas incluido; el núcleo conserva openclaw nodes canvas como punto de montaje de compatibilidad.