WARNING
Este artículo está dirigido a desarrolladores con experiencia en OpenClaw; se requieren conocimientos básicos de Linux/Docker.
Imagina esto: le pides a la IA que te ayude a escribir código, investigar datos u operar un servidor, y de repente borra accidentalmente tus archivos importantes o envía datos al exterior tras una inyección de Prompt maliciosa. Esta es la pesadilla de cualquier usuario de agentes de IA. NemoClaw, lanzado por NVIDIA, llega para resolver este problema: proporciona una "capa de seguridad" a OpenClaw, permitiéndote disfrutar de la conveniencia de los agentes de IA sin preocuparte de que pierdan el control.
En este artículo, analizaremos cómo funciona esta capa y cómo desplegar rápidamente un agente de IA seguro y controlado.
Público objetivo
- Desarrolladores con experiencia en OpenClaw que buscan mejorar la seguridad.
- Líderes técnicos de equipos con requisitos de seguridad para agentes de IA.
- Personal de DevOps que desea desplegar agentes de IA en entornos de producción.
Dependencias principales y entorno
| Categoría | Requisito |
|---|---|
| Sistema Operativo | Ubuntu 22.04 LTS+ / macOS (Apple Silicon) / Windows WSL2 |
| Node.js | 20+ |
| npm | 10+ |
| Entorno de contenedores | Docker Desktop / Colima (macOS) |
| Memoria | Recomendado 16GB (Mínimo 8GB + 8GB swap) |
| Disco | Recomendado 40GB de espacio disponible |
TIP
Si usas macOS (Apple Silicon), se recomienda Colima o Docker Desktop; los usuarios de Windows necesitan WSL2 + Docker Desktop.
Resumen de la estructura del proyecto
El sistema NemoClaw se divide en cuatro capas. Comprender esta arquitectura te ayudará a solucionar problemas de manera más efectiva:
┌─────────────────────────────────────────────────────────────┐
│ Capa de Plugin │
│ (CLI TypeScript - comando nemoclaw) │
├─────────────────────────────────────────────────────────────┤
│ Capa de Blueprint │
│ (Blueprint Python - orquestación de sandbox y políticas)│
├─────────────────────────────────────────────────────────────┤
│ Capa de Sandbox │
│ (Contenedor OpenShell - entorno aislado de OpenClaw) │
├─────────────────────────────────────────────────────────────┤
│ Capa de Inferencia │
│ (Gateway OpenShell - intercepta y reenvía al modelo) │
└─────────────────────────────────────────────────────────────┘
El principio básico es: cada una de tus solicitudes de inferencia no sale directamente del sandbox, sino que se reenvía a través del gateway de OpenShell. Esto significa que, incluso si la IA intentara enviar datos de forma encubierta, el gateway puede interceptarlos.
Pasos de despliegue detallados
1. Comprobar el entorno del sistema
Primero, confirma que tu sistema cumple con los requisitos:
# Comprobar versión del sistema
cat /etc/os-release | grep -E "^(NAME|VERSION)="
# Comprobar versión de Node.js
node --version # Requiere 20+
# Comprobar versión de npm
npm --version # Requiere 10+
# Comprobar si Docker está ejecutándose
docker ps
WARNING
Si Docker no está en ejecución, inícialo primero. NemoClaw depende de contenedores para crear el entorno de sandbox.
2. Instalar OpenShell
NemoClaw se basa en NVIDIA OpenShell, por lo que es necesario instalarlo primero:
# Instalar OpenShell (Linux)
curl -fsSL https://www.nvidia.com/openshell.sh | bash
# Verificar instalación
openshell --version
TIP
Si usas DGX Spark, primero debes configurar cgroup v2 y Docker según la documentación oficial antes de ejecutar el script de instalación.
3. Instalar la CLI de NemoClaw
Oficialmente se proporciona un script de instalación rápida:
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
Una vez completada la instalación, actualiza las variables de entorno:
# Para bash
source ~/.bashrc
# Para zsh
source ~/.zshrc
Verifica la instalación:
nemoclaw --version
4. Ejecutar el asistente de configuración interactivo
Este es el paso más crítico. Ejecutar nemoclaw onboard iniciará un asistente interactivo para configurar el sandbox, el proveedor de inferencia y las políticas de red:
nemoclaw onboard
El asistente te preguntará en orden:
- Nombre del sandbox: por ejemplo,
my-agent. - Proveedor de inferencia: Se recomienda encarecidamente elegir Defapi, ya que su precio es la mitad del oficial y es compatible con modelos como Claude/GPT/Gemini.
- API Key: Si eliges Defapi, introduce la clave obtenida en Defapi.
- Configurar política de red: Por defecto es estricta, permitiendo solo solicitudes salientes necesarias.
TIP
Defapi admite la interfaz v1/chat/completions, siendo totalmente compatible con el modo de llamada de inferencia de OpenClaw. Usar Defapi no solo ahorra dinero, sino que ofrece la misma experiencia que el proveedor oficial.
Tras la configuración, verás una salida similar a esta:
──────────────────────────────────────────────────
Sandbox my-agent (Landlock + seccomp + netns)
Model defapi/claude-sonnet-4.5
──────────────────────────────────────────────────
Run: nemoclaw my-agent connect
Status: nemoclaw my-agent status
Logs: nemoclaw my-agent logs --follow
──────────────────────────────────────────────────
[INFO] === Instalación completada ===
5. Conectar al sandbox e iniciar la conversación
Usa nemoclaw <name> connect para entrar en la shell interactiva del sandbox:
nemoclaw my-agent connect
Una vez dentro, verás el prompt del sandbox:
sandbox@my-agent:~$
Ahora inicia la TUI de OpenClaw para hablar con la IA:
openclaw tui
Introduce un mensaje de prueba:
hola, ¿puedes presentarte?
Deberías recibir una respuesta de la IA. ¡Felicidades! Has desplegado con éxito un agente de IA sandboxizado.
6. Usar la CLI para enviar solicitudes únicas
Si no necesitas la interfaz interactiva y quieres realizar pruebas rápidas, puedes usar el modo CLI:
openclaw agent --agent main --local -m "¿Cuánto es 2+2?" --session-id test
Esto imprimirá la respuesta completa directamente en la terminal, ideal para scripts de automatización.
7. Configurar políticas de red personalizadas (Opcional)
La política de red por defecto es estricta. Si tu IA necesita acceder a servicios específicos, puedes personalizarla:
# Ver política de red actual
nemoclaw my-agent status
# Recarga en caliente de la política (requiere editar el archivo primero)
openshell policy apply -f custom-policy.yaml
Ejemplo de política personalizada (custom-policy.yaml):
egress:
allowed:
- host: "api.github.com"
port: 443
- host: "api.openai.com"
port: 443
denied:
- host: "*"
port: "*"
WARNING
Las políticas de red son una barrera de seguridad vital. Piensa bien antes de añadir nuevas reglas: cada puerto abierto puede aumentar el riesgo de ataque.
8. Gestionar el ciclo de vida del sandbox
Comandos útiles para el mantenimiento diario:
# Ver estado del sandbox
nemoclaw my-agent status
# Ver logs
nemoclaw my-agent logs --follow
# Detener el sandbox
nemoclaw my-agent stop
# Iniciar el sandbox
nemoclaw my-agent start
# Eliminar el sandbox
nemoclaw my-agent delete
9. Gestión de múltiples instancias de sandbox
Puedes ejecutar múltiples instancias de sandbox en la misma máquina, cada una totalmente aislada:
# Crear un segundo sandbox
nemoclaw onboard # Sigue el asistente para crear otro
# Listar todos los sandboxes
openshell sandbox list
Solución de problemas comunes
Problema 1: Error del script "command not found"
Si no se encuentra el comando nemoclaw, intenta:
source ~/.bashrc # bash
source ~/.zshrc # zsh
O usa la ruta completa directamente:
~/.local/bin/nemoclaw --version
Problema 2: OOM debido a falta de memoria
La imagen del sandbox ocupa unos 2.4GB tras descomprimirse. Si tu máquina tiene menos de 8GB de RAM, la ejecución simultánea de la descompresión + Docker + k3s activará el OOM (Out Of Memory). Soluciones:
- Añadir al menos 8GB de swap:
sudo fallocate -l 8G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile - O usar una máquina con más memoria.
Problema 3: El entorno de contenedores no está listo
# Reiniciar Docker
sudo systemctl restart docker
# Comprobar estado de Docker
docker ps
Problema 4: Error en la configuración de NVIDIA API Key
Si eliges usar NVIDIA Cloud en lugar de Defapi, necesitas obtener la API Key de build.nvidia.com. Asegúrate de:
- Que la clave se haya copiado y pegado correctamente.
- Que la cuenta tenga saldo suficiente.
- Que la red tenga acceso a build.nvidia.com.
TIP
Se recomienda encarecidamente usar Defapi en lugar de NVIDIA Cloud: el precio es la mitad y la velocidad de acceso suele ser mejor.
Problema 5: La política de red bloquea solicitudes legítimas
La IA intenta acceder a un servicio y es bloqueada. Recibirás un aviso y podrás aprobarlo o añadir la regla permanentemente en la TUI:
[OpenShell] El Agente intentó contactar con api.example.com:443
¿Permitir? [y/n/a]: # y=permitir esta vez, n=denegar, a=añadir permanentemente
Problema 6: Estado anormal del sandbox
Primero revisa el nivel de NemoClaw:
nemoclaw my-agent status
Luego revisa la base de OpenShell:
openshell sandbox list
openshell sandbox inspect my-agent
Direcciones avanzadas
1. Cambiar de proveedor de inferencia
Si empezaste con NVIDIA Cloud y quieres cambiar a Defapi, puedes modificar la configuración:
# Actualizar configuración del proveedor
openshell provider update --provider defapi --api-key <tu-clave>
Puedes consultar la lista de modelos compatibles en el sitio web de Defapi.
2. Monitoreo y análisis de logs
Usa la TUI de OpenShell para monitorear la actividad del sandbox en tiempo real:
openshell term
Aquí podrás ver:
- Cada solicitud de red de la IA.
- Operaciones de lectura/escritura en el sistema de archivos.
- Detalles de las llamadas de inferencia.
3. Despliegue en GPU remota
Si el rendimiento de la máquina local no es suficiente, puedes desplegar el sandbox en una instancia de GPU en la nube:
nemoclaw deploy --target remote-gpu --instance-type A100
Consulta la documentación oficial para un tutorial detallado.
4. Puente con Telegram/Discord
Permite que la IA hable contigo a través de Telegram o Discord:
nemoclaw start telegram-bridge
nemoclaw start discord-bridge