Gateway trên macOS (launchd bên ngoài)

OpenClaw.app không còn tích hợp sẵn Node/Bun hay Gateway runtime nữa. Ứng dụng macOS giờ yêu cầu cài đặt CLI openclaw từ bên ngoài, không spawn Gateway như một child process, và quản lý dịch vụ launchd theo từng user để giữ Gateway chạy liên tục (hoặc kết nối với Gateway local đang chạy sẵn nếu có).

Cài đặt CLI (bắt buộc cho chế độ local)

Các bạn cần có Node 22+ trên Mac, sau đó cài openclaw globally:

npm install -g openclaw@<version>

Nút Install CLI trong ứng dụng macOS chạy cùng quy trình này qua npm/pnpm (không khuyên dùng bun cho Gateway runtime).

Launchd (Gateway như LaunchAgent)

Label:

  • bot.molt.gateway (hoặc bot.molt.<profile>; có thể còn com.openclaw.* từ phiên bản cũ)

Vị trí Plist (theo từng user):

  • ~/Library/LaunchAgents/bot.molt.gateway.plist (hoặc ~/Library/LaunchAgents/bot.molt.<profile>.plist)

Quản lý:

  • Ứng dụng macOS quản lý việc cài đặt/cập nhật LaunchAgent ở chế độ Local.
  • CLI cũng có thể cài đặt: openclaw gateway install.

Hành vi:

  • “OpenClaw Active” bật/tắt LaunchAgent.
  • Thoát app không dừng gateway (launchd giữ nó chạy tiếp).
  • Nếu Gateway đã chạy trên port đã cấu hình, app sẽ kết nối vào thay vì khởi động cái mới.

Logging:

  • launchd stdout/err: /tmp/openclaw/openclaw-gateway.log

Tương thích phiên bản

Ứng dụng macOS kiểm tra phiên bản gateway với phiên bản của chính nó. Nếu không tương thích, các bạn cập nhật CLI global cho khớp với phiên bản app nhé.

Smoke check

openclaw --version

OPENCLAW_SKIP_CHANNELS=1 \
OPENCLAW_SKIP_CANVAS_HOST=1 \
openclaw gateway --port 18999 --bind loopback

Sau đó:

openclaw gateway call health --url ws://127.0.0.1:18999 --timeout 3000