DEV Community

Victor Aguilar C.
Victor Aguilar C.

Posted on

3. OpenClaw en MacMini, Instalación.

1. Instalar prerrequisitos de desarrollo

a. Instalar Xcode Command Line Tools

Abre Terminal (Applications > Utilities > Terminal) y ejecuta:

xcode-select --install
Enter fullscreen mode Exit fullscreen mode

Haz click en “Install” en el diálogo que aparece. Esto te da Git, compilers y otras tools que OpenClaw necesita. Espera a que termine la descarga e instalación.

b: Instalar Homebrew

Homebrew es el package manager de macOS. Hará que instalar Node.js y otras tools sea straightforward.

Método más fácil: Abre Safari en la Mac Mini, ve a brew.sh, y haz click en el botón de copiar junto al install command. Luego abre Terminal y pégalo.

O escribe esto directamente en Terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Sigue las instrucciones en pantalla. Después de la instalación, Homebrew te dirá que ejecutes un par de comandos para agregarlo a tu PATH. En Apple Silicon Mac Minis, típicamente es:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Enter fullscreen mode Exit fullscreen mode

Verifica que funciona:

brew --version
Enter fullscreen mode Exit fullscreen mode

c. Instalar Node.js (Version 22 o posterior)

OpenClaw requiere Node.js >= 22. Instálalo via Homebrew:
brew install node@22
Enter fullscreen mode Exit fullscreen mode

Homebrew probablemente instalará Node 22 como “keg-only”, lo que significa que no estará en tu PATH por defecto. Verás un mensaje sobre esto. Ejecuta lo siguiente para arreglarlo

echo 'export PATH="/opt/homebrew/opt/node@22/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Verifica:

node --version   # Debería mostrar v22.x.x o superior
npm --version    # Debería mostrar 10.x.x o superior
Enter fullscreen mode Exit fullscreen mode

Si node --version todavía dice “command not found”, cierra Terminal y vuelve a abrirlo, y luego intenta de nuevo.

d. Instalar pnpm (Recommended)

pnpm se recomienda si planeas build from source o hack on OpenClaw:

npm install -g pnpm
Enter fullscreen mode Exit fullscreen mode

Verifica:

pnpm --version
Enter fullscreen mode Exit fullscreen mode

2. Instalar OpenClaw

a. Ejecutar el OpenClaw Installer

Este es el one-liner oficial que maneja la instalación. Abre Safari en la Mac Mini, ve a openclaw.ai, y copia el install command. O escribe esto en Terminal:

curl -fsSL https://openclaw.ai/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

El installer detectará tu operating system, verificará prerequisites, e instalará el OpenClaw CLI. Verás output de progreso confirmando la instalación y detalles de versión.

Método alternativo (si prefieres un manual global install vía npm):

npm install -g openclaw@latest
Enter fullscreen mode Exit fullscreen mode

Verifica la instalación:

openclaw --version
Enter fullscreen mode Exit fullscreen mode

3. Onboarding y configuración

a. Ejecutar el Onboarding Wizard

Este es el paso principal de configuración. El wizard te guía por todo de forma interactiva:

openclaw onboard --install-daemon
Enter fullscreen mode Exit fullscreen mode

El wizard te irá pidiendo estas decisiones:

  • Local vs Remote gateway: Elige Local ya que estás corriendo directo en la Mac Mini.
  • Auth/LLM provider: Ingresa tu Anthropic API key (u otras credenciales de proveedor).
  • Chat channels: Configura Telegram (bot token del Step 4) y Discord (bot token del Step 5). Si te saltaste esos pasos, puedes agregar channels después del onboarding.
  • Pairing defaults: Configura manejo seguro de DMs para que remitentes desconocidos no puedan abusar del bot.
  • Skills setup: Cuando te pregunte, di “Yes” para set up skills y selecciona pnpm como tu preferred node manager (lo instalamos en el Step 10). Evita seleccionar bun — algunos usuarios han reportado problemas de compatibilidad con installs de skills. Puedes saltarte la selección individual de skills por ahora y agregarlas después.
  • Hooks: El wizard preguntará si quieres habilitar hooks — acciones automatizadas disparadas por eventos específicos. Vale la pena habilitar tres:
    • Boot hook: Corre una rutina de inicio cuando el gateway arranca, permitiendo que el agent se oriente.
    • Command logger: Loggea todos los slash commands para debugging y audit trails.
    • Session memory: Guarda automáticamente el contexto de conversación en memoria cuando la context window se acerca a su límite. Este es el más importante: sin esto, conversaciones largas simplemente se truncarán y se pierde contexto. Con esto, el agent escribe un resumen en sus memory files antes de que la ventana se llene, para poder retomar donde lo dejó en una nueva sesión. Habilita los tres. Siempre puedes deshabilitarlos después con openclaw hooks.
  • Daemon installation: El wizard instalará un servicio launchd para que el Gateway corra en background y arranque automáticamente al boot.
  • Gateway token: El wizard genera un security token automáticamente.

El flag --install-daemon es crítico porque configura el servicio launchd que mantiene OpenClaw corriendo 24/7, que es exactamente lo que quieres para una máquina dedicada.

Important gotchas de instalaciones reales:

  • Model string importa: Cuando el wizard te pida el model, usa las arrow keys para scrollear la lista y seleccionar Opus 4.5 (el model string subyacente es anthropic/claude-opus-4-6). No selecciones una versión Opus más vieja — puede no estar disponible en tu API tier y causará silent failures. Puedes verificar que el model funciona después enviando un mensaje; si recibes “(no output)”, lo más probable es que la selección de model esté mal.

  • Telegram allowlist por username puede fallar: Cuando el wizard pregunte quién puede hacer DM al bot, ingresar tu Telegram username puede no resolver. Si no funciona, obtén tu numeric Telegram user ID enviándole mensaje a @userinfobot en Telegram, y luego ingresa ese número.

  • Rate limits en Opus: Si estás en un Anthropic API tier más bajo, puedes pegarle a rate limits (HTTP 429) durante la sesión inicial de hatching. Espera 60 segundos y vuelve a intentar. Esto es normal.

  • openclaw command not found después del install: El installer agrega OpenClaw a tu shell PATH, pero tu sesión actual de terminal no lo verá hasta que recargues. Abre una nueva ventana de terminal o corre source ~/.zshrc. Esto le pasa a la mayoría cuando intentan correr comandos openclaw inmediatamente después de que termina el wizard.


b. Configurar Web Search

Después del onboarding, configura web search si no lo hiciste durante el wizard:

openclaw configure --section web
Enter fullscreen mode Exit fullscreen mode

El wizard primero preguntará por tu gateway location

  • Selecciona Local (esta máquina).
  • Luego preguntará por web search. Habilita web_search (Brave Search) e ingresa tu API key cuando te lo pida. También habilita web_fetch (keyless HTTP fetch)

esto permite que tu agent lea artículos y páginas web directamente.

Alternativamente, una vez que tu agent esté live puedes configurarlo en natural language: “Set up web search with my Brave API key.”

Más allá de Brave: Perplexity y Exa.ai. OpenClaw soporta dos search providers built-in (Brave y Perplexity) y se puede extender con custom skills para proveedores adicionales como Exa.ai. Cada uno tiene fortalezas distintas.

Brave es la elección correcta para el initial setup. Una vez que tu sistema esté corriendo y quieras expandir tus capacidades de búsqueda, revisa Appendix D: Expanding OpenClaw’s Search Capabilities para instrucciones paso a paso sobre cómo configurar Perplexity (un simple config swap con un gotcha importante) y construir un custom Exa.ai skill desde cero.

b: Arreglar el Heartbeat Model (Important Cost Savings)

OpenClaw corre un “heartbeat” check a intervalos regulares para monitorear system health, revisar pending tasks, y correr scheduled cron jobs. Por defecto, este heartbeat dispara cada 10 minutos y usa el model que definiste como brain — que, si seguiste la recomendación, es Opus.

El problema: Opus corriendo cada 10 minutos, 24/7, solo para heartbeat checks, se acumula rápido en API fees. El heartbeat no necesita un frontier model. Cámbialo a Haiku y extiende el intervalo.

Edita ~/.openclaw/openclaw.json y mergea lo siguiente en tu config existente bajo la sección agents.defaults. Si agents.defaults todavía no existe, créalo:

{
  "agents": {
    "defaults": {
      "heartbeat": {
        "model": "anthropic/claude-3-5-haiku-20241022",
        "every": "1h"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Alternativamente, si tu agent ya está respondiendo en Telegram o Discord, solo dile: “Change your heartbeat to use Haiku and set the interval to 1 hour instead of 10 minutes.” Tu agent presentará un plan y pedirá tu aprobación antes de hacer el cambio.

Esto baja el costo del heartbeat a casi cero. Si tienes cron jobs que necesitan correr más frecuentemente que cada hora, ajusta el intervalo acorde — pero para la mayoría de setups, una hora es suficiente.

c. Nota sobre Model Routing (Optional, para después)

OpenClaw te deja asignar distintos AI models a distintas tareas — un model para conversación, otro para coding, otro para web browsing, etc. Esto es potente tanto para performance como para optimización de costos. Por ejemplo, podrías usar Opus 4.6 como brain para conversación pero rutear tareas de coding a un modelo especializado, o usar un modelo más barato para web search.

Esta es una optimización que puedes explorar una vez estés up and running y cómodo con cómo funciona OpenClaw. Para el initial setup, un solo model (Anthropic Claude) para todo está perfectamente bien. Siempre puedes decirle a tu agent que cambie de models después vía natural language. Vea la Fase 9 para una guía completa de model routing con recomendaciones específicas por tipo de tarea.


4. Verificar y arrancar

a: Revisar Gateway Status

El daemon ya debería estar corriendo desde el onboarding. Verifica:

openclaw gateway status
Enter fullscreen mode Exit fullscreen mode

Si no está corriendo, arráncalo manualmente:

openclaw gateway --port 18789 --verbose
Enter fullscreen mode Exit fullscreen mode

O adminístralo vía launchd:

# Start
launchctl start ~/Library/LaunchAgents/ai.openclaw.gateway.plist

# Stop
launchctl stop ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Enter fullscreen mode Exit fullscreen mode

b. Correr Health Checks

openclaw status
openclaw health
openclaw security audit --deep
Enter fullscreen mode Exit fullscreen mode

Si openclaw health muestra “no auth configured”, vuelve y define tu API key vía el wizard o manualmente.

Para un full debug report que puedes pegar en algún lado si necesitas ayuda:

openclaw status --all
Enter fullscreen mode Exit fullscreen mode

c. Verificar el Control UI

El Control UI requiere un gateway token para conectarse. No navegues a:

http://127.0.0.1:18789/

directamente — te dará un error de “gateway token missing”.

En su lugar, corre esto en Terminal:

openclaw dashboard --no-open
Enter fullscreen mode Exit fullscreen mode

Esto imprime una URL tokenizada (con ?token=... al final) y la copia a tu clipboard. Pégala en la barra de direcciones de Safari. Deberías ver el OpenClaw Gateway Dashboard con Health OK arriba a la derecha.

Haz bookmark de esa URL — la usarás para administrar tu agent desde el browser. El token también se guarda en ~/.openclaw/openclaw.json, así que siempre puedes regenerar la URL corriendo el comando otra vez.

Si quieres que se abra automáticamente en su lugar:

openclaw dashboard
Enter fullscreen mode Exit fullscreen mode

Top comments (0)