Nodes and media

Активна присутність за комп’ютером

Активна присутність за комп’ютером повідомляє Gateway, який під’єднаний вузол macOS отримав останнє фізичне введення з миші або клавіатури. OpenClaw використовує цей сигнал, щоб позначити один Mac як active, надати агенту стабільну підказку про активний вузол і спрямовувати сповіщення про підключення вузла на комп’ютер, за яким ви, найімовірніше, перебуваєте.

Це відрізняється від системної присутності, яка є актуальним списком клієнтів Gateway, і від довготривалих маяків node.presence.alive, які фіксують, коли мобільний вузол востаннє прокидався, не вважаючи його під’єднаним.

Вимоги

  • Застосунок OpenClaw для macOS спарено й під’єднано в режимі вузла.
  • Підписаному застосунку OpenClaw надано дозвіл Accessibility.
  • Для сповіщень про підключення також надано дозвіл Notifications, а вузол Mac надає system.notify.

Звітування про активність наразі реалізовано нативним вузлом macOS. Хости вузлів iOS, Android, watchOS і без графічного інтерфейсу можуть повідомляти стан останньої активності підключення або роботи у фоні, але вони не змагаються за статус активного комп’ютера.

Перевірка активного комп’ютера

  1. У застосунку macOS відкрийте Settings -> Permissions і надайте дозвіл Accessibility у системних налаштуваннях macOS.

  2. Переконайтеся, що вузол Mac під’єднано:

    bash
    openclaw nodes status --connected
  3. Перемістіть мишу або натисніть клавішу на цьому Mac, а потім виконайте:

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

Найсвіжіший придатний Mac позначається як active. У виводі стану відображається час від останнього введення; describe надає active, lastActiveAtMs і presenceUpdatedAtMs. Дані про активність навмисно об’єднуються, тому після нещодавнього звіту відображення наступного введення може тривати приблизно до 15 секунд.

Як активність перетворюється на присутність

Засіб звітування macOS перевіряє системний лічильник простою HID кожні дві секунди. Він надсилає звіт один раз, коли підключення вузла стає готовим, а потім повідомляє про новішу фізичну активність не частіше ніж раз на 15 секунд. Під час простою він надсилає сигнал підтримання з’єднання кожні три хвилини. Тривалість простою обмежено 30 днями, щоб дуже старий зразок не зміщувався вперед і помилково не ставав найновішим комп’ютером.

Gateway приймає активність, лише коли виконуються всі наведені умови:

  • подія належить поточному автентифікованому з’єднанню для цього ідентифікатора вузла;
  • вузол має чинний дозвіл accessibility: true;
  • корисне навантаження містить обмежене ціле значення idleSeconds.

Gateway віднімає idleSeconds від власного часу спостереження, щоб обчислити lastActiveAtMs. Він ніколи не довіряє позначці часу настінного годинника, наданій вузлом. Серед під’єднаних придатних Mac перемагає найновіший lastActiveAtMs; у разі однакових значень використовується найсвіжіше оновлення присутності.

Присутність є локальною для процесу та прив’язаною до з’єднання. Від’єднання поточного сеансу, його заміна іншим сеансом із тим самим ідентифікатором вузла або відкликання дозволу Accessibility очищає стан активності цього вузла й повторно визначає активний Mac.

Конфіденційність і контекст моделі

OpenClaw надсилає тривалість простою, а не вміст введення. Він не надсилає значення клавіш, координати миші, назви застосунків, заголовки вікон або необроблені події введення. Засіб звітування macOS зчитує апаратний стан HID, тому синтетичні події керування комп’ютером не створюють враження, ніби автоматизований Mac є комп’ютером, яким ви фізично користувалися.

Безперервна активність не створює системних подій, доступних моделі. Динамічний рядок середовища виконання містить лише ідентифікатор автентифікованого вузла:

text
active_node=<node-id>

Точні позначки часу й контрольовані вузлом відображувані назви не потрапляють до запиту, щоб уникнути ін’єкції запитів і зайвих змін кешу. Коли агенту потрібні актуальні відомості, інструмент nodes може натомість прочитати node.list або node.describe.

Як спрямовуються сповіщення про підключення

Після завершення вузлом узгодження з Gateway OpenClaw очікує 750 мілісекунд, щоб Mac, який під’єднується, міг надіслати свій перший зразок активності. Потім він намагається доставити сповіщення під’єднаному Mac із найсвіжішою активністю, який підтримує сповіщення.

  • Якщо основна доставка успішна, жоден інший Mac не отримує сповіщення.
  • Якщо активний Mac недоступний або основна доставка не вдалася, OpenClaw очікує п’ять секунд і намагається доставити сповіщення кожному з решти під’єднаних Mac, які надають system.notify.
  • Повторне сповіщення про підключення того самого вузла пригнічується протягом п’яти хвилин після фактичної спроби доставки, що запобігає шквалу сповіщень через нестабільні повторні підключення.

Сповіщення прив’язані до конкретних з’єднань вузлів. Від’єднаний або замінений вихідний сеанс не може завершити старе заплановане сповіщення, а нове з’єднання цільового вузла все одно може брати участь у резервній доставці.

Усунення несправностей

Ознака Що перевірити
Жоден рядок не позначено як active Переконайтеся, що нативний вузол macOS під’єднано, а openclaw nodes describe --node <id> показує permissions.accessibility: true.
Активним залишається не той Mac Фізично скористайтеся цим Mac, дочекайтеся завершення вікна об’єднання, а потім повторно виконайте openclaw nodes status. Синтетичні дії керування комп’ютером не враховуються.
Дані про останнє введення зникають Перевірте, чи не від’єднався Mac, чи не було замінено його сеанс вузла або відкликано Accessibility. Кожна з цих умов навмисно очищає дані про активність.
Сповіщення з’являється на кількох Mac Основна доставка була недоступною або невдалою, тому спрацювала відкладена резервна доставка. Переконайтеся, що активний Mac під’єднано, він дозволяє сповіщення й надає system.notify.
Агент не згадує активний Mac Почніть новий хід після зміни активності. Підказка середовища виконання стабільна й компактна; для отримання точних актуальних метаданих використовуйте інструмент nodes.

Відомості про відновлення TCC див. у розділі Дозволи macOS. Відомості про помилки підключення вузлів і виконання команд див. у розділі Усунення несправностей Node.

Пов’язані матеріали

Was this useful?
On this page

On this page