active, надати агенту стабільну підказку про активний вузол і спрямовувати
сповіщення про підключення вузла на комп’ютер, за яким ви, найімовірніше, перебуваєте.
Це відрізняється від системної присутності, яка є актуальним
списком клієнтів Gateway, і від довготривалих маяків node.presence.alive, які
фіксують, коли мобільний вузол востаннє прокидався, не вважаючи його під’єднаним.
Вимоги
- Застосунок OpenClaw для macOS спарено й під’єднано в режимі вузла.
- Підписаному застосунку OpenClaw надано дозвіл Accessibility.
- Для сповіщень про підключення також надано дозвіл Notifications, а
вузол Mac надає
system.notify.
Перевірка активного комп’ютера
- У застосунку macOS відкрийте Settings -> Permissions і надайте дозвіл Accessibility у системних налаштуваннях macOS.
-
Переконайтеся, що вузол Mac під’єднано:
-
Перемістіть мишу або натисніть клавішу на цьому Mac, а потім виконайте:
active. У виводі стану відображається час
від останнього введення; describe надає active, lastActiveAtMs і presenceUpdatedAtMs.
Дані про активність навмисно об’єднуються, тому після нещодавнього звіту відображення
наступного введення може тривати приблизно до 15 секунд.
Як активність перетворюється на присутність
Засіб звітування macOS перевіряє системний лічильник простою HID кожні дві секунди. Він надсилає звіт один раз, коли підключення вузла стає готовим, а потім повідомляє про новішу фізичну активність не частіше ніж раз на 15 секунд. Під час простою він надсилає сигнал підтримання з’єднання кожні три хвилини. Тривалість простою обмежено 30 днями, щоб дуже старий зразок не зміщувався вперед і помилково не ставав найновішим комп’ютером. Gateway приймає активність, лише коли виконуються всі наведені умови:- подія належить поточному автентифікованому з’єднанню для цього ідентифікатора вузла;
- вузол має чинний дозвіл
accessibility: true; - корисне навантаження містить обмежене ціле значення
idleSeconds.
idleSeconds від власного часу спостереження, щоб обчислити
lastActiveAtMs. Він ніколи не довіряє позначці часу настінного годинника, наданій вузлом. Серед
під’єднаних придатних Mac перемагає найновіший lastActiveAtMs; у разі однакових значень використовується
найсвіжіше оновлення присутності.
Присутність є локальною для процесу та прив’язаною до з’єднання. Від’єднання поточного
сеансу, його заміна іншим сеансом із тим самим ідентифікатором вузла або відкликання
дозволу Accessibility очищає стан активності цього вузла й повторно визначає активний Mac.
Конфіденційність і контекст моделі
OpenClaw надсилає тривалість простою, а не вміст введення. Він не надсилає значення клавіш, координати миші, назви застосунків, заголовки вікон або необроблені події введення. Засіб звітування macOS зчитує апаратний стан HID, тому синтетичні події керування комп’ютером не створюють враження, ніби автоматизований Mac є комп’ютером, яким ви фізично користувалися. Безперервна активність не створює системних подій, доступних моделі. Динамічний рядок середовища виконання містить лише ідентифікатор автентифікованого вузла:nodes може натомість прочитати node.list або node.describe.
Як спрямовуються сповіщення про підключення
Після завершення вузлом узгодження з Gateway OpenClaw очікує 750 мілісекунд, щоб Mac, який під’єднується, міг надіслати свій перший зразок активності. Потім він намагається доставити сповіщення під’єднаному Mac із найсвіжішою активністю, який підтримує сповіщення.- Якщо основна доставка успішна, жоден інший Mac не отримує сповіщення.
- Якщо активний Mac недоступний або основна доставка не вдалася, OpenClaw очікує п’ять
секунд і намагається доставити сповіщення кожному з решти під’єднаних Mac, які надають
system.notify. - Повторне сповіщення про підключення того самого вузла пригнічується протягом п’яти хвилин після фактичної спроби доставки, що запобігає шквалу сповіщень через нестабільні повторні підключення.
Усунення несправностей
Відомості про відновлення TCC див. у розділі Дозволи macOS. Відомості про
помилки підключення вузлів і виконання команд див. у розділі Усунення несправностей Node.