FC gateway-watchdog-lite
Самовосстанавливающийся сторожевой таймер шлюза OpenClaw (Lite). Используйте, когда: шлюз постоянно выходит из строя, требуется автоматическое восстановление, проблемы с надежностью шлюза. Устанавливает службу launchd (macOS) или systemd (Linux / VPS), которая проверяет шлюз каждые 2 минуты и автоматически восстанавливает его в случае сбоя. Отправляет уведомления Telegram об успешном восстановлении или сбое. Lite-версия — без обнаружения циклов сбоев.
машинный переводПоказать оригиналСкрыть оригинал«Self-healing OpenClaw gateway watchdog (Lite). Use when: gateway keeps…»
Self-healing OpenClaw gateway watchdog (Lite). Use when: gateway keeps crashing, auto-recovery needed, gateway reliability issues. Installs a launchd service (macOS) or systemd service (Linux / VPS) that probes the gateway every 2 minutes and auto-recovers it on failure. Sends Telegram alerts on recovery success or failure. Lite version — no crash loop detection.
Самовосстанавливающийся сторожевой таймер шлюза OpenClaw (Lite).
Как процесс C 51/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 13
-
высокая Опасные команды
cmd-persistenceREADME.md:101Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)rm ~/Library/LaunchAgents/ai.openclaw.gateway-watchdog.plist
-
высокая Опасные команды
cmd-persistencereferences/gotchas.md:56Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.gateway.plist
-
высокая Опасные команды
cmd-persistencereferences/gotchas.md:117Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.gateway-watchdog.plist
-
высокая Опасные команды
cmd-persistencescripts/gateway-watchdog.sh:68Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)launchctl bootstrap "gui/$UID" "$PLIST" 2>/dev/null
-
высокая Опасные команды
cmd-persistencescripts/install.sh:90Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)if launchctl bootstrap "gui/$UID" "$PLIST_PATH" 2>/dev/null; then
-
высокая Опасные команды
cmd-persistenceSKILL.md:112Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)rm ~/Library/LaunchAgents/ai.openclaw.gateway-watchdog.plist
Средние и низкие: 7
-
средняя Опасные команды
cmd-persistencereferences/gotchas.md:111Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)**Symptom:** `launchctl bootstrap` returns an error like `Load failed: 5: Input/output error` or `service already exists`.
в кавычках -
средняя Опасные команды
cmd-persistencescripts/gateway-watchdog.sh:13Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)PLIST="$HOME/Library/LaunchAgents/ai.openclaw.gateway.plist"
строка в коде -
средняя Опасные команды
cmd-persistencescripts/gateway-watchdog.sh:79Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)send_alert "🔴 Gateway auto-recovery FAILED. Manual restart needed: launchctl bootout gui/\$UID/ai.openclaw.gateway && sleep 2 && launchctl bootstrap gui/\$(id -u) ~/Library/LaunchAgents/ai.openclaw.g
строка в коде -
средняя Опасные команды
cmd-persistencescripts/install.sh:31Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)PLIST_PATH="$HOME/Library/LaunchAgents/ai.openclaw.gateway-watchdog.plist"
строка в коде -
средняя Опасные команды
cmd-persistencescripts/install.sh:98Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)echo "[FAIL] launchctl bootstrap failed — try: launchctl bootstrap gui/\$UID $PLIST_PATH"
строка в коде -
средняя Опасные команды
cmd-persistenceSKILL.md:20Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)- "~/Library/LaunchAgents/ai.openclaw.gateway-watchdog.plist (macOS)"
в кавычках -
средняя Опасные команды
cmd-persistenceSKILL.md:42Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строка таблицы в документации)| Auto-recovery | `launchctl bootout` + `launchctl bootstrap` (macOS) / `systemctl restart` (Linux) |
таблица
Просканировано файлов: 8. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
frontmatter-yamlSKILL.md: фронтматтер не разбирается как YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Self-healing OpenClaw gateway watchdog (Lite). Use when: gateway k… ^ ); поля прочитаны построчно. Обычная причина — двоеточие в незакавыченном значении
Процессный рейтинг: все десять параметров 51/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 55Ошибки и развилки. Развилок: 1
- 60Инструменты и файлы. Используются инструменты (bash), но во frontmatter они не объявлены
- 100Шаги. Шагов: 7
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 766 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -31 из 4 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 365 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 14 заголовков
- +3Пошаговые инструкции: 7 пунктов
- +4Есть примеры (10 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (1 из 1)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 75.