Cập nhật
OpenClaw đang phát triển rất nhanh (chưa đến “1.0”). Hãy coi việc cập nhật như triển khai hạ tầng: cập nhật → chạy kiểm tra → khởi động lại (hoặc dùng openclaw update, sẽ tự restart) → xác minh.
Khuyên dùng: chạy lại trình cài từ website (nâng cấp tại chỗ)
Cách cập nhật được khuyên dùng là chạy lại trình cài từ website. Nó sẽ phát hiện bản cài đặt hiện có, nâng cấp tại chỗ, và chạy openclaw doctor khi cần.
curl -fsSL https://openclaw.ai/install.sh | bash
Lưu ý:
- Thêm
--no-onboardnếu các bạn không muốn wizard onboarding chạy lại. - Với cài từ source, dùng:
Trình cài sẽ chạycurl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --no-onboardgit pull --rebasechỉ khi repo sạch. - Với cài global, script dùng
npm install -g openclaw@latestbên dưới. - Lưu ý legacy:
openclawvẫn có sẵn như một compatibility shim.
Trước khi cập nhật
- Biết cách mình đã cài: global (npm/pnpm) hay từ source (git clone).
- Biết Gateway đang chạy thế nào: foreground terminal hay supervised service (launchd/systemd).
- Backup các tùy chỉnh của các bạn:
- Config:
~/.openclaw/openclaw.json - Credentials:
~/.openclaw/credentials/ - Workspace:
~/.openclaw/workspace
- Config:
Cập nhật (cài global)
Cài global (chọn một):
npm i -g openclaw@latest
pnpm add -g openclaw@latest
Mình không khuyên dùng Bun cho Gateway runtime (có bug với WhatsApp/Telegram).
Để chuyển channel cập nhật (cài git + npm):
openclaw update --channel beta
openclaw update --channel dev
openclaw update --channel stable
Dùng --tag <dist-tag|version> để cài một tag/version cụ thể.
Xem Development channels để hiểu về channel và release notes.
Lưu ý: với cài npm, gateway sẽ log gợi ý cập nhật khi khởi động (kiểm tra channel tag hiện tại). Tắt bằng update.checkOnStart: false.
Sau đó:
openclaw doctor
openclaw gateway restart
openclaw health
Lưu ý:
- Nếu Gateway chạy như service, nên dùng
openclaw gateway restartthay vì kill PID. - Nếu các bạn đang pin một version cụ thể, xem phần “Rollback / pinning” bên dưới.
Cập nhật (openclaw update)
Với cài từ source (git checkout), nên dùng:
openclaw update
Nó chạy một quy trình cập nhật khá an toàn:
- Yêu cầu worktree sạch.
- Chuyển sang channel đã chọn (tag hoặc branch).
- Fetch + rebase với upstream đã config (dev channel).
- Cài deps, build, build Control UI, và chạy
openclaw doctor. - Restart gateway mặc định (dùng
--no-restartđể bỏ qua).
Nếu các bạn cài qua npm/pnpm (không có git metadata), openclaw update sẽ cố cập nhật qua package manager. Nếu không phát hiện được cách cài, dùng “Cập nhật (cài global)” ở trên.
Cập nhật (Control UI / RPC)
Control UI có nút Update & Restart (RPC: update.run). Nó sẽ:
- Chạy quy trình source-update giống
openclaw update(chỉ git checkout). - Ghi restart sentinel với báo cáo có cấu trúc (stdout/stderr tail).
- Restart gateway và ping session đang active với báo cáo.
Nếu rebase thất bại, gateway sẽ abort và restart mà không áp dụng update.
Cập nhật (từ source)
Từ repo checkout:
Khuyên dùng:
openclaw update
Thủ công (tương đương):
git pull
pnpm install
pnpm build
pnpm ui:build # tự cài UI deps lần đầu chạy
openclaw doctor
openclaw health
Lưu ý:
pnpm buildquan trọng khi các bạn chạy binaryopenclawđã đóng gói (openclaw.mjs) hoặc dùng Node chạydist/.- Nếu chạy từ repo checkout mà không cài global, dùng
pnpm openclaw ...cho lệnh CLI. - Nếu chạy trực tiếp từ TypeScript (
pnpm openclaw ...), thường không cần rebuild, nhưng config migrations vẫn áp dụng → chạy doctor. - Chuyển giữa cài global và git rất dễ: cài flavor khác, rồi chạy
openclaw doctorđể gateway service entrypoint được viết lại theo bản cài hiện tại.
Luôn chạy: openclaw doctor
Doctor là lệnh “cập nhật an toàn”. Nó cố ý đơn giản: sửa + migrate + cảnh báo.
Lưu ý: nếu các bạn dùng cài từ source (git checkout), openclaw doctor sẽ đề nghị chạy openclaw update trước.
Những việc nó thường làm:
- Migrate các config key đã deprecated / vị trí config file cũ.
- Audit DM policies và cảnh báo các cài đặt “open” rủi ro.
- Kiểm tra Gateway health và có thể đề nghị restart.
- Phát hiện và migrate các gateway service cũ (launchd/systemd; legacy schtasks) sang OpenClaw services hiện tại.
- Trên Linux, đảm bảo systemd user lingering (để Gateway tồn tại sau khi logout).
Chi tiết: Doctor
Start / stop / restart Gateway
CLI (hoạt động trên mọi OS):
openclaw gateway status
openclaw gateway stop
openclaw gateway restart
openclaw gateway --port 18789
openclaw logs --follow
Nếu các bạn dùng supervised:
- macOS launchd (app-bundled LaunchAgent):
launchctl kickstart -k gui/$UID/bot.molt.gateway(dùngbot.molt.<profile>; legacycom.openclaw.*vẫn hoạt động) - Linux systemd user service:
systemctl --user restart openclaw-gateway[-<profile>].service - Windows (WSL2):
systemctl --user restart openclaw-gateway[-<profile>].servicelaunchctl/systemctlchỉ hoạt động nếu service đã cài; nếu không thì chạyopenclaw gateway install.
Runbook + service labels chính xác: Gateway runbook
Rollback / pinning (khi có gì đó bị lỗi)
Pin (cài global)
Cài một version đã biết hoạt động tốt (thay <version> bằng version cuối cùng hoạt động):
npm i -g openclaw@<version>
pnpm add -g openclaw@<version>
Mẹo: để xem version đã publish hiện tại, chạy npm view openclaw version.
Sau đó restart + chạy lại doctor:
openclaw doctor
openclaw gateway restart
Pin (source) theo ngày
Chọn một commit từ một ngày (ví dụ: “trạng thái của main tại 2026-01-01”):
git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
Sau đó cài lại deps + restart:
pnpm install
pnpm build
openclaw gateway restart
Nếu muốn quay lại latest sau này:
git checkout main
git pull
Nếu bị kẹt
- Chạy lại
openclaw doctorvà đọc kỹ output (nó thường cho biết cách sửa). - Xem: Troubleshooting
- Hỏi trên Discord: https://discord.gg/clawd