Platforms overview

Ứng dụng Android

Tổng quan hỗ trợ

Việc điều khiển hệ thống (launchd/systemd) nằm trên máy chủ Gateway — xem Gateway.

Các phiên Gateway đồng thời

Ghép đôi mỗi Gateway một lần, sau đó mở Settings → Gateway. Dấu kiểm đánh dấu Gateway đang được chọn và mỗi công tắc kiểm soát việc phiên vận hành của một Gateway không được chọn có duy trì kết nối hay không. Các Gateway đã bật sẽ kết nối lại độc lập khi ứng dụng ở nền trước, vì vậy việc chuyển lựa chọn không ngắt kết nối các Gateway khác. Chỉ Gateway đang được chọn sở hữu phiên Node Android và các chức năng của thiết bị; điều này ngăn nhiều Gateway đồng thời gửi lệnh camera, vị trí, màn hình hoặc thông báo đến cùng một điện thoại. Android có thể tạm ngưng các kết nối phụ sau khi ứng dụng rời nền trước.

Ứng dụng đồng hành Wear OS

Ứng dụng đồng hành Wear OS sử dụng kết nối Gateway đã xác thực của điện thoại Android được ghép đôi; đồng hồ không bao giờ nhận hoặc lưu trữ thông tin xác thực Gateway. Ứng dụng có thể chọn tác nhân và phiên, đọc bản chép lời có giới hạn, gửi câu trả lời bằng văn bản hoặc đọc chính tả, hủy một lượt chạy đang hoạt động, bắt đầu chế độ Trò chuyện theo thời gian thực trong phiên đã chọn, cũng như kết nối hoặc ngắt kết nối Gateway của điện thoại đã ghép đôi. Ứng dụng cũng cung cấp thông báo trả lời cục bộ, giao diện tối hoặc sáng và tùy chọn tự động đọc câu trả lời. Các chức năng điều khiển tác nhân và Gateway được thương lượng theo khả năng để hỗ trợ việc cập nhật điện thoại/đồng hồ không đồng thời. Chế độ Trò chuyện theo thời gian thực truyền âm thanh micrô và âm thanh phát lại qua một kênh Wear OS Data Layer tạm thời và dừng khi mất điện thoại đã chọn, kết nối Gateway hoặc kênh âm thanh.

Cài đặt ngoài Google Play

Các Bản phát hành GitHub chính thức và bản sửa lỗi thông thường bao gồm một OpenClaw-Android.apk phổ quát và OpenClaw-Android-SHA256SUMS.txt. APK được xây dựng từ thẻ phát hành, ký bằng khóa phát hành Android của OpenClaw và có chứng thực nguồn gốc từ GitHub Actions.

Chọn một bản phát hành liệt kê cả hai tài nguyên, sau đó tải xuống và xác minh chính xác thẻ đó trước khi cài đặt thủ công:

bash
release_tag=vYYYY.M.PATCHgh release download "$release_tag" \  --repo openclaw/openclaw \  --pattern OpenClaw-Android.apk \  --pattern OpenClaw-Android-SHA256SUMS.txtsha256sum --check OpenClaw-Android-SHA256SUMS.txtgh attestation verify OpenClaw-Android.apk \  --repo openclaw/openclaw \  --signer-workflow openclaw/openclaw/.github/workflows/android-release.yml \  --source-ref "refs/tags/${release_tag}" \  --deny-self-hosted-runners

Phản chiếu và điều khiển Android từ máy Mac từ xa

scrcpy phản chiếu màn hình Android trong một cửa sổ macOS và chuyển tiếp đầu vào bàn phím và con trỏ thông qua Android Debug Bridge (ADB). Đây là quy trình phía người vận hành, tách biệt với kết nối Node OpenClaw. Quy trình này hữu ích khi thiết bị Android và máy Mac ở các vị trí khác nhau nhưng dùng chung một mạng Tailscale riêng tư.

Trước khi bắt đầu

  • Cài đặt Tailscale trên thiết bị Android và máy Mac, rồi kết nối cả hai vào cùng một tailnet.

  • Trên Android, bật Developer optionsUSB debugging. Android 16 đặt Wireless debugging trong Settings > System > Developer options. Xem Tùy chọn dành cho nhà phát triển Android.

  • Cài đặt scrcpy và ADB trên máy Mac:

    bash
    brew install scrcpybrew install --cask android-platform-tools
  • Giữ thiết bị Android ở trạng thái sẵn sàng cho lần kết nối đầu tiên. Android phải phê duyệt khóa ADB của từng máy Mac trước khi máy Mac đó có thể điều khiển thiết bị.

Bật ADB qua TCP

Để thiết lập ban đầu, hãy kết nối thiết bị Android bằng USB với một máy tính đáng tin cậy và phê duyệt lời nhắc gỡ lỗi. Sau đó chạy:

bash
adb devicesadb tcpip 5555

Bây giờ có thể ngắt kết nối USB. Nếu cổng 5555 ngừng lắng nghe sau khi thiết bị khởi động lại hoặc đặt lại chế độ gỡ lỗi, hãy lặp lại bước thiết lập cục bộ này. Android 11 trở lên cũng có thể thiết lập độ tin cậy ban đầu bằng Wireless debugging > Pair device with pairing codeadb pair.

Chỉ cho phép máy Mac điều khiển

Các tailnet có quy tắc cấp quyền hạn chế phải cho phép rõ ràng máy Mac điều khiển truy cập cổng TCP 5555 trên thiết bị Android. Thêm một quy tắc giới hạn vào chính sách tailnet, thay các địa chỉ ví dụ bằng IP Tailscale ổn định của hai thiết bị:

json5
{  grants: [    {      src: ["<remote-mac-tailnet-ip>"],      dst: ["<android-tailnet-ip>"],      ip: ["tcp:5555"],    },  ],}

Xem quy tắc cấp quyền Tailscale để biết bí danh máy chủ và các bộ chọn khác. Không cấp quyền truy cập cổng này từ Internet công cộng hoặc để lộ cổng bằng Funnel: một máy khách ADB được ủy quyền có quyền kiểm soát rộng đối với thiết bị.

Kết nối và bắt đầu phản chiếu

Trên máy Mac từ xa:

bash
adb connect <android-tailnet-ip>:5555adb devicesscrcpy --serial <android-tailnet-ip>:5555

Lần adb connect đầu tiên từ máy Mac này sẽ hiển thị hộp thoại ủy quyền trên Android. Mở khóa thiết bị, xác nhận dấu vân tay của khóa và chỉ chọn Always allow from this computer khi máy Mac đáng tin cậy. Một mục adb devices thành công kết thúc bằng device; unauthorized có nghĩa là lời nhắc trên thiết bị chưa được phê duyệt.

Sau khi cửa sổ scrcpy mở, hãy sử dụng trực tiếp hoặc nhắm đến cửa sổ đó bằng một công cụ tự động hóa màn hình macOS như Peekaboo. scrcpy truyền màn hình và đầu vào; Tailscale chỉ cung cấp đường dẫn mạng riêng tư.

Khắc phục sự cố

  • Connection timed out: xác minh quy tắc cấp quyền tailnet cho TCP 5555. Một tailscale ping thành công chứng minh khả năng kết nối ngang hàng, không chứng minh rằng chính sách cho phép cổng TCP này. Kiểm tra bằng nc -vz <android-tailnet-ip> 5555 từ máy Mac.
  • unauthorized: mở khóa Android và phê duyệt khóa ADB của máy Mac từ xa, hoặc xóa máy trạm cũ trong Wireless debugging > Paired devices rồi ghép đôi lại.
  • Connection refused: kết nối lại cục bộ và chạy lại adb tcpip 5555.
  • Có nhiều thiết bị được liệt kê: giữ đối số --serial <android-tailnet-ip>:5555 rõ ràng.

Khi hoàn tất, đóng scrcpy và ngắt kết nối ADB:

bash
adb disconnect <android-tailnet-ip>:5555

Sổ tay vận hành kết nối

Ứng dụng Node Android ⇄ (mDNS/NSD + WebSocket) ⇄ Gateway

Android kết nối trực tiếp với WebSocket của Gateway và sử dụng ghép đôi thiết bị (role: node).

Đối với máy chủ Tailscale hoặc công cộng, Android yêu cầu một điểm cuối bảo mật:

  • Ưu tiên: Tailscale Serve / Funnel với https://<magicdns> / wss://<magicdns>
  • Cũng được hỗ trợ: bất kỳ URL Gateway wss:// nào khác có điểm cuối TLS thực
  • ws:// dạng văn bản thuần vẫn được hỗ trợ trên các địa chỉ LAN riêng tư / máy chủ .local, cùng với localhost, 127.0.0.1 và cầu nối trình giả lập Android (10.0.2.2); thiết lập không phải loopback tự động sử dụng quyền truy cập hạn chế dành cho người vận hành

Điều kiện tiên quyết

  • Gateway đang chạy trên một máy khác (hoặc có thể truy cập qua SSH).
  • Thiết bị/trình giả lập Android có thể truy cập WebSocket của Gateway:
    • Cùng mạng LAN với mDNS/NSD, hoặc
    • Cùng tailnet Tailscale sử dụng Wide-Area Bonjour / DNS-SD đơn hướng (xem bên dưới), hoặc
    • Máy chủ/cổng Gateway thủ công (dự phòng)
  • Ghép đôi qua tailnet/mạng di động công cộng không sử dụng các điểm cuối IP tailnet ws:// thô. Thay vào đó, hãy sử dụng Tailscale Serve hoặc một URL wss:// khác.
  • CLI openclaw khả dụng trên máy Gateway (hoặc qua SSH) để phê duyệt các yêu cầu ghép đôi.

1. Khởi động Gateway

bash
openclaw gateway --port 18789 --verbose

Xác nhận trong nhật ký rằng có nội dung tương tự:

  • listening on ws://0.0.0.0:18789

Để Android truy cập từ xa qua Tailscale, ưu tiên Serve/Funnel thay vì liên kết trực tiếp với tailnet:

bash
openclaw gateway --tailscale serve

Điều này cung cấp cho Android một điểm cuối wss:// / https:// bảo mật. Thiết lập gateway.bind: "tailnet" thuần túy không đủ để ghép đôi Android từ xa lần đầu, trừ khi TLS cũng được kết thúc riêng.

2. Xác minh khả năng khám phá (tùy chọn)

Từ máy Gateway:

bash
dns-sd -B _openclaw-gw._tcp local.

Thêm ghi chú gỡ lỗi: Bonjour.

Nếu cũng đã cấu hình một miền khám phá diện rộng, hãy so sánh với:

bash
openclaw gateway discover --json

Lệnh này hiển thị local. cùng miền diện rộng đã cấu hình trong một lượt, sử dụng điểm cuối dịch vụ đã phân giải thay vì chỉ các gợi ý TXT.

Khám phá xuyên mạng qua DNS-SD đơn hướng

Khả năng khám phá NSD/mDNS của Android không hoạt động xuyên mạng. Nếu Node Android và Gateway nằm trên các mạng khác nhau nhưng được kết nối qua Tailscale, hãy sử dụng Wide-Area Bonjour / DNS-SD đơn hướng. Chỉ khám phá là không đủ để ghép đôi Android qua tailnet/mạng công cộng — tuyến đường được khám phá vẫn cần một điểm cuối bảo mật (wss:// hoặc Tailscale Serve):

  1. Thiết lập một vùng DNS-SD (ví dụ openclaw.internal.) trên máy chủ Gateway và công bố các bản ghi _openclaw-gw._tcp.
  2. Cấu hình DNS phân tách của Tailscale cho miền đã chọn để trỏ đến máy chủ DNS đó.

Chi tiết và cấu hình CoreDNS mẫu: Bonjour.

3. Kết nối từ Android

Trong ứng dụng Android:

  • Ứng dụng duy trì kết nối Gateway thông qua một dịch vụ nền trước (thông báo liên tục).
  • Mở thẻ Connect.
  • Sử dụng chế độ Setup Code hoặc Manual.
  • Nếu khả năng khám phá bị chặn, hãy sử dụng máy chủ/cổng thủ công trong Advanced controls. Đối với máy chủ LAN riêng tư, ws:// vẫn hoạt động. Đối với máy chủ Tailscale/công cộng, hãy bật TLS và sử dụng một điểm cuối wss:// / Tailscale Serve.

Sau lần ghép đôi thành công đầu tiên, Android tự động kết nối lại khi khởi chạy với Gateway đã ghép đôi đang hoạt động (nỗ lực tối đa đối với các Gateway được khám phá, vốn phải hiển thị trên mạng).

Theo mặc định, mã thiết lập chính thức kết nối Android dưới dạng một Node và cấp đầy đủ quyền truy cập vận hành Gateway qua wss://. Thiết lập ws:// dạng văn bản thuần không phải loopback tự động sử dụng quyền truy cập hạn chế để bảo vệ bearer token. Settings → Gateway hiển thị quyền truy cập Full hoặc Limited. Đối với kết nối hạn chế, hãy cấu hình wss:// hoặc Tailscale Serve, tạo mã truy cập đầy đủ mới trong Control UI hoặc bằng openclaw qr, sau đó quét hoặc dán mã đó trên trang này và kết nối lại. Người vận hành muốn sử dụng hồ sơ hạn chế có thể chọn Limited access trong Control UI hoặc chạy openclaw qr --limited.

Quản lý các Gateway đã ghép đôi

Ứng dụng duy trì sổ đăng ký của mọi Gateway mà ứng dụng đã ghép đôi, vì vậy có thể duy trì kết nối các phiên vận hành và thay đổi lựa chọn mà không cần ghép đôi lại:

  • Settings → Gateway liệt kê các Gateway đã ghép nối và đánh dấu Gateway đang được chọn. Chạm vào một mục để chọn mục đó; các phiên vận hành khác đang bật vẫn duy trì kết nối.
  • Mỗi công tắc kiểm soát việc Gateway không được chọn đó có duy trì kết nối khi ứng dụng ở tiền cảnh hay không. Gateway đang được chọn vẫn được bật và quản lý kết nối Node của điện thoại cùng các chức năng của thiết bị.
  • Thẻ Connect hiển thị bộ chuyển đổi nhanh khi có nhiều hơn một Gateway được ghép nối.
  • Thông tin xác thực, token thiết bị, độ tin cậy TLS, lịch sử trò chuyện và tin nhắn ngoại tuyến đang chờ được lưu riêng cho từng Gateway. Việc thay đổi Gateway đang được chọn không bao giờ trộn lẫn trạng thái giữa các Gateway, và các tin nhắn được xếp hàng khi ngoại tuyến chỉ được gửi đến Gateway mà chúng được tạo cho.
  • Forget xóa mục đăng ký của Gateway cùng với thông tin xác thực, token thiết bị, ghim TLS và các cuộc trò chuyện được lưu trong bộ nhớ đệm.

Beacon duy trì trạng thái hiện diện

Sau khi phiên Node đã xác thực kết nối, và khi ứng dụng chuyển sang nền trong lúc dịch vụ tiền cảnh vẫn được kết nối, Android gọi node.event với event: "node.presence.alive". Gateway chỉ ghi nhận điều này dưới dạng lastSeenAtMs/lastSeenReason trong siêu dữ liệu của Node/thiết bị đã ghép nối sau khi biết danh tính thiết bị Node đã xác thực.

Ứng dụng chỉ tính beacon là đã được ghi nhận thành công khi phản hồi của Gateway chứa handled: true. Các Gateway cũ hơn có thể xác nhận node.event bằng { "ok": true }; phản hồi đó tương thích nhưng không được tính là một lần cập nhật thời điểm nhìn thấy gần nhất có tính bền vững.

4. Phê duyệt ghép nối (CLI)

Trên máy Gateway:

bash
openclaw devices listopenclaw devices approve <requestId>openclaw devices reject <requestId>

Chi tiết ghép nối: Ghép nối.

Tùy chọn: nếu Node Android luôn kết nối từ một subnet được kiểm soát chặt chẽ, bạn có thể chủ động bật tính năng tự động phê duyệt Node trong lần đầu bằng các CIDR hoặc địa chỉ IP chính xác:

json5
{  gateway: {    nodes: {      pairing: {        autoApproveCidrs: ["192.168.1.0/24"],      },    },  },}

Tính năng này mặc định bị tắt. Nó chỉ áp dụng cho lần ghép nối role: node mới, không yêu cầu phạm vi nào. Việc ghép nối trình vận hành/trình duyệt và mọi thay đổi về vai trò, phạm vi, siêu dữ liệu hoặc khóa công khai vẫn yêu cầu phê duyệt thủ công.

5. Xác minh Node đã kết nối

bash
openclaw nodes statusopenclaw gateway call node.list --params "{}"

6. Trò chuyện + lịch sử

Thẻ Chat trên Android hỗ trợ chọn phiên (mặc định là main, cùng với các phiên hiện có khác):

  • Lịch sử: chat.history (được chuẩn hóa để hiển thị — các thẻ chỉ thị nội tuyến, payload XML dạng văn bản thuần của lệnh gọi công cụ (<tool_call>, <function_call>, <tool_calls>, <function_calls> và các biến thể bị cắt ngắn), cùng các token điều khiển mô hình ASCII/toàn chiều bị rò rỉ sẽ bị loại bỏ; các hàng của trợ lý chứa token im lặng như chính xác NO_REPLY / no_reply sẽ bị bỏ qua; các hàng quá lớn có thể được thay thế bằng phần giữ chỗ)
  • Gửi: chat.send
  • Gửi bền vững: mọi lần gửi (văn bản, hình ảnh đã chọn và ghi chú thoại) đều được ghi nhật ký vào hộp thư đi trên thiết bị riêng cho từng Gateway trước bất kỳ lần thử kết nối mạng nào, vì vậy việc ứng dụng bị chấm dứt không thể làm mất nội dung đã gửi. Các nội dung được xếp hàng khi ngoại tuyến sẽ được gửi theo thứ tự khi kết nối lại với các khóa idempotency ổn định, và một nội dung gửi chỉ được loại khỏi hàng đợi sau khi lượt tương tác hiển thị trong chat.history chuẩn — chỉ một xác nhận không được xem là bằng chứng đã gửi thành công. Các kết quả không rõ ràng (mất xác nhận, ứng dụng bị tắt giữa lúc gửi, Gateway khởi động lại trước khi ghi bản chép lời) hiển thị thành các hàng có thể nhìn thấy với lựa chọn rõ ràng Retry/Delete thay vì tự động gửi lại. Các lệnh gạch chéo không bao giờ tự động phát lại qua một lần kết nối lại; chúng được giữ lại để thử lại rõ ràng. Hàng đợi có giới hạn (50 tin nhắn và 48 MB dữ liệu tệp đính kèm cho mỗi Gateway), còn các hàng chưa gửi sẽ hết hạn sau 48 giờ. Các bản nháp trong trình soạn thảo chưa bao giờ được gửi không được duy trì bền vững qua vòng đời tiến trình.
  • Cập nhật đẩy (nỗ lực tối đa): chat.subscribe -> event:"chat"
  • Nghe: nhấn giữ tin nhắn của trợ lý và chọn Listen để nghe; âm thanh được kết xuất qua tts.speak của Gateway bằng chuỗi nhà cung cấp TTS đã cấu hình, và TTS hệ thống trên thiết bị được sử dụng khi Gateway không thể kết xuất âm thanh. Việc phát sẽ dừng khi chuyển phiên, tạo cuộc trò chuyện mới, đưa ứng dụng xuống nền hoặc đóng cuộc trò chuyện.

7. Canvas + camera

Máy chủ Canvas của Gateway (khuyến nghị cho nội dung web)

Để Node hiển thị HTML/CSS/JS thực mà agent có thể chỉnh sửa trên ổ đĩa, hãy trỏ Node đến máy chủ Canvas của Gateway.

  1. Tạo ~/.openclaw/workspace/canvas/index.html trên máy chủ Gateway.
  2. Điều hướng Node đến đó (LAN):
bash
openclaw nodes invoke --node "&lt;Android Node&gt;" --command canvas.navigate --params '{"url":"http://<gateway-hostname>.local:18789/__openclaw__/canvas/"}'

Tailnet (tùy chọn): nếu cả hai thiết bị đều dùng Tailscale, hãy sử dụng tên MagicDNS hoặc IP tailnet thay cho .local, ví dụ http://<gateway-magicdns>:18789/__openclaw__/canvas/.

Máy chủ này chèn một trình khách tải lại trực tiếp vào HTML và tải lại khi tệp thay đổi. Gateway cũng cung cấp /__openclaw__/a2ui/, nhưng ứng dụng Android xem các trang A2UI từ xa là chỉ để kết xuất. Các lệnh A2UI có khả năng thực hiện hành động sử dụng trang A2UI tích hợp do ứng dụng sở hữu.

Các lệnh Canvas (chỉ ở tiền cảnh):

  • canvas.eval, canvas.snapshot, canvas.navigate (sử dụng {"url":""} hoặc {"url":"/"} để quay lại khung mặc định). canvas.snapshot trả về { format, base64 } (mặc định là format="jpeg").
  • A2UI: canvas.a2ui.push, canvas.a2ui.reset (bí danh cũ canvas.a2ui.pushJSONL). Các lệnh này sử dụng trang A2UI tích hợp do ứng dụng sở hữu để kết xuất có khả năng thực hiện hành động.

Các lệnh camera (chỉ ở tiền cảnh; bị kiểm soát bằng quyền): camera.snap (jpg), camera.clip (mp4). Xem Node camera để biết các tham số và trình trợ giúp CLI.

8. Giọng nói + bề mặt lệnh Android mở rộng

  • Điều hướng chính của Android gồm Home, ChatSettings. Đầu vào bằng giọng nói thuộc về trình soạn thảo Chat; không có thẻ Voice riêng.
  • Chạm vào micrô của trình soạn thảo để nhận dạng giọng nói trên thiết bị và chèn bản chép lời vào bản nháp. Nhấn giữ micrô để ghi tệp đính kèm ghi chú thoại. Giao diện người dùng báo cáo trường hợp nhận dạng không khả dụng, thiếu quyền, lỗi bận/mạng và không phát hiện lời nói thay vì âm thầm bỏ qua lần thử.
  • Bắt đầu Talk liên tục từ dạng sóng trong Chat. Đọc chính tả, ghi ghi chú thoại và Talk là các đường dẫn micrô loại trừ lẫn nhau.
  • Talk Mode nâng cấp dịch vụ tiền cảnh hiện có từ connectedDevice lên connectedDevice|microphone trước khi bắt đầu thu âm, sau đó hạ cấp dịch vụ khi Talk Mode dừng. Dịch vụ Node khai báo FOREGROUND_SERVICE_CONNECTED_DEVICE với CHANGE_NETWORK_STATE; Android 14+ cũng yêu cầu khai báo FOREGROUND_SERVICE_MICROPHONE, quyền cấp lúc chạy RECORD_AUDIO và loại dịch vụ micrô trong thời gian chạy.
  • Theo mặc định, Android Talk sử dụng tính năng nhận dạng giọng nói gốc, trò chuyện qua Gateway và talk.speak thông qua nhà cung cấp Talk của Gateway đã cấu hình. TTS hệ thống cục bộ chỉ được sử dụng khi talk.speak không khả dụng.
  • Android Talk chỉ sử dụng chuyển tiếp Gateway theo thời gian thực khi talk.realtime.moderealtimetalk.realtime.transportgateway-relay.
  • Android không quảng bá chức năng voiceWake. Hãy sử dụng tính năng đọc chính tả trong Chat, ghi chú thoại hoặc Talk cho đầu vào bằng giọng nói.
  • Các nhóm lệnh Android bổ sung (tính khả dụng tùy thuộc vào thiết bị, quyền và cài đặt của người dùng):
    • device.status, device.info, device.permissions, device.health
    • device.apps chỉ khi Settings > Phone Capabilities > Installed Apps được bật; theo mặc định, lệnh này liệt kê các ứng dụng hiển thị trong trình khởi chạy (truyền includeNonLaunchable để lấy danh sách đầy đủ).
    • notifications.list, notifications.actions (xem Chuyển tiếp thông báo bên dưới)
    • photos.latest
    • contacts.search, contacts.add
    • calendar.events, calendar.add
    • callLog.search
    • sms.search
    • motion.activity, motion.pedometer

9. Tệp không gian làm việc (chỉ đọc)

Phần tổng quan Home có thẻ Files để duyệt không gian làm việc của agent đang hoạt động thông qua các RPC Gateway chỉ đọc agents.workspace.list / agents.workspace.get: đi sâu vào thư mục, xem trước văn bản và hình ảnh, cũng như xuất qua bảng chia sẻ của Android. Không có thao tác ghi, và kích thước bản xem trước bị Gateway giới hạn.

Review phê duyệt lệnh

Kết nối trình vận hành với operator.admin, hoặc kết nối operator.approvals đã ghép nối được Gateway nhắm đến rõ ràng, có thể review các yêu cầu thực thi đang chờ trong Settings -> Approvals. Ứng dụng tải bản ghi phê duyệt đã được làm sạch của Gateway trước khi bật các nút, hiển thị mọi cảnh báo bảo mật cùng các quyết định chính xác mà yêu cầu đó cung cấp, rồi gửi ID phê duyệt và loại chủ sở hữu trở lại Gateway.

Trạng thái phê duyệt được chia sẻ với Control UI và các bề mặt trò chuyện được hỗ trợ. Câu trả lời được xác nhận đầu tiên sẽ thắng; Android hiển thị kết quả chuẩn đó ngay cả khi một bề mặt khác trả lời trước. Nếu phản hồi giải quyết bị mất hoặc Gateway ngắt kết nối, ứng dụng giữ thao tác ở trạng thái khóa và đọc lại phê duyệt trước khi đưa ra quyết định khác.

Các Gateway có trước những phương thức phê duyệt hợp nhất sẽ quay về sử dụng các phương thức dành riêng cho thực thi đã được phát hành. Việc review đang chờ vẫn hoạt động, nhưng trạng thái terminal được giữ lại và kết quả đa bề mặt phong phú hơn yêu cầu Gateway đã được cập nhật.

Trả lời câu hỏi của agent

Chat hiển thị các câu hỏi Gateway đang chờ dưới dạng thẻ gốc cho các kết nối trình vận hành có operator.questions (hoặc operator.admin). Các thẻ hỗ trợ tùy chọn chọn đơn và chọn nhiều, mô tả tùy chọn, câu trả lời Other dạng văn bản tự do và bộ đếm ngược thời gian hết hạn. Khi kết nối lại, các câu hỏi đang chờ được tải lại từ Gateway. Một thẻ sẽ khóa khi thiết bị này trả lời, một bề mặt khác trả lời trước hoặc câu hỏi hết hạn hay bị hủy.

Điểm vào của trợ lý

Android hỗ trợ khởi chạy OpenClaw từ trình kích hoạt trợ lý hệ thống (Google Assistant). Nhấn giữ nút Home (hoặc một trình kích hoạt ACTION_ASSIST khác) sẽ mở ứng dụng; nói "Hey Google, ask OpenClaw <prompt>" sẽ khớp với mẫu truy vấn App Actions đã khai báo của ứng dụng và chuyển lời nhắc vào trình soạn thảo trò chuyện mà không tự động gửi.

Tính năng này sử dụng App Actions của Android (chức năng shortcuts.xml) được khai báo trong manifest của ứng dụng. Không cần cấu hình phía Gateway — intent của trợ lý được ứng dụng Android xử lý hoàn toàn.

Chuyển tiếp thông báo

Android có thể chuyển tiếp thông báo của thiết bị đến Gateway dưới dạng các mục node.event. Tính năng này được cấu hình trên thiết bị, trong bảng Settings của ứng dụng — không phải trong cấu hình Gateway/openclaw.json.

Cài đặt Mô tả
Chuyển tiếp sự kiện thông báo Công tắc chính. Mặc định tắt; trước tiên cần cấp quyền truy cập trình nghe thông báo.
Bộ lọc gói Danh sách cho phép (chỉ chuyển tiếp các ID gói được liệt kê) hoặc Danh sách chặn (mặc định: tất cả các gói ngoại trừ các ID được liệt kê). Gói riêng của OpenClaw luôn bị loại trừ trong chế độ Danh sách chặn để ngăn vòng lặp chuyển tiếp.
Giờ yên lặng Khoảng thời gian bắt đầu/kết thúc cục bộ theo định dạng HH:mm, trong đó việc chuyển tiếp bị tạm ngừng. Mặc định bị vô hiệu hóa; sau khi bật, mặc định là 22:00-07:00.
Số sự kiện tối đa / phút Giới hạn tốc độ thông báo được chuyển tiếp trên mỗi thiết bị. Mặc định là 20.
Khóa phiên định tuyến Không bắt buộc. Ghim các sự kiện thông báo được chuyển tiếp vào một phiên cụ thể thay vì tuyến thông báo mặc định của thiết bị.

Thông báo của WhatsApp, WhatsApp Business, Telegram, Telegram X, Discord và Signal luôn bị loại trừ. Tin nhắn của chúng đã thuộc quyền quản lý của các phiên kênh OpenClaw gốc; việc chuyển tiếp thông báo Android dưới dạng một sự kiện Node riêng biệt có thể định tuyến phản hồi qua nhầm cuộc trò chuyện.

Liên quan

Was this useful?
On this page

On this page