Instalar el agente
El agente de NORA es el programa que se instala en cada máquina donde se ejecutan los robots. Se conecta al servidor de NORA con la clave de máquina, envía latidos (heartbeat) para mantenerse en línea, recibe trabajos y ejecuta los procesos automatizados.
NORA solo es compatible con Windows y macOS.
Requisitos
Sección titulada «Requisitos»- Máquina registrada en NORA. Antes de instalar el agente, crea la máquina en el panel. Al crearla se genera una clave de máquina con prefijo
nora_mk_...que el agente necesita para autenticarse. - Sistema operativo: Windows 10 o superior, o macOS 12 o superior.
- Conectividad HTTPS saliente hacia el servidor de NORA. En producción la URL de la API es
https://nora-api.valisoftconsulting.com/api/v1.
Cómo se conecta el agente a la máquina
Sección titulada «Cómo se conecta el agente a la máquina»El agente lee su configuración de un archivo .env ubicado junto al ejecutable (o de variables de entorno):
| Variable | Descripción | Valor por defecto |
|---|---|---|
NORA_API_URL | URL base de la API de NORA, con el prefijo /api/v1. | http://localhost:8000/api/v1 |
NORA_MACHINE_KEY | Clave de máquina (nora_mk_...). Obligatoria. | — (sin ella, el agente no arranca) |
Con esos datos, el agente se autentica contra POST /api/v1/agent/auth enviando la clave de máquina. El servidor devuelve un token de acceso (JWT) que el agente usa en el resto de llamadas. A partir de ahí:
- Envía un heartbeat cada 30 segundos a
POST /api/v1/agent/heartbeatcon información del sistema, para figurar en línea en el panel. - Sondea trabajos pendientes cada 5 segundos.
- Refresca la configuración de máquina (resolución, modo de sesión, auto-login) desde
GET /api/v1/agent/machine-configcada 60 segundos, de modo que los cambios hechos en el panel se aplican sin reinstalar el agente.
sequenceDiagram
participant A as Agente
participant S as NORA (API)
A->>S: POST /agent/auth { machine_key }
S-->>A: { access_token, machine_id, tenant_id }
loop cada 30 s
A->>S: POST /agent/heartbeat
end
loop cada 5 s
A->>S: GET /agent/jobs/next
S-->>A: trabajo o vacío
end
El archivo .env se guarda con permisos restringidos al usuario actual (icacls en Windows, chmod 600 en macOS), porque contiene la clave de máquina.
Instalación en Windows
Sección titulada «Instalación en Windows»- Descarga el agente desde el panel de NORA: entra a Machines, selecciona la máquina y descarga el paquete
.zippara Windows. Incluyenora-agent.exey un.envpreconfigurado conNORA_API_URLyNORA_MACHINE_KEY. - Extrae el
.zipen cualquier carpeta (por ejemplo, Descargas), manteniendo el.exey el.envjuntos. - Haz doble clic en
nora-agent.exe. Como el binario no está firmado, Windows SmartScreen puede avisar: haz clic en Más información y luego en Ejecutar de todas formas. - El instalador integrado se ejecuta automáticamente y:
- Copia el agente y el
.envaC:\Users\<usuario>\.nora-agent\. - Registra una Tarea programada llamada NORA Agent (se inicia al iniciar sesión, con 30 s de retraso, y se reinicia si el proceso falla).
- Registra una segunda tarea NORA Session Manager que se ejecuta como
SYSTEMy gestiona la sesión interactiva (ver más abajo). - Crea un acceso directo NORA Agent en el menú Inicio.
- Inicia el agente en segundo plano y muestra un mensaje de confirmación.
- Copia el agente y el
Instalación en macOS
Sección titulada «Instalación en macOS»-
Descarga el paquete
.zippara macOS desde el panel (Machines > máquina > descargar). Incluye el binarionora-agent-macosy el.envpreconfigurado. -
Extrae el
.zip. -
Ejecuta el binario desde la Terminal:
Ventana de terminal chmod +x nora-agent-macos./nora-agent-macos -
Si Gatekeeper bloquea la ejecución, ve a Ajustes del Sistema > Privacidad y Seguridad y pulsa Abrir de todas formas. Como alternativa, quita la cuarentena desde la Terminal:
Ventana de terminal xattr -cr ~/.nora-agent/nora-agent-macos -
El instalador integrado:
- Copia el agente y el
.enva~/.nora-agent/. - Crea un LaunchAgent en
~/Library/LaunchAgents/com.nora.agent.plistconRunAtLoadyKeepAlive, y lo carga conlaunchctl. - Escribe los logs en
~/Library/Logs/nora-agent.log. - Crea
~/Applications/NORA Agent.apppara encontrarlo en Spotlight.
- Copia el agente y el
Arranque automático al reiniciar
Sección titulada «Arranque automático al reiniciar»El agente se ejecuta como servicio de usuario (no de sistema) porque necesita una sesión de escritorio para automatizar aplicaciones. Por eso arranca al iniciar sesión un usuario.
| Sistema | Mecanismo | Arranca tras reinicio | Se reinicia si falla |
|---|---|---|---|
| Windows | Tarea programada NORA Agent (disparador al iniciar sesión, +30 s) | Al iniciar sesión | Sí (RestartOnFailure: cada 1 min, hasta 999 veces) |
| macOS | LaunchAgent com.nora.agent (RunAtLoad + KeepAlive) | Al iniciar sesión | Sí (launchd lo relanza) |
Si tras reiniciar la red tarda en subir, el agente reintenta conectarse sin rendirse.
Modo desatendido con auto-login
Sección titulada «Modo desatendido con auto-login»En equipos que se reinician sin que nadie inicie sesión, hay que configurar el inicio de sesión automático para que el sistema entre solo a la sesión y dispare el agente.
Windows (automático desde el panel)
Sección titulada «Windows (automático desde el panel)»- En el panel de NORA, edita la máquina y define el usuario y la contraseña de Windows del equipo.
- El agente lee esa configuración desde
GET /api/v1/agent/machine-configy aplica el auto-login automáticamente. La contraseña se guarda cifrada mediante LSA Secrets (no en texto plano en el registro). - Reinicia el equipo para validar: Windows inicia sesión solo, la tarea dispara y el agente conecta.
Para desactivarlo, quita el usuario de Windows de la máquina en el panel; el agente eliminará el auto-login en el siguiente refresco de configuración.
macOS (manual, una sola vez)
Sección titulada «macOS (manual, una sola vez)»macOS no permite automatizar el auto-login de forma segura, así que se habilita a mano:
- Ve a Ajustes del Sistema > Usuarios y grupos > Inicio de sesión automático y elige la cuenta del equipo.
- Puede requerir desactivar FileVault, que bloquea el auto-login.
- Reinicia para validar: el Mac entra solo a la sesión y el LaunchAgent arranca el agente.
Sesión RDP y resolución de pantalla
Sección titulada «Sesión RDP y resolución de pantalla»En equipos Windows desatendidos, la sesión de consola física suele quedar atascada en una resolución baja (800x600 con el adaptador de pantalla básico). Para evitarlo, NORA usa un modelo de sesión RDP de loopback (similar al de UiPath):
- La tarea NORA Session Manager se ejecuta como
SYSTEMy, cuando hay un trabajo, establece una sesión interactiva a la resolución configurada mediante una conexión RDP local (FreeRDP). El robot se ejecuta dentro de esa sesión. - La resolución, la profundidad de color, la escala (DPI) y el modo de sesión se definen en el panel y se aplican vía
machine-config. Los valores se publican en las variablesNORA_DISPLAY_RESOLUTION(por defecto1920x1080),NORA_DISPLAY_DEPTH(32) yNORA_DISPLAY_SCALE(100). - El modo de sesión puede ser
rdp(sesión RDP de loopback, resolución flexible — predeterminado) oconsole(consola física).
Cuando ya hay una sesión RDP activa (humana o de loopback), el agente no fuerza la resolución de la pantalla, porque esa sesión ya lleva la resolución correcta. El ajuste directo de resolución solo se intenta en una consola headless sin RDP y en modo desatendido.
Verificar la versión y el estado
Sección titulada «Verificar la versión y el estado»La versión actual del agente es 0.7.6 y se muestra en la salida del agente al arrancar, con el formato NORA Agent v0.7.6.
Para confirmar que el agente está activo:
-
Panel de NORA: la máquina debe aparecer en línea unos 30 segundos después de instalar el agente.
-
Windows:
Ventana de terminal schtasks /Query /TN "NORA Agent" /VEl estado debe ser
ReadyoRunning. -
macOS:
Ventana de terminal launchctl list | grep noraDebe aparecer
com.nora.agent. Para ver el log en vivo:Ventana de terminal tail -f ~/Library/Logs/nora-agent.log
Solución de problemas
Sección titulada «Solución de problemas»- La máquina no aparece en línea. Verifica que
NORA_MACHINE_KEYyNORA_API_URLdel.env(junto al ejecutable) sean correctos y que el equipo tenga conectividad HTTPS al servidor. NORA_MACHINE_KEY environment variable is required. Falta la clave de máquina en el.envo en el entorno. Añádela y vuelve a iniciar el agente.NORA_API_URL debe usar https://. La URL de la API no usa HTTPS (y no es localhost). Corrígela en el.env.- SmartScreen (Windows) o Gatekeeper (macOS) bloquean el ejecutable. Es esperable porque el binario no está firmado; usa Ejecutar de todas formas / Abrir de todas formas, o
xattr -cren macOS.