El runtime depende de la ruta que ya elegiste. No instales los dos "por si acaso" en una Pi de 4 GB. Elige uno, verifícalo y deja el otro para otra máquina.
Base común
ffmpeg y ripgrep no son obligatorios para un bot de texto, pero evitan fallos tontos cuando una skill quiere leer un repo o un audio. build-essential ahorra errores de compilación en wheels de Python.
Si vas con OpenClaw
OpenClaw requiere Node.js 24.16+ o 26.1+. El Node de apt en muchas imágenes de Pi se queda corto. (También puedes usar el instalador oficial, curl -fsSL https://openclaw.ai/install.sh | bash, que se encarga de Node.)
Confirma que node --version muestra v24.16 o superior. Luego instala y deja que el onboarding cree el daemon:
Copia la configuración que ya te funcionó en la laptop (SOUL, memoria, skills, canales). No rehagas personalidad desde cero en la Pi: vas a introducir diferencias que no sabrás diagnosticar.
Doctor primero
Si openclaw doctor falla, no actives el gateway. Un daemon que arranca a medias es más difícil de leer que un onboarding incompleto.
Si vas con Hermes
Usa el instalador oficial. Instala Python 3.11 con uv, así que no choca con el Python del sistema ni con el error "externally-managed-environment" de pip:
Verifica:
Anota la ruta de which hermes: te sirve para confirmar qué binario usa el servicio de la próxima lección.
Modelo: API vs local
No corras modelos grandes en la Pi
La Pi funciona bien como orquestador. Para el cerebro, usa API externa. Un modelo local pequeño solo si mides RAM libre con el gateway ya corriendo y aceptas latencia alta.
Prueba práctica: manda un mensaje de un solo turno. Cronometra. Si tarda más de lo que tolerarías en WhatsApp, no es un problema de systemd: es el modelo o la red.
Qué copiar desde la laptop
- Archivos de personalidad y memoria (sin pegar
.enven el chat). - Skills que ya validaste.
- Lista de usuarios o chats permitidos.
- El proveedor y el modelo que ya usabas.
