Chế độ
- Cục bộ (máy Mac này): mọi thứ chạy trên máy tính xách tay; không sử dụng SSH.
- Từ xa qua SSH (mặc định): các lệnh OpenClaw chạy trên máy chủ từ xa. Ứng dụng mở kết nối SSH với
-o BatchMode, danh tính/khóa bạn đã chọn và một cổng chuyển tiếp cục bộ. - Kết nối trực tiếp từ xa (ws/wss): không có đường hầm SSH; ứng dụng kết nối trực tiếp với URL Gateway (LAN, Tailscale, Tailscale Serve hoặc proxy ngược HTTPS công khai).
Phương thức truyền tải từ xa
- Đường hầm SSH (mặc định): sử dụng
ssh -N -L ...để chuyển tiếp cổng Gateway đến localhost. Gateway thấy địa chỉ IP của Node là127.0.0.1vì đường hầm sử dụng loopback. - Trực tiếp (ws/wss): kết nối thẳng đến URL Gateway. Gateway thấy địa chỉ IP thực của máy khách.
ControlMaster hoặc ForkAfterAuthentication.
Theo mặc định, việc xác minh khóa máy chủ SSH được thực hiện nghiêm ngặt vì thông tin xác thực Gateway được truyền qua đường hầm này. Để chủ động sử dụng cơ chế tin cậy riêng của một bí danh SSH được quản lý, hãy đặt --ssh-host-key-policy openssh thông qua openclaw-mac configure-remote hoặc đặt trực tiếp gateway.remote.sshHostKeyPolicy thành "openssh". Hãy xem xét bí danh cùng mọi cấu hình Host * tương ứng hoặc cấu hình hệ thống trước khi chọn sử dụng. Việc thay đổi đích SSH (trong ứng dụng hoặc qua configure-remote) sẽ đặt lại chính sách về strict, trừ khi bạn chủ động chọn lại cho đích mới.
Trong chế độ đường hầm SSH, tên máy chủ LAN/tailnet được phát hiện sẽ được lưu vào gateway.remote.sshTarget. Ứng dụng giữ gateway.remote.url trỏ đến điểm cuối đường hầm cục bộ (ví dụ: ws://127.0.0.1:18789) để CLI, Web Chat và dịch vụ máy chủ Node cục bộ đều sử dụng cùng phương thức truyền tải loopback. Khi quá trình khám phá trả về cả địa chỉ IP Tailnet thô và tên máy chủ ổn định, ứng dụng ưu tiên tên Tailscale MagicDNS hoặc LAN để kết nối duy trì tốt hơn khi địa chỉ thay đổi. Nếu cổng đường hầm cục bộ khác với cổng Gateway từ xa, hãy đặt gateway.remote.remotePort thành cổng trên máy chủ từ xa.
Trong chế độ từ xa, tính năng tự động hóa trình duyệt thuộc quyền quản lý của máy chủ Node CLI, không phải Node của ứng dụng macOS gốc. Ứng dụng khởi động dịch vụ máy chủ Node đã cài đặt khi có thể; để bật tính năng điều khiển trình duyệt từ máy Mac đó, hãy cài đặt/khởi động dịch vụ bằng openclaw node install ... và openclaw node start (hoặc chạy openclaw node run ... ở chế độ nền trước), sau đó chọn Node có khả năng điều khiển trình duyệt đó làm đích.
Điều kiện tiên quyết trên máy chủ từ xa
- Cài đặt Node + pnpm rồi xây dựng/cài đặt OpenClaw CLI (
pnpm install && pnpm build && pnpm link --global). - Đảm bảo
openclawnằm trong PATH của các shell không tương tác (tạo liên kết tượng trưng vào/usr/local/binhoặc/opt/homebrew/binnếu cần). - Đối với phương thức truyền tải SSH: thiết lập xác thực SSH bằng khóa. Nên sử dụng địa chỉ IP Tailscale để duy trì khả năng kết nối ổn định khi ở ngoài LAN.
Thiết lập ứng dụng macOS
Để cấu hình trước ứng dụng mà không qua luồng chào mừng, thông qua SSH:~/.openclaw/openclaw.json, đánh dấu quá trình làm quen ban đầu là hoàn tất và cho phép ứng dụng quản lý phương thức truyền tải đã chọn trong lần khởi động tiếp theo. --local-port/--remote-port mặc định là 18789. Các cờ khác: --password, --identity <path>, --ssh-host-key-policy <strict|openssh>, --project-root <path>, --cli-path <path>, --json. Chạy openclaw-mac configure-remote --help để xem tài liệu tham khảo đầy đủ.
Để cấu hình từ giao diện người dùng:
- Mở Settings -> General.
- Trong OpenClaw runs, chọn Remote và thiết lập:
- Transport: SSH tunnel hoặc Direct (ws/wss).
- SSH target:
user@host(có thể thêm:port). Nếu Gateway nằm trên cùng LAN và quảng bá qua Bonjour, hãy chọn Gateway đó trong danh sách được phát hiện để tự động điền trường này. - Gateway URL (chỉ với Direct):
wss://gateway.example.ts.net(hoặcws://...cho môi trường cục bộ/LAN). - Identity file (nâng cao): đường dẫn đến khóa của bạn.
- Project root (nâng cao): đường dẫn bản sao mã nguồn từ xa được dùng cho các lệnh.
- CLI path (nâng cao): đường dẫn tùy chọn đến điểm vào/tệp nhị phân
openclawcó thể chạy được (tự động điền khi được quảng bá).
- Nhấn Test remote. Thành công có nghĩa là lệnh
openclaw status --jsontừ xa đã chạy chính xác. Lỗi thường do vấn đề với PATH/CLI; mã thoát 127 có nghĩa là không tìm thấy CLI trên máy từ xa. - Giờ đây, các lượt kiểm tra tình trạng và Web Chat tự động chạy qua phương thức truyền tải đã chọn.
Web Chat
- Đường hầm SSH: kết nối với Gateway qua cổng điều khiển WebSocket được chuyển tiếp (mặc định là 18789).
- Trực tiếp (ws/wss): kết nối thẳng đến URL Gateway đã cấu hình.
- Không có máy chủ HTTP Web Chat riêng biệt.
Quyền
- Máy chủ từ xa cần các phê duyệt TCC giống như máy cục bộ (Tự động hóa, Trợ năng, Ghi màn hình, Micrô, Nhận dạng giọng nói, Thông báo). Hãy chạy quy trình làm quen ban đầu một lần trên máy đó để cấp các quyền này.
- Các Node công bố trạng thái quyền của chúng qua
node.list/node.describeđể các tác tử biết những gì khả dụng.
Lưu ý về bảo mật
- Ưu tiên liên kết loopback trên máy chủ từ xa và kết nối qua SSH, Tailscale Serve hoặc URL trực tiếp Tailnet/LAN đáng tin cậy.
- Theo mặc định, đường hầm SSH yêu cầu khóa máy chủ đã được tin cậy từ trước. Trước tiên, hãy tin cậy khóa máy chủ (thêm khóa vào tệp máy chủ đã biết được cấu hình) hoặc đặt rõ ràng
gateway.remote.sshHostKeyPolicy: "openssh"cho một bí danh được quản lý có chính sách tin cậy OpenSSH mà bạn chấp nhận. - Nếu liên kết Gateway với một giao diện không phải loopback, hãy yêu cầu xác thực Gateway hợp lệ: token, mật khẩu hoặc proxy ngược nhận biết danh tính với
gateway.auth.mode: "trusted-proxy". - Xem Bảo mật và Tailscale.
Luồng đăng nhập WhatsApp (từ xa)
- Chạy
openclaw channels login --channel whatsapp --verbosetrên máy chủ từ xa. Quét mã QR bằng WhatsApp trên điện thoại của bạn. - Chạy lại quy trình đăng nhập trên máy chủ đó nếu xác thực hết hạn. Lượt kiểm tra tình trạng sẽ hiển thị các sự cố liên kết.
Khắc phục sự cố
Âm thanh thông báo
Chọn âm thanh cho từng thông báo từ các tập lệnh bằngopenclaw nodes notify, ví dụ: