Nodes and media

Trạng thái hiện diện đang hoạt động của máy tính

Sự hiện diện trên máy tính đang hoạt động cho Gateway biết Node macOS nào đang kết nối đã nhận thao tác nhập vật lý gần đây nhất từ chuột hoặc bàn phím. OpenClaw sử dụng tín hiệu đó để đánh dấu một máy Mac là active, cung cấp cho agent một gợi ý ổn định về Node đang hoạt động và định tuyến cảnh báo kết nối Node đến máy tính mà bạn có nhiều khả năng đang sử dụng nhất.

Điều này tách biệt với sự hiện diện hệ thống, tức danh sách trực tiếp các máy khách Gateway, và với các beacon node.presence.alive lâu dài, vốn ghi lại thời điểm một Node di động thức dậy gần nhất mà không coi Node đó là đang kết nối.

Yêu cầu

  • Ứng dụng OpenClaw cho macOS đã được ghép đôi và kết nối ở chế độ Node.
  • Quyền Accessibility đã được cấp cho ứng dụng OpenClaw có chữ ký.
  • Đối với cảnh báo kết nối, quyền Notifications cũng đã được cấp và Node Mac cung cấp system.notify.

Tính năng báo cáo hoạt động hiện được triển khai bởi Node macOS gốc. Các máy chủ Node iOS, Android, watchOS và không giao diện có thể báo cáo trạng thái kết nối hoặc lần xuất hiện gần nhất trong nền, nhưng chúng không cạnh tranh để được chỉ định là máy tính đang hoạt động.

Kiểm tra máy tính đang hoạt động

  1. Trong ứng dụng macOS, mở Settings -> Permissions và cấp quyền Accessibility trong macOS System Settings.

  2. Xác nhận Node Mac đang kết nối:

    bash
    openclaw nodes status --connected
  3. Di chuyển chuột hoặc nhấn một phím trên máy Mac đó, rồi chạy:

    bash
    openclaw nodes statusopenclaw nodes describe --node <node-id-or-name>

Máy Mac đủ điều kiện có hoạt động mới nhất được đánh dấu là active. Đầu ra trạng thái hiển thị khoảng thời gian kể từ lần nhập gần nhất; describe cung cấp active, lastActiveAtMspresenceUpdatedAtMs. Hoạt động được chủ đích gộp lại, vì vậy sau một báo cáo gần đây, màn hình có thể mất tối đa khoảng 15 giây để phản ánh một thao tác nhập khác.

Cách hoạt động trở thành sự hiện diện

Trình báo cáo macOS lấy mẫu đồng hồ thời gian rảnh của hệ thống HID mỗi hai giây. Trình này báo cáo một lần khi kết nối Node sẵn sàng, sau đó báo cáo hoạt động vật lý mới hơn không quá một lần mỗi 15 giây. Khi không hoạt động, trình này gửi tín hiệu duy trì kết nối mỗi ba phút. Thời gian không hoạt động được giới hạn ở 30 ngày để một mẫu quá cũ không thể trôi về phía trước và bị nhận nhầm là máy tính mới nhất.

Gateway chỉ chấp nhận hoạt động khi tất cả các điều kiện sau đều đúng:

  • sự kiện thuộc về kết nối đã xác thực hiện tại của mã định danh Node đó;
  • Node có quyền accessibility: true đang có hiệu lực;
  • payload chứa giá trị số nguyên idleSeconds nằm trong giới hạn.

Gateway trừ idleSeconds khỏi thời gian quan sát của chính nó để suy ra lastActiveAtMs. Gateway không bao giờ tin tưởng dấu thời gian đồng hồ thực do Node cung cấp. Trong số các máy Mac đủ điều kiện đang kết nối, lastActiveAtMs mới nhất sẽ thắng; nếu bằng nhau, hệ thống sử dụng lần cập nhật sự hiện diện gần đây nhất.

Sự hiện diện chỉ tồn tại cục bộ trong tiến trình và gắn với kết nối. Việc ngắt kết nối phiên hiện tại, thay thế phiên đó bằng một phiên khác sử dụng cùng mã định danh Node hoặc thu hồi quyền Accessibility sẽ xóa trạng thái hoạt động của Node đó và tính toán lại máy Mac đang hoạt động.

Quyền riêng tư và ngữ cảnh mô hình

OpenClaw gửi thời gian không hoạt động chứ không gửi nội dung nhập. OpenClaw không gửi giá trị phím, tọa độ chuột, tên ứng dụng, tiêu đề cửa sổ hoặc sự kiện nhập thô. Trình báo cáo macOS đọc trạng thái HID phần cứng, vì vậy các sự kiện điều khiển máy tính tổng hợp không khiến một máy Mac tự động hóa có vẻ là máy tính mà bạn đã sử dụng trực tiếp.

Hoạt động liên tục không tạo ra các sự kiện hệ thống dành cho mô hình. Dòng runtime động chỉ chứa mã định danh Node đã xác thực:

text
active_node=<node-id>

Dấu thời gian chính xác và tên hiển thị do Node kiểm soát không được đưa vào prompt để tránh chèn prompt và làm xáo trộn bộ nhớ đệm. Khi agent cần thông tin chi tiết hiện tại, công cụ nodes có thể đọc node.list hoặc node.describe.

Cách định tuyến cảnh báo kết nối

Sau khi một Node hoàn tất quá trình bắt tay với Gateway, OpenClaw chờ 750 mili giây để máy Mac đang kết nối có thể gửi mẫu hoạt động đầu tiên. Sau đó, OpenClaw thử gửi đến máy Mac có khả năng thông báo đang kết nối với hoạt động mới nhất.

  • Nếu lần gửi chính thành công, không máy Mac nào khác nhận được cảnh báo.
  • Nếu không có máy Mac đang hoạt động hoặc lần gửi chính thất bại, OpenClaw chờ năm giây rồi thử mọi máy Mac đang kết nối còn lại có cung cấp system.notify.
  • Cảnh báo kết nối lại cho cùng một Node bị chặn trong năm phút sau một lần gửi thực tế, ngăn tình trạng kết nối lại chập chờn tạo ra một loạt thông báo dồn dập.

Cảnh báo được gắn với các kết nối Node chính xác. Một phiên nguồn đã ngắt kết nối hoặc bị thay thế không thể hoàn tất cảnh báo cũ đã lên lịch, và một kết nối đích thay thế vẫn có thể tham gia lần gửi dự phòng.

Khắc phục sự cố

Triệu chứng Kiểm tra
Không có hàng nào được đánh dấu active Xác nhận một Node macOS gốc đang kết nối và openclaw nodes describe --node <id> hiển thị permissions.accessibility: true.
Máy Mac không đúng vẫn đang hoạt động Sử dụng trực tiếp máy Mac đó, chờ hết khoảng thời gian gộp, rồi chạy lại openclaw nodes status. Các thao tác điều khiển máy tính tổng hợp không được tính.
Dữ liệu lần nhập gần nhất biến mất Kiểm tra xem máy Mac có bị ngắt kết nối, phiên Node của máy có bị thay thế hoặc quyền Accessibility có bị thu hồi hay không. Mỗi điều kiện đều chủ đích xóa hoạt động.
Cảnh báo xuất hiện trên nhiều máy Mac Lần gửi chính không khả dụng hoặc thất bại, vì vậy phương án dự phòng có độ trễ đã chạy. Xác minh máy Mac đang hoạt động có kết nối, cho phép thông báo và cung cấp system.notify.
Agent không đề cập đến máy Mac đang hoạt động Bắt đầu một lượt mới sau khi hoạt động thay đổi. Gợi ý runtime ổn định và ngắn gọn; sử dụng công cụ nodes để lấy metadata hiện tại chính xác.

Để khôi phục TCC, hãy xem quyền macOS. Đối với lỗi kết nối Node và lệnh, hãy xem Khắc phục sự cố Node.

Liên quan

Was this useful?
On this page

On this page