# NodalDesk: herramientas del canal de agente > Lista generada del código de NodalDesk 0.2.99 (clients/agent/tools-catalog.js). Una IA conectada por el > túnel ve estas 45 herramientas, siempre sujetas al permiso que el dueño del equipo le haya dado. Resumen del sitio y reglas de la casa: https://nodaldesk.com/llms.txt Carta para la IA: https://nodaldesk.com/blog/bienvenida-al-tunel-ia Las herramientas marcadas con un órgano (exec, browser, files) solo aparecen si el dueño concede ese permiso y el equipo tiene ese órgano (por ejemplo, un equipo Android no tiene terminal ni navegador dedicado). ## CONECTAR (modo cuenta, sin token) - nodaldesk_list_nodes: Equipos de la cuenta que esta conexión puede usar y si están en línea. - nodaldesk_connect: Conecta con un equipo por nombre o id; el resto de herramientas actúa sobre él. ## VER (ojos) - nodaldesk_read_screen: Árbol accesible de la pantalla: rol, nombre o texto, posición y foco de cada elemento. - nodaldesk_screenshot: Imagen JPEG del escritorio. - nodaldesk_frame: Imagen del vídeo en vivo del equipo (lo que ya se emite). - nodaldesk_monitors: Monitores del equipo (id y geometría) con el activo marcado: el espacio de coordenadas. ## TOCAR — por identidad (preferido) - nodaldesk_invoke: Acciona un elemento del árbol por identidad, sin píxeles: botón, menú, enlace o casilla, por automationId o name (role/className desambiguan). - nodaldesk_set_value: Escribe `text` en un campo del árbol por identidad (automationId o name), sin mover el cursor. ## TOCAR — ratón/teclado (fallback por coordenadas) - nodaldesk_move: Mueve el cursor. - nodaldesk_click: Clic. - nodaldesk_double_click: Doble clic izquierdo, opcionalmente en x,y (0..1 o píxeles). - nodaldesk_right_click: Clic derecho, opcionalmente en x,y (0..1 o píxeles). - nodaldesk_drag: Arrastra de (x0,y0) a (x1,y1), en 0..1 o píxeles. - nodaldesk_type: Escribe texto donde esté el foco. - nodaldesk_key: Pulsa una tecla por su event.code del DOM (Enter, Tab, Escape, ArrowLeft, Backspace, KeyC…) con modificadores opcionales: {"code":"KeyC","ctrl":true} copia. - nodaldesk_scroll: Desplaza en vertical: dy negativo sube, positivo baja. ## OÍR (oídos) - nodaldesk_hear: Graba `seconds` (def. ## Propriocepción / diagnóstico - nodaldesk_status: Estado de la conexión: identidad y confianza, ruta (relay o directa), equipo (nombre, sistema, monitores), captura (captureState), bloqueo, vídeo (`stream`) y `permissions`: qué poderes ha dado el dueño (pantalla, control, portapapeles, audio, navegador, terminal, ficheros, diagnóstico). - nodaldesk_diagnostics: Diagnóstico del equipo, solo lectura y sin secretos: captura, codificador, control, audio y relay. ## ESPERAR - nodaldesk_wait_for: Espera a que pase una cosa, sin mirar en bucle: `text` en pantalla (o en la página con where:"navegador"), `window` por título, fin de `process` (poder de terminal), `ms`, `changed:true` o `stable:true` (pantalla quieta quietMs). ## EJECUTAR - nodaldesk_exec [exec]: Ejecuta un comando (bash -c en Linux y Mac, powershell -Command en Windows) y devuelve stdout, stderr, exitCode, timedOut y truncated. ## Portapapeles - nodaldesk_get_clipboard [clipboard]: Texto del portapapeles del equipo. - nodaldesk_set_clipboard [clipboard]: Pone texto en el portapapeles del equipo; pegar (Ctrl+V) es más fiable que teclear bloques largos o símbolos. ## NAVEGAR (navegador dedicado) - nodaldesk_browser_status [browser]: Navegador dedicado del equipo: disponible, pestañas, URL y título, y cuál es (`channel`, `preferredChannel`, `profileDir`). - nodaldesk_browser_open [browser]: Abre una URL http(s) y devuelve la página como árbol accesible (roles, nombres, URL y título), contraseñas tapadas. - nodaldesk_browser_snapshot [browser]: La página actual entera como árbol accesible, contraseñas tapadas. - nodaldesk_browser_query [browser]: Elementos por selector CSS: tag, rol, aria-label, placeholder, texto, si es editable o visible y bounds. - nodaldesk_browser_dom_snapshot [browser]: DOM crudo saneado y acotado (sin scripts, estilos, iframes, valores ni handlers), opcionalmente de un `selector`. - nodaldesk_browser_click [browser]: Clic en la página por {role, name}, {text} o {selector}; {x,y} del viewport (centro de un bounds de browser_query) para editores que solo se abren con un clic. - nodaldesk_browser_type [browser]: Escribe en un campo por {label}, {role,name} o {selector}. - nodaldesk_browser_fill [browser]: Rellena un campo (role, label, selector o name) y relee para comprobarlo: `filled`, `method`, `valueSeen`. - nodaldesk_browser_press [browser]: Pulsa una tecla o atajo en la página (Enter, Tab, Escape, Control+L…). - nodaldesk_browser_restart [browser]: Relanza el navegador limpio, cerrando sus pestañas: sale de un navegador colgado o pasa al modo que sobrevive a reiniciar NodalDesk (`detached`; en Windows no sobrevive a actualizarlo). - nodaldesk_browser_verify [browser]: Comprueba una condición sin devolver la página: {contains}, {gone}, {selector, state} o {role, name}. - nodaldesk_browser_wait [browser]: Espera en la página: {selector,state}, {ms}, {stable:true} a que el DOM deje de cambiar quietMs (def. - nodaldesk_browser_scroll [browser]: Desplaza la página dy píxeles (positivo baja); carga más en listas infinitas. - nodaldesk_browser_tabs [browser]: Pestañas abiertas [{index, active, url, title}]. - nodaldesk_browser_new_tab [browser]: Abre una pestaña nueva, opcionalmente con url, y la deja activa. - nodaldesk_browser_switch_tab [browser]: Cambia la pestaña activa por índice; lo siguiente actúa sobre ella. - nodaldesk_browser_close_tab [browser]: Cierra una pestaña por índice. - nodaldesk_browser_focus_tab [browser]: Trae al frente la pestaña que opera el canal DOM. - nodaldesk_browser_submit [browser]: Envío que no se duplica (comentar, publicar, votar): clica `click` una vez y espera `expect.selector` si se da. ## LLEVAR (ficheros por el túnel) - nodaldesk_files_upload [files]: Sube un fichero propio al equipo: binario, por trozos, reanudable y comprobado por sha256. - nodaldesk_files_download [files]: Baja un fichero de las zonas de transferencia del equipo a la carpeta de transferencias local, comprobado por sha256. ## Otras - nodaldesk_changed: ¿Ha cambiado la pantalla desde la última foto o la última pregunta? Sin imagen: changed, changedRatio y la zona (0..1).