Maintenance
Actualización
Mantén OpenClaw actualizado.
Para reemplazar imágenes de Docker, Podman y Kubernetes, consulta Actualizar imágenes de contenedores. El Gateway ejecuta tareas de actualización seguras durante el inicio antes de estar listo y se cierra si el estado montado requiere una reparación manual.
Recomendado: openclaw update
Detecta el tipo de instalación (npm o git), obtiene la versión más reciente, ejecuta openclaw doctor y reinicia el Gateway.
openclaw updateCambia de canal o selecciona una versión específica:
openclaw update --channel betaopenclaw update --channel extended-stableopenclaw update --channel devopenclaw update --dry-run # vista previa sin aplicar cambiosopenclaw update no tiene la opción --verbose (el instalador sí). Para realizar diagnósticos, usa
--dry-run para obtener una vista previa de las acciones planificadas, --json para obtener resultados estructurados o
openclaw update status --json para inspeccionar el canal y el estado de disponibilidad.
--channel beta da preferencia a la etiqueta de distribución beta de npm, pero recurre a stable/latest
cuando falta la etiqueta beta o su versión es anterior a la versión estable
más reciente. En su lugar, usa --tag beta para realizar una actualización puntual del paquete fijada a la
etiqueta de distribución beta sin procesar de npm.
--channel extended-stable solo admite paquetes y la instalación sigue realizándose
únicamente en primer plano. OpenClaw lee el selector público extended-stable de npm,
verifica el paquete exacto seleccionado e instala esa versión exacta. Si faltan datos
del registro o son incoherentes, la operación falla de forma segura; nunca recurre a latest.
Si la versión seleccionada es anterior a la instalada, se sigue aplicando la confirmación
normal de cambio a una versión anterior. La CLI conserva el canal después de una
actualización correcta del núcleo; ejecutar directamente npm install -g openclaw@extended-stable
no actualiza update.channel.
Después de sustituir el núcleo, los plugins oficiales de npm que cumplan los requisitos y tengan una intención
vacía/predeterminada o latest convergen a esa versión exacta del núcleo. Las versiones fijadas de forma exacta y las etiquetas explícitas
distintas de latest, los plugins de terceros y las fuentes que no sean npm permanecen sin cambios.
Las instalaciones desde el catálogo creadas por versiones actuales de OpenClaw conservan esa intención
predeterminada. Los registros antiguos que solo contienen una versión exacta permanecen fijados porque
OpenClaw no puede distinguir de forma segura una fijación automática antigua de una fijación del usuario; ejecuta
openclaw plugins update @openclaw/name una vez en el canal extended-stable
para que ese plugin vuelva a seguir exactamente la versión del núcleo.
--channel dev proporciona un checkout persistente y cambiante de main en GitHub. Para una actualización
puntual del paquete, --tag main se asigna a la especificación de paquete github:openclaw/openclaw#main
y la instala directamente mediante el gestor de paquetes de destino (npm/pnpm/bun).
Para los plugins administrados, que falte una versión beta genera una advertencia, no un error: la actualización del núcleo puede completarse mientras un plugin recurre a su versión predeterminada/latest registrada.
Consulta Canales de versiones para conocer la semántica de los canales.
Cambiar entre instalaciones de npm y git
Usa los canales para cambiar el tipo de instalación. El actualizador conserva el estado, la configuración,
las credenciales y el espacio de trabajo en ~/.openclaw; solo cambia qué instalación del código de OpenClaw
utilizan la CLI y el Gateway.
# instalación del paquete npm -> checkout de git editableopenclaw update --channel dev # checkout de git -> instalación del paquete npmopenclaw update --channel stablePrimero, obtén una vista previa del cambio de modo de instalación:
openclaw update --channel dev --dry-runopenclaw update --channel stable --dry-rundev garantiza que exista un checkout de git, lo compila e instala la CLI global desde ese
checkout. Los canales stable, extended-stable y beta usan instalaciones de
paquetes. El canal extended-stable se rechaza en un checkout de git sin modificarlo ni
convertirlo. Si el Gateway ya está instalado, openclaw update actualiza
los metadatos del servicio y lo reinicia, salvo que pases --no-restart.
En instalaciones de paquetes con un servicio Gateway administrado, openclaw update actúa sobre
la raíz del paquete que utiliza ese servicio. Si el comando openclaw del shell procede
de otra instalación, el actualizador muestra ambas raíces y la ruta de Node del servicio
administrado, y comprueba esa versión de Node con el requisito
engines.node de la versión de destino antes de sustituir el paquete.
Alternativa: volver a ejecutar el instalador
curl -fsSL https://openclaw.ai/install.sh | bashAñade --no-onboard para omitir la incorporación. Para forzar un tipo de instalación específico, pasa
--install-method git --no-onboard o --install-method npm --no-onboard.
Si openclaw update falla después de la fase de instalación del paquete npm, vuelve a ejecutar el
instalador. Este no llama al actualizador; ejecuta directamente la instalación global del paquete
y puede recuperar una instalación de npm actualizada parcialmente.
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npmFija la recuperación a una versión o etiqueta de distribución específica con --version:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>Alternativa: npm, pnpm o bun manualmente
npm i -g openclaw@latestPrefiere openclaw update para las instalaciones supervisadas: puede coordinar la sustitución del paquete
con el servicio Gateway en ejecución. Si actualizas manualmente una instalación supervisada,
detén primero el Gateway administrado. Los gestores de paquetes sustituyen los archivos
en el mismo lugar y, de lo contrario, un Gateway en ejecución podría intentar cargar archivos del núcleo o de plugins
durante la sustitución. Reinicia el Gateway cuando finalice el gestor de paquetes para que use
la nueva instalación.
En una instalación global del sistema Linux cuyo propietario sea root, si openclaw update falla con
EACCES, recupérala con el npm del sistema y mantén detenido el Gateway durante la
sustitución manual. Usa las mismas opciones de perfil y variables de entorno que utilizas normalmente para
ese Gateway. Sustituye /usr/bin/npm por el npm del sistema que sea propietario del
prefijo global de root en tu host:
openclaw gateway stopsudo /usr/bin/npm i -g openclaw@latestopenclaw gateway install --forceopenclaw gateway restartDespués, verifica:
openclaw --versioncurl -fsS http://127.0.0.1:18789/readyzopenclaw plugins list --jsonopenclaw gateway status --deep --jsonopenclaw doctor --lint --jsonCuando openclaw update administra una instalación global de npm, primero instala el destino
en un prefijo temporal de npm, verifica el inventario dist del paquete y después
intercambia el árbol limpio del paquete con el prefijo global real, evitando que npm
superponga un paquete nuevo sobre archivos obsoletos del anterior. Si el comando de
instalación falla, OpenClaw vuelve a intentarlo una vez con --omit=optional, lo que ayuda en los hosts
donde las dependencias nativas opcionales no pueden compilarse.
Los comandos de actualización de npm y de plugins administrados por OpenClaw también desactivan la
cuarentena de la cadena de suministro min-release-age de npm (o la clave de configuración anterior before)
para el proceso npm secundario. Esa política existe como protección general, pero una
actualización explícita de OpenClaw significa «instalar ahora la versión seleccionada».
pnpm add -g openclaw@latestbun add -g openclaw@latestTemas avanzados de instalación con npm
Árbol de paquetes de solo lectura
OpenClaw trata las instalaciones globales empaquetadas como de solo lectura durante la ejecución, incluso cuando el usuario actual puede escribir en el directorio global de paquetes. Las instalaciones de paquetes de plugins se encuentran en raíces de npm/git propiedad de OpenClaw dentro del directorio de configuración del usuario, y el inicio del Gateway no modifica el árbol de paquetes de OpenClaw.
Algunas configuraciones de npm en Linux instalan los paquetes globales en directorios cuyo propietario es root, como /usr/lib/node_modules/openclaw. OpenClaw admite esa disposición porque los comandos de instalación y actualización de plugins escriben fuera de ese directorio global de paquetes.
Unidades systemd reforzadas
Concede a OpenClaw acceso de escritura a las raíces de configuración y estado para que las instalaciones explícitas de plugins, las actualizaciones de plugins y la limpieza de doctor puedan conservar sus cambios:
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmpComprobación previa del espacio en disco
Antes de las actualizaciones de paquetes y las instalaciones explícitas de plugins, OpenClaw intenta comprobar, en la medida de lo posible, el espacio en disco del volumen de destino. Si queda poco espacio, se muestra una advertencia con la ruta comprobada, pero no se bloquea la actualización porque las cuotas del sistema de archivos, las instantáneas y los volúmenes de red pueden cambiar después de la comprobación. La instalación real mediante el gestor de paquetes y la verificación posterior a la instalación siguen siendo la autoridad definitiva.
Actualizador automático
Está desactivado de forma predeterminada. Actívalo en ~/.openclaw/openclaw.json:
{ update: { channel: "stable", auto: { enabled: true, stableDelayHours: 6, stableJitterHours: 12, betaCheckIntervalHours: 1, }, },}| Canal | Comportamiento |
|---|---|
stable |
Espera stableDelayHours (valor predeterminado: 6) y después aplica la actualización con una variación determinista dentro de stableJitterHours (valor predeterminado: 12) para distribuir el despliegue. |
extended-stable |
Busca una indicación de actualización de solo lectura al iniciar y cada 24 horas cuando checkOnStart está activado. Nunca la aplica automáticamente. |
beta |
Comprueba cada betaCheckIntervalHours (valor predeterminado: 1) y aplica la actualización inmediatamente. |
dev |
No se aplica automáticamente. Usa openclaw update manualmente. |
El Gateway también registra una indicación de actualización al iniciar (desactívala con
update.checkOnStart: false). Las selecciones de extended-stable almacenadas usan esta
ruta de indicaciones de solo lectura y el intervalo existente de 24 horas, pero nunca invocan
la instalación automática, el traspaso, el reinicio, el retraso o la variación de stable ni el sondeo de beta.
Para cambiar a una versión anterior o recuperarse de un incidente, establece OPENCLAW_NO_AUTO_UPDATE=1 en el entorno del Gateway para bloquear las aplicaciones automáticas, incluso cuando update.auto.enabled esté configurado. Las indicaciones de actualización al iniciar pueden seguir ejecutándose, salvo que también se desactive update.checkOnStart.
Las actualizaciones del gestor de paquetes solicitadas mediante el plano de control del Gateway activo
(update.run) no sustituyen el árbol de paquetes dentro del proceso del Gateway
en ejecución. En instalaciones con servicios administrados, el Gateway inicia un traspaso independiente,
se cierra y permite que la ruta normal de la CLI openclaw update --yes --json detenga el
servicio, sustituya el paquete, actualice los metadatos del servicio, lo reinicie, verifique la
versión y la accesibilidad del Gateway y, cuando sea posible, recupere un LaunchAgent de macOS
instalado pero no cargado. Si el Gateway no puede realizar ese traspaso de forma segura,
update.run muestra un comando de shell seguro en lugar de ejecutar el gestor de
paquetes dentro del proceso.
La tarjeta de actualización de la barra lateral de la interfaz de control inicia este mismo flujo de update.run. En la
aplicación firmada de macOS, la tarjeta actualiza primero la aplicación mediante Sparkle; después de reiniciarla,
la aplicación actualiza su Gateway local administrado a la versión correspondiente.
Después de actualizar
Ejecuta doctor
openclaw doctorMigra la configuración, audita las políticas de mensajes directos y comprueba el estado del Gateway. Detalles: Doctor
Reinicia el Gateway
openclaw gateway restartVerifica
openclaw healthReversión
Fijar una versión (npm)
npm i -g openclaw@<version>openclaw doctoropenclaw gateway restartFijar un commit (código fuente)
git fetch origingit checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"pnpm install && pnpm buildopenclaw gateway restartPara volver a la versión más reciente: git checkout main && git pull.
Si tienes problemas
- Ejecuta
openclaw doctorde nuevo y lee detenidamente la salida. - Para
openclaw update --channel deven checkouts del código fuente, el actualizador inicializa automáticamentepnpmcuando es necesario. Si aparece un error de inicialización de pnpm/corepack, instalapnpmmanualmente (o vuelve a activarcorepack) y ejecuta de nuevo la actualización. - Consulta: Solución de problemas
- Pregunta en Discord: https://discord.gg/clawd
Contenido relacionado
- Descripción general de la instalación: todos los métodos de instalación.
- Doctor: comprobaciones de estado después de las actualizaciones.
- Migración: guías de migración entre versiones principales.