Мульти-агент
Presence
«Presence» в OpenClaw — это облегчённое, ориентированное на максимальную доступность представление о:
- самом Gateway, и
- клиентах, подключённых к Gateway (mac app, WebChat, CLI и т.д.)
Presence используется в первую очередь для отображения вкладки Instances в приложении для macOS и для быстрого обзора оператором.
Поля presence (что отображается)
Записи presence — это структурированные объекты с полями, такими как:
instanceId(опционально, но настоятельно рекомендуется): стабильный идентификатор клиента (обычноconnect.client.instanceId)host: понятное человеку имя хостаip: определённый по возможности IP-адресversion: строка версии клиентаdeviceFamily/modelIdentifier: указания на оборудованиеmode:ui,webchat,cli,backend,probe,test,node, …lastInputSeconds: «секунд с последнего ввода пользователя» (если известно)reason:self,connect,node-connected,periodic, …ts: временная метка последнего обновления (мс с эпохи)
Источники (откуда берётся presence)
Записи presence создаются несколькими источниками и объединяются.
1) Собственная запись Gateway
Gateway всегда создаёт запись «self» при запуске, чтобы интерфейсы отображали хост шлюза ещё до подключения каких-либо клиентов.
2) Подключение по WebSocket
Каждый WS-клиент начинает с запроса connect. При успешном рукопожатии Gateway добавляет или обновляет запись presence для этого соединения.
Почему одноразовые команды CLI не отображаются
CLI часто подключается для коротких одноразовых команд. Чтобы не засорять список Instances, client.mode === "cli" не превращается в запись presence.
3) Сигналы system-event
Клиенты могут отправлять более подробные периодические сигналы через метод system-event. Приложение для macOS использует это для передачи имени хоста, IP и lastInputSeconds.