BF dyagil-services-watchdog
Настройка сторожевого таймера на основе systemd, который поддерживает работу долгоживущих Node.js сервисов (Telegram-боты, панели Express и т. д.) после выхода из оболочки, отключения SSH, перезапуска среды выполнения агента и перезагрузки сервера. Используйте всякий раз, когда пользователь сообщает «бот снова умер», «сервис недоступен после перезагрузки» или после любого события, которое могло привести к сбою дочерних процессов. Предоставляет пользовательский таймер systemd на 2 минуты, который обнаруживает и автоматически перезапускает сервисы с правильно загруженными `.env`.
машинный переводПоказать оригиналСкрыть оригинал«Set up a systemd-based watchdog that keeps long-running Node.js servic…»
Set up a systemd-based watchdog that keeps long-running Node.js services (Telegram bots, Express dashboards, etc.) alive across shell exits, ssh disconnects, agent-runtime restarts, and server reboots. Use whenever the user reports "the bot died again", "service is down after restart", or after any event that may have killed child processes. Provides a 2-minute user-systemd timer that detects and auto-restarts services with their `.env` correctly loaded.
Настройка сторожевого таймера на основе systemd, который поддерживает работу долгоживущих Node.js сервисов (Telegram-боты, панели Express и т. д.) после…
Как процесс F 42/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: scripts/sahi-watchdog.service, scripts/sahi-watchdog.timer
Как улучшить
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 11
✓ Критических и высоких находок нет
Средние и низкие: 11
-
низкая Утечка данных
exfil-webhook-urlscripts/services-watchdog.sh:35URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)curl -s --max-time 10 -X POST "https://api.telegram.org/bot${token}/sendMessage" \заглушка -
низкая Утечка данных
net-credential-usescripts/services-watchdog.sh:35Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl -s --max-time 10 -X POST "https://api.telegram.org/bot${token}/sendMessage" \vendor-host -
низкая Опасные команды
cmd-background-processscripts/services-watchdog.sh:50Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)bash -c 'cd '"$WORKSPACE"'/projects/sahi-diet && set -a && [ -f .env ] && . ./.env; set +a; exec nohup node src/bot.js >> logs/bot.log 2>&1 < /dev/null' &
в кавычках -
низкая Опасные команды
cmd-background-processscripts/services-watchdog.sh:51Запуск фонового / автозапускаемого процессаdisown 2>/dev/null || true
-
низкая Опасные команды
cmd-background-processscripts/services-watchdog.sh:64Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)bash -c 'cd '"$WORKSPACE"'/projects/sahi-mind && set -a && [ -f .env ] && . ./.env; set +a; exec nohup node src/index.js >> logs/mind.log 2>&1 < /dev/null' &
в кавычках -
низкая Опасные команды
cmd-background-processscripts/services-watchdog.sh:65Запуск фонового / автозапускаемого процессаdisown 2>/dev/null || true
-
низкая Опасные команды
cmd-background-processscripts/services-watchdog.sh:83Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)bash -c 'cd '"$WORKSPACE"'/projects/mission-control && set -a && [ -f .env ] && . ./.env; set +a; exec nohup node server.js >> logs/mc.log 2>&1 < /dev/null' &
в кавычках -
низкая Опасные команды
cmd-background-processskill-card.md:25Запуск фонового / автозапускаемого процессаMitigation: Create and review the user service and timer unit files yourself before running systemctl enable or start commands. <br>
-
низкая Опасные команды
cmd-background-processSKILL.md:13Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)Long-running Node services launched from a parent shell (or as children of an agent runtime) die when the parent exits. Runtime restarts are especially aggressive — they tend to take down everything t
в кавычках -
низкая Опасные команды
cmd-background-processSKILL.md:91Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)bash -c 'cd '"$WORKSPACE"'/projects/myservice && set -a && [ -f .env ] && . ./.env; set +a && exec nohup node src/index.js >> logs/svc.log 2>&1 < /dev/null' &
в кавычках -
низкая Опасные команды
cmd-background-processSKILL.md:92Запуск фонового / автозапускаемого процессаdisown 2>/dev/null || true
Просканировано файлов: 3. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
missing-refссылка на отсутствующий файл: scripts/sahi-watchdog.service - предупреждение
missing-refссылка на отсутствующий файл: scripts/sahi-watchdog.timer
Процессный рейтинг: все десять параметров 42/100
- 0Инструменты и файлы. Не хватает 2 файла(ов): scripts/sahi-watchdog.service, scripts/sahi-watchdog.timer
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 100Шаги. Шагов: 10
- 100Когда включается. Сказано, когда применять и когда не применять
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1139 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +5В description 2 примера фраз-триггеров в кавычках
- +3Длина description 458 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 9 заголовков
- +3Пошаговые инструкции: 10 пунктов
- +4Есть примеры (5 блоков кода)
- +3Все 1 скриптов описаны в инструкциях
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 84.