Для кого: creative ops и платформенные команды, которые крутят OpenClaw на удалённом Mac под автоматизацию выдачи экспорта дизайна: мониторинг папки вдруг «молчит», launchd перезапускает задачу «успешно», а задания в очередь не попадают. Что внутри: связка merge и горячей перезагрузки Gateway с долгоживущим демоном, ротация логов, из‑за которой кажется, что инструмент «флакает», и классифицированные повторы. Читайте по блокам: архитектура → системные журналы → пороги → FAQ; в конце — воспроизводимые шаги. Паттерны очереди и JSONL развиваются вместе с материалом «мониторинг PNG: повторы и архив логов»; установку узла зафиксируйте по «установке OpenClaw на поддерживаемых платформах».
Содержание
Почему merge, логи и watch ломаются одновременно
После «маленького» merge конфигурации, пока дизайнеры продолжают сохранять в inbox, всплывают три типичных режима:
- Расщепление после merge: Gateway подхватил новые Skills или путь к токенам при горячей перезагрузке, а plist launchd всё ещё отдаёт старый
PATHилиTOKEN_FILE— оболочка наблюдателя жива, а вызовы в шлюз отклоняются. - Тихая потеря телеметрии: агрессивная ротация логов или потолок размера
StandardOutPathобрезает строки, по которым вы доказывали срабатывание; дежурный решает, что «событий не было», хотя триггер прошёл. - Шторм повторов: без классификации сбоев автоматика крутит retry на ошибках Full Disk Access или песочницы, перегружая CPU и маскируя корневую проблему ACL.
| Симптом | Первая проверка | Вероятное исправление |
|---|---|---|
| Задания пропали после выката Gateway | sudo launchctl print gui/$(id -u)/<Label> — env против merge на диске |
Перезагрузить plist после merge; дренировать очередь до hot reload |
| В tail «дыры» посредине минуты | Байты stdout vs порог ротации | Разделить errors.jsonl и подробный stdout; расширить лимит |
| Watch «здоров», enqueue ноль | Правила ignore, временные расширения, дебаунс | Согласовать дебаунс с каденцией экспорта; проверить реальные пути |
Шлюз и архитектура задач наблюдения
В развёртываниях 2026 года удалённый Mac — это два согласованных плана: долгоживущий процесс Gateway, который умеет горячо перезагружать объединённую конфигурацию (allowlist инструментов, маршруты моделей, bind на localhost), и отдельная задача наблюдения, которая склеивает уведомления ФС в очередь single-flight. Правило merge: не перезагружать Gateway, пока экспорт переименовывает файл во inbox, если мьютекс не покрывает окно атомарного mv.
Связывайте watch с OpenClaw через тот же loopback URL и файл токенов, что ожидает шлюз. Порядок выката фиксируйте как диск → reload Gateway → вооружение наблюдателя. Для панели Skills и watchdog выдачи см. также «Skills UI и watchdog экспорта PNG».
Связь с системными журналами
Прикладной JSONL — источник правды по полям бизнеса (job_id, retry_class, skill_revision), а Unified Logging macOS объясняет рестарты, SIGKILL и отказы TCC, которые приложение не напечатало. На каждый инцидент снимайте оба потока: хвост JSONL в корне задачи и узкий log show --predicate по имени процесса или подсистеме в тот же срез UTC. Если метки расходятся, сначала выровняйте время — иначе расследование уедет через границы launchd.
Потребуйте, чтобы каждая строка JSONL несла trace_id, который после reload также виден в access-логах Gateway; если поле пропало после merge, сломана структурированная телеметрия, а не экспортёр.
launchd и пороги размера логов / ротация
launchd удобен для респавна демонов, но не ведёт мегабайтный stdout сам. Задайте явные StandardOutPath и StandardErrorPath под дерево logs/, затем политику ротации логов: флаги размера и числа копий в newsyslog.conf, либо таймированный LaunchAgent с gzip вчерашних файлов. На хостах экспорта Apple Silicon разумно: единичный stdout до порядка 50–200 МБ или суточный rollover — что наступит раньше, плюс отдельный узкий канал errors для tail в инциденте.
Если сжатие запускается в пик экспорта, tail теряет строки; тяжёлую архивацию смещайте на «тихие» часы или уводите отладочный шум с горячего пути. Версии Node и CLI в EnvironmentVariables plist должны совпадать с тем, что вы проверяли интерактивно по SSH — иначе merge «на бумаге» и фактический процесс разъедутся.
FAQ: нет событий, права, песочница
Мониторинг папки не даёт событий — с чего начать?
Убедитесь, что путь на локальном APFS, а не облачный placeholder; перечислите ignore для .tmp и частичных имён; сравните idle дебаунса (часто 30–60 с) со скоростью сохранений; пользователь launchd должен совпадать с тем, кто пишет по SMB/SFTP.
Permission denied при чтении — поможет ли retry?
Нет. Без исправления POSIX ACL, монтирования шары или Full Disk Access для бинарника воркера повтор бессмысленен — классифицируйте как политику/данные, уводите в quarantine и эскалируйте владельцу ресурса.
Песочница Shortcut или bundle vs хост?
Возможности отличаются от «голого» shell на хосте; не направляйте песочный читатель в защищённые ветки Library и держите least-privilege как в watchdog-гайдах.
Шаги оператора (merge → проверка → retry)
- Снимок до merge: plist, конфиг Gateway и хвост
errors.jsonlприложите к тикету. - Дренировать или поставить паузу очереди watch: флаг обслуживания, ожидание in-flight.
- Применить merge и reload Gateway: поддерживаемый путь hot reload для сборок 2026; health и заголовки версии на localhost.
- Перезагрузить задачу launchd:
launchctl bootout/bootstrapпо Label, сверка окружения черезlaunchctl print. - Контрольный экспорт: один заведомо корректный PNG, проверка enqueue в JSONL, затем снова непрерывный watch.
- Аудит ротации: после рестарта убедитесь, что при синтетическом всплеске stdout остаётся под выбранным потолком.
- Ориентиры: дебаунс простоя экспорта около 45 с; автоматические повторы только для транзиентов — до 5 попыток с джиттером; сжатый JSONL для аудита не меньше 7 суток, если политика не требует дольше.
- Цена неверного порядка merge: полуобновлённые Skills помечают валидные PNG как failed и забивают карантин ложными срабатываниями.
Когда ноутбук не засыпает и не греется под демоном, выделенный удалённый Mac держит стабильные пути к корням экспорта, OpenClaw и launchd — ровно то, на что рассчитан этот чеклист. Публичные страницы без входа: главная MacPng, аренда узла, тарифы, помощь по SSH/VNC. Другие runbook по OpenClaw — в разделе Технические идеи.