| name | agent-doctor |
| description | Самодиагностика и автолечение OpenClaw. Проверка gateway, WAL, памяти, кронов, токенов. Автоматическое исправление типичных проблем. |
🏥 Agent Doctor - Самодиагностика OpenClaw
Версия: 1.0.0 (Public Release)
Создано: 2026-03-06
Лицензия: MIT
Описание
Комплексная диагностика всех систем OpenClaw агента. Проверяет память, кроны, конфиг, файлы, gateway, систему и безопасность. Выявляет проблемы и предлагает конкретные решения.
ВАЖНО: Скилл ТОЛЬКО диагностирует. Изменения применяются ТОЛЬКО после вашего явного подтверждения.
Установка
- Скопируйте этот файл в
skills/agent-doctor/SKILL.md
- Агент автоматически подхватит скилл при следующем запуске
Триггеры
Когда говорить агенту для запуска:
- "продиагностируй себя"
- "самодиагностика"
- "проверь систему"
- "что с тобой не так"
- "диагностика агента"
- "self-check"
- "health check"
Как работает
Алгоритм
- Агент запускает проверку всех систем
- Собирает результаты по 7 категориям
- Формирует отчет с найденными проблемами
- Предлагает конкретные решения
- Применяет фиксы ТОЛЬКО после вашего "ок"
Что проверяется
🧠 Память
-
SQLite база данных
- Существует ли ~/.openclaw/memory/*.sqlite?
- Размер базы адекватный?
-
WAL mode (критично!)
- Проверка:
sqlite3 ~/.openclaw/memory/main.sqlite "PRAGMA journal_mode;"
- Должно быть:
wal (НЕ delete!)
- Почему важно: без WAL агент видит устаревшие данные
-
Количество записей
- Сколько чанков в базе?
- Есть ли записи из файлов (memory) и сессий (sessions)?
-
Конфиг memorySearch
- enabled = true?
- embeddingProvider настроен?
- similarityThreshold указан?
-
Embedding провайдер
- OpenAI / Gemini / Anthropic
- API ключ настроен?
-
Тестовый поиск
- memory_search возвращает результаты?
- Нет ошибок при запросе?
-
Файлы памяти
- MEMORY.md существует и не пустой?
- Структура папок: core/, decisions/, projects/
- Последний daily note (memory/YYYY-MM-DD.md) свежий?
⏰ Кроны
-
Список всех кронов
- Команда:
openclaw cron list
-
Статус кронов
- Есть ли отключенные (enabled: false)?
- Когда последний запуск?
-
Ошибки
- Падают ли кроны при запуске?
- Количество провалов (failureCount)
⚙️ Конфиг
-
Валидность openclaw.json
- Проверка:
jq empty ~/.openclaw/openclaw.json
- JSON корректный?
-
Модель
- defaultModel настроена?
- Провайдер доступен?
-
Каналы
- Telegram или Discord подключены?
-
Секция memorySearch
- Все нужные поля присутствуют?
-
Плагины
- memory-core включен?
- Критично: после обновления OpenClaw этот плагин может отключиться!
-
Auth profiles
- Какие провайдеры настроены?
- API ключи на месте?
📁 Файлы агента
-
Основные файлы
- SOUL.md / IDENTITY.md - существуют?
- AGENTS.md - есть?
- HEARTBEAT.md - есть?
- USER.md - есть?
-
Skills
- Сколько скиллов установлено?
- Все ли SKILL.md читаются?
🔧 Gateway
-
Статус
- Команда:
openclaw status
- Gateway запущен?
-
Аптайм
- Как давно работает без перезагрузки?
-
Ошибки в логах
- Последние 5 ошибок из ~/.openclaw/logs/gateway.log
-
Порт
- Порт свободен или занят другим процессом?
- По умолчанию: 3000
💾 Система
-
ОС
- macOS / Linux / Windows?
- Архитектура: x86_64 / arm64?
-
Node.js
- Версия >= 20.0.0?
- Команда:
node --version
-
Python
- Версия >= 3.11?
- Команда:
python3 --version
-
Свободное место
- Минимум 1GB рекомендуется
- Команда:
df -h ~
-
Версия OpenClaw
- Актуальная ли?
- Команда:
openclaw --version
🛡️ Безопасность
-
Gateway bind
- Значение: localhost / 127.0.0.1 (хорошо)
- Значение: 0.0.0.0 (опасно! доступ из интернета)
-
Auth mode
- token или stronger?
- Защита настроена?
-
API ключи
- Не лежат ли в открытом виде в файлах памяти?
- Проверка:
grep -r "sk-" memory/
Формат отчета
После проверки вы получите отчет в формате:
🏥 ДИАГНОСТИКА АГЕНТА - 2026-03-06 14:30
🧠 Память: ✅ OK / ⚠️ 2 проблемы / ❌ Не работает
⏰ Кроны: ✅ OK / ⚠️ 1 отключен
⚙️ Конфиг: ✅ OK / ⚠️ Неполный
📁 Файлы: ✅ OK / ❌ Нет SOUL.md
🔧 Gateway: ✅ OK / ⚠️ Ошибки в логах
💾 Система: ✅ OK / ⚠️ Мало места
🛡️ Безопасность: ✅ OK / ❌ Публичный доступ
━━━━━━━━━━━━━━━━━━━
📋 ДЕТАЛИ ПРОБЛЕМ:
1. ❌ WAL mode отключен
📝 Что не так: SQLite использует journal_mode=delete
💡 Решение: sqlite3 ~/.openclaw/memory/main.sqlite "PRAGMA journal_mode=WAL;"
⚡ Риск: низкий
2. ⚠️ Embedding провайдер не настроен
📝 Что не так: нет API ключа для embeddings
💡 Решение: openclaw auth add openai
⚡ Риск: низкий
━━━━━━━━━━━━━━━━━━━
Исправить проблемы? (да/нет)
Применение фиксов
Если агент нашел проблемы:
- Он спросит: "Исправить? (да/нет)"
- Вы можете сказать "да" (все фиксы) или указать номера: "1, 3"
- Агент объяснит что будет делать
- Предупредит о рисках
- Применит фикс ТОЛЬКО после вашего подтверждения
- Проверит результат
- Отчитается
Типовые проблемы и решения
❌ WAL mode отключен
Почему важно:
SQLite в режиме delete показывает устаревшие данные. Агент не видит новые записи в памяти.
Симптомы:
- "Не помню что мы обсуждали 5 минут назад"
- memory_search не находит свежие записи
Решение:
sqlite3 ~/.openclaw/memory/main.sqlite "PRAGMA journal_mode=WAL;"
Риск: Низкий. Это безопасная операция.
После: Перезапустить gateway
⚠️ memorySearch отключен
Симптомы:
- memory_search не работает
- Агент не использует долгосрочную память
Решение:
jq '.memorySearch.enabled = true' ~/.openclaw/openclaw.json > /tmp/config.json && mv /tmp/config.json ~/.openclaw/openclaw.json
Риск: Средний. Проверьте конфиг после изменения.
После: Перезапустить gateway
❌ Нет embedding провайдера
Симптомы:
- memorySearch включен, но не работает
- Ошибки "no embedding provider"
Решение:
OpenAI (рекомендуется):
openclaw auth add openai
Gemini:
openclaw auth add gemini
Риск: Низкий.
❌ memory-core плагин отключен
Почему возникает:
После обновления OpenClaw плагин может отключиться автоматически.
Симптомы:
- Память перестала работать после обновления
Решение:
jq '.plugins = [.plugins[] | if .name == "memory-core" then .enabled = true else . end]' ~/.openclaw/openclaw.json > /tmp/config.json && mv /tmp/config.json ~/.openclaw/openclaw.json
Риск: Средний. Проверьте конфиг.
После: Перезапустить gateway
⚠️ Старая версия Node.js
Требование: Node.js >= 20.0.0
Симптомы:
- Gateway не запускается
- Ошибки зависимостей
Решение:
macOS (Homebrew):
brew upgrade node
Linux (nvm):
nvm install 20
nvm use 20
Windows (nvm-windows):
nvm install 20
nvm use 20
Риск: Средний. Может потребовать переустановку OpenClaw.
⚠️ Диск заполнен
Симптомы:
- Ошибки записи
- Кроны не работают
- База данных не растет
Решение:
Очистить старые логи:
rm -rf ~/.openclaw/logs/*.log.old
Очистить кеш:
rm -rf ~/.openclaw/cache/*
Риск: Низкий. Логи и кеш можно удалять безопасно.
❌ Gateway доступен из интернета
Почему опасно:
Если bind = 0.0.0.0, ваш агент доступен из интернета. Любой может подключиться.
Решение:
jq '.gateway.bind = "127.0.0.1"' ~/.openclaw/openclaw.json > /tmp/config.json && mv /tmp/config.json ~/.openclaw/openclaw.json
Риск: Низкий. После изменения gateway будет доступен только с вашего компьютера.
После: Перезапустить gateway
⚠️ Кроны падают
Симптомы:
- failureCount > 0
- lastError не пустой
Что проверить:
- Модель для крона настроена? (должна быть full path, например
anthropic/claude-sonnet-4-6)
- API ключ провайдера на месте?
- Нет ли ошибок в логах крона?
Решение:
openclaw cron list
openclaw cron logs <cron-name>
Изучить ошибки и исправить причину.
Когда запускать диагностику
Рекомендуется:
- ✅ После обновления OpenClaw (обязательно!)
- ✅ При странном поведении агента
- ✅ Раз в неделю для профилактики
- ✅ После изменения конфига
- ✅ Если агент "забывает" недавние разговоры
- ✅ Перед важной работой (чтобы убедиться что все в порядке)
Важные команды
Перезапуск Gateway
НЕ делайте так из сессии агента:
openclaw gateway restart
Правильно:
macOS (launchd):
launchctl kickstart -k gui/$(id -u)/com.openclaw.gateway
Linux (systemd):
systemctl --user restart openclaw-gateway
Или вручную:
openclaw gateway stop
openclaw gateway start
Проверка конфига
jq empty ~/.openclaw/openclaw.json
jq '.memorySearch' ~/.openclaw/openclaw.json
jq '.memorySearch.enabled = true' ~/.openclaw/openclaw.json > /tmp/config.json && mv /tmp/config.json ~/.openclaw/openclaw.json
Проверка базы данных
ls -lh ~/.openclaw/memory/*.sqlite
sqlite3 ~/.openclaw/memory/main.sqlite "PRAGMA journal_mode;"
sqlite3 ~/.openclaw/memory/main.sqlite "SELECT COUNT(*) FROM memory_chunks;"
sqlite3 ~/.openclaw/memory/main.sqlite "SELECT source, COUNT(*) FROM memory_chunks GROUP BY source;"
Финальный чеклист
После диагностики убедитесь:
FAQ
Q: Можно ли запускать диагностику автоматически?
A: Да! Создайте крон который запускается раз в день:
openclaw cron add daily-health-check \
--schedule "0 8 * * *" \
--model "anthropic/claude-sonnet-4-6" \
--payload '{"kind":"agentTurn","message":"Запусти диагностику agent-doctor и отправь краткий отчет"}'
Q: Какие проблемы самые критичные?
A:
- WAL mode отключен - агент не видит новые записи
- memory-core отключен - память не работает вообще
- Gateway bind = 0.0.0.0 - опасность из интернета
Q: Агент может сломать систему при автофиксе?
A: Нет. Скилл применяет ТОЛЬКО безопасные операции и только после вашего подтверждения. Никаких rm -rf, никаких изменений без проверки.
Q: Как часто бывают проблемы после обновления?
A: Часто! Особенно с memory-core плагином (отключается) и WAL mode (сбрасывается). ВСЕГДА запускайте диагностику после обновления.
Q: Можно ли добавить свои проверки?
A: Да! Просто допишите в SKILL.md свои блоки проверок. Агент умный, поймет структуру.
Благодарности
Этот скилл создан на основе реальных проблем пользователей OpenClaw из:
- GitHub Issues
- Reddit /r/OpenClaw
- Discord сообщества
Лицензия
MIT License - свободно используйте, модифицируйте, распространяйте.
Поддержка
Если скилл помог - поделитесь в сообществе!
Если нашли баг или есть идея - откройте issue на GitHub.
Версия: 1.0.0
Дата: 2026-03-06
🏥 Здоровый агент - продуктивный агент!