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