Skip to main content

OpenClaw(Clawdbot) Local en reComputer Jetson con Ollama

Descripción General

OpenClaw es un framework de agentes que puede trabajar con LLMs en la nube o modelos locales, dependiendo de tus necesidades de implementación. Los modelos en la nube son convenientes para comenzar: no requieren configuración local, ofrecen una amplia gama de opciones de modelos y son fáciles de escalar. Las desventajas son los costos continuos de tokens, la dependencia de servicios externos y restricciones más estrictas en cuanto a residencia de datos y conectividad. Los modelos locales evitan las tarifas recurrentes de API, mantienen los datos en el dispositivo y continúan operando en redes sin conexión o restringidas. Las desventajas son el esfuerzo adicional de configuración y la necesidad de ajustar el tamaño del modelo a los límites de cómputo y almacenamiento del dispositivo. Para robótica de borde y asistentes de larga duración, estas ventajas hacen que la implementación local sea una opción práctica por defecto. Este wiki muestra cómo ejecutar OpenClaw en reComputer Jetson con Ollama para construir un centro de control de IA autónomo.

Lo Que Construirás

  • Un runtime local de Ollama en Jetson
  • OpenClaw Gateway y WebUI ejecutándose en Jetson
  • OpenClaw configurado para usar un modelo de Ollama como LLM por defecto

Hardware Soportado

  • reComputer Jetson Serie (ej., reComputer Robotics J501X)
  • Se recomienda SSD NVMe para una carga más rápida de modelos
note

Este wiki usa reComputer Robotics J5011 para la demostración, pero otros modelos Jetson también son compatibles. Asegúrate de que el dispositivo Jetson tenga al menos 16GB de memoria.

Prerrequisitos

  • reComputer Robotics J5011 con Jetpack6.2 preinstalado
  • Un Token de Bot de Discord
info

Ten en cuenta que el Discord Bot Token no es obligatorio; también puedes usar otro software social como WhatsApp.

Conexión de Hardware

note

Antes de comenzar, conecta el dispositivo Jetson a la red y al suministro de energía, y asegúrate de que la conexión de red permanezca estable.

Paso 1: Instalar Ollama

Abre una ventana de terminal en el dispositivo Jetson, ejecuta el siguiente comando para instalar Ollama en Jetson:

curl -fsSL https://ollama.com/install.sh | sh

Verifica que la API local sea accesible:

curl http://localhost:11434/api/tags

Si la salida no muestra errores, significa que Ollama se ha instalado correctamente.

Paso 2: Descargar un Modelo Local

Descarga al menos un modelo de Ollama. Ejemplo:

ollama pull qwen3-vl:2b

Lista los modelos instalados:

ollama list

Paso 3: Instalar OpenClaw (Clawdbot)

OpenClaw requiere Node.js 22 o más reciente. Instálalo globalmente con npm:

curl -fsSL https://openclaw.ai/install.sh | bash

Paso 4: Configurar OpenClaw

Después de que se complete la descarga de OpenClaw, automáticamente entrará a la página de configuración. Sigue las instrucciones mostradas en la ventana de terminal para configurar OpenClaw.

danger

La página del asistente de configuración puede no incluir una opción para configurar un modelo local. No te preocupes — podemos modificar directamente el archivo de configuración más tarde. En el asistente de configuración, puedes elegir omitir la configuración del modelo o configurar temporalmente un modelo basado en la nube.

Si ves la página anterior, significa que OpenClaw se ha instalado y configurado exitosamente. A continuación, procederemos a configurar el modelo local.

Abre el archivo ~/.openclaw/openclaw.json y agrega o modifica la siguiente configuración.

{
"agents": {
"defaults": {
"models": {"ollama":{}},
"model": {"primary": "ollama/qwen3-vl:2b"}
}
},
"models": {
"providers": {
"ollama":{
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "ollama-local",
"api": "openai-completions",
"models": [
{
"id": "qwen3-vl:2b",
"name": "Qwen3 VL 2B",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 8192
}
]
}
}
},
}

El archivo de configuración completo es el siguiente:

~/.openclaw/openclaw.json
{
"messages": {
"ackReactionScope": "group-mentions"
},
"agents": {
"defaults": {
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
},
"compaction": {
"mode": "safeguard"
},
"workspace": "/home/seeed/.openclaw",
"models": {
"qwen-portal/coder-model": {
"alias": "qwen"
},
"qwen-portal/vision-model": {},
"ollama":{}
},
"model": {
"primary": "ollama/qwen3-vl:2b"
}
}
},
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"port": 18789,
"bind": "loopback",
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"plugins": {
"entries": {
"qwen-portal-auth": {
"enabled": true
},
"discord": {
"enabled": true
}
}
},
"models": {
"providers": {
"qwen-portal": {
"baseUrl": "https://portal.qwen.ai/v1",
"apiKey": "qwen-oauth",
"api": "openai-completions",
"models": [
{
"id": "coder-model",
"name": "Qwen Coder",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 8192
},
{
"id": "vision-model",
"name": "Qwen Vision",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 8192
}
]
},
"ollama":{
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "ollama-local",
"api": "openai-completions",
"models": [
{
"id": "qwen3-vl:2b",
"name": "Qwen3 VL 2B",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 8192
}
]
}
}
},
"auth": {
"profiles": {
"qwen-portal:default": {
"provider": "qwen-portal",
"mode": "oauth"
}
}
},
"channels": {
"discord": {
"enabled": true,
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"groupPolicy": "open"
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
},
"wizard": {
"lastRunAt": "2026-02-02T06:19:11.256Z",
"lastRunVersion": "2026.1.30",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"meta": {
"lastTouchedVersion": "2026.1.30",
"lastTouchedAt": "2026-02-02T06:19:11.282Z"
}
}

Paso 5: Reiniciar los Servicios de OpenClaw

Ejecuta el comando de reinicio:

openclaw gateway restart

Paso 6: Abrir WebUI y Verificar

Abre la WebUI en el navegador de jetson:

http://127.0.0.1:18789/

Si la página no carga, verifica que el Gateway esté ejecutándose.

danger

Si sigues viendo un error de "unable to access" al abrir la WebUI, puede ser porque el token de acceso está habilitado. Puedes encontrar el token de WebUI en el archivo de configuración y agregarlo a la URL de WebUI al acceder. http://127.0.0.1:18789/?token=...

Demostración de Efectos

La buena noticia es que hemos ejecutado exitosamente OpenClaw usando computación local de bajo consumo (Jetson). La mala noticia es que el rendimiento del modelo local no ha cumplido las expectativas.

Esto puede deberse a que mis parámetros de configuración o configuraciones de prompt no están ajustados correctamente. Creo que ajustando los parámetros de trabajo de OpenClaw, podemos optimizar aún más el rendimiento del modelo local.

Si también estás interesado en este proyecto, ¡intenta implementarlo ahora!

Referencias

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...