Самодиагностика и автолечение OpenClaw. Проверка gateway, WAL, памяти, кронов, токенов. Автоматическое исправление типичных проблем.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add sinclarespeaking143/openclaw-superagent --skill agent-doctor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Agent Doctor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sinclarespeaking143-agent-doctor)More formats (shields.io, HTML) on the badges page.
---
name: agent-doctor
description: "Самодиагностика и автолечение OpenClaw. Проверка gateway, WAL, памяти, кронов, токенов. Автоматическое исправление типичных проблем."
---
# 🏥 Agent Doctor - Самодиагностика OpenClaw
**Версия:** 1.0.0 (Public Release)
**Создано:** 2026-03-06
**Лицензия:** MIT
## Описание
Комплексная диагностика всех систем OpenClaw агента. Проверяет память, кроны, конфиг, файлы, gateway, систему и безопасность. Выявляет проблемы и предлагает конкретные решения.
**ВАЖНО:** Скилл ТОЛЬКО диагностирует. Изменения применяются ТОЛЬКО после вашего явного подтверждения.
## Установка
1. Скопируйте этот файл в `skills/agent-doctor/SKILL.md`
2. Агент автоматически подхватит скилл при следующем запуске
## Триггеры
Когда говорить агенту для запуска:
- "продиагностируй себя"
- "самодиагностика"
- "проверь систему"
- "что с тобой не так"
- "диагностика агента"
- "self-check"
- "health check"
## Как работает
### Алгоритм
1. Агент запускает проверку всех систем
2. Собирает результаты по 7 категориям
3. Формирует отчет с найденными проблемами
4. Предлагает конкретные решения
5. Применяет фиксы ТОЛЬКО после вашего "ок"
### Что проверяется
#### 🧠 Память
1. **SQLite база данных**
- Существует ли ~/.openclaw/memory/*.sqlite?
- Размер базы адекватный?
2. **WAL mode** (критично!)
- Проверка: `sqlite3 ~/.openclaw/memory/main.sqlite "PRAGMA journal_mode;"`
- Должно быть: `wal` (НЕ `delete`!)
- Почему важно: без WAL агент видит устаревшие данные
3. **Количество записей**
- Сколько чанков в базе?
- Есть ли записи из файлов (memory) и сессий (sessions)?
4. **Конфиг memorySearch**
- enabled = true?
- embeddingProvider настроен?
- similarityThreshold указан?
5. **Embedding провайдер**
- OpenAI / Gemini / Anthropic
- API ключ настроен?
6. **Тестовый поиск**
- memory_search возвращает результаты?
- Нет ошибок при запросе?
7. **Файлы памяти**
- MEMORY.md существует и не пустой?
- Структура папок: core/, decisions/, projects/
- Последний daily note (memory/YYYY-MM-DD.md) свежий?
#### ⏰ Кроны
1. **Список всех кронов**
- Команда: `openclaw cron list`
2. **Статус кронов**
- Есть ли отключенные (enabled: false)?
- Когда последний запуск?
3. **Ошибки**
- Падают ли кроны при запуске?
- Количество провалов (failureCount)
#### ⚙️ Конфиг
1. **Валидность openclaw.json**
- Проверка: `jq empty ~/.openclaw/openclaw.json`
- JSON корректный?
2. **Модель**
- defaultModel настроена?
- Провайдер доступен?
3. **Каналы**
- Telegram или Discord подключены?
4. **Секция memorySearch**
- Все нужные поля присутствуют?
5. **Плагины**
- memory-core включен?
- Критично: после обновления OpenClaw этот плагин может отключиться!
6. **Auth profiles**
- Какие провайдеры настроены?
- API ключи на месте?
#### 📁 Файлы агента
1. **Основные файлы**
- SOUL.md / IDENTITY.md - существуют?
- AGENTS.md - есть?
- HEARTBEAT.md - есть?
- USER.md - есть?
2. **Skills**
- Сколько скиллов установлено?
- Все ли SKILL.md читаются?
#### 🔧 Gateway
1. **Статус**
- Команда: `openclaw status`
- Gateway запущен?
2. **Аптайм**
- Как давно работает без перезагрузки?
3. **Ошибки в логах**
- Последние 5 ошибок из ~/.openclaw/logs/gateway.log
4. **Порт**
- Порт свободен или занят другим процессом?
- По умолчанию: 3000
#### 💾 Система
1. **ОС**
- macOS / Linux / Windows?
- Архитектура: x86_64 / arm64?
2. **Node.js**
- Версия >= 20.0.0?
- Команда: `node --version`
3. **Python**
- Версия >= 3.11?
- Команда: `python3 --version`
4. **Свободное место**
- Минимум 1GB рекомендуется
- Команда: `df -h ~`
5. **Версия OpenClaw**
- Актуальная ли?
- Команда: `openclaw --version`
#### 🛡️ Безопасность
1. **Gateway bind**
- Значение: localhost / 127.0.0.1 (хорошо)
- Значение: 0.0.0.0 (опасно! доступ из интернета)
2. **Auth mode**
- token или stronger?
- Защита настроена?
3. **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. Он спросит: "Исправить? (да/нет)"
2. Вы можете сказать "да" (все фиксы) или указать номера: "1, 3"
3. Агент объяснит что будет делать
4. Предупредит о рисках
5. Применит фикс ТОЛЬКО после вашего подтверждения
6. Проверит результат
7. Отчитается
## Типовые проблемы и решения
### ❌ WAL mode отключен
**Почему важно:**
SQLite в режиме `delete` показывает устаревшие данные. Агент не видит новые записи в памяти.
**Симптомы:**
- "Не помню что мы обсуждали 5 минут назад"
- memory_search не находит свежие записи
**Решение:**
```bash
sqlite3 ~/.openclaw/memory/main.sqlite "PRAGMA journal_mode=WAL;"
```
**Риск:** Низкий. Это безопасная операция.
**После:** Перезапустить gateway
---
### ⚠️ memorySearch отключен
**Симптомы:**
- memory_search не работает
- Агент не использует долгосрочную память
**Решение:**
```bash
jq '.memorySearch.enabled = true' ~/.openclaw/openclaw.json > /tmp/config.json && mv /tmp/config.json ~/.openclaw/openclaw.json
```
**Риск:** Средний. Проверьте конфиг после изменения.
**После:** Перезапустить gateway
---
### ❌ Нет embedding провайдера
**Симптомы:**
- memorySearch включен, но не работает
- Ошибки "no embedding provider"
**Решение:**
OpenAI (рекомендуется):
```bash
openclaw auth add openai
```
Gemini:
```bash
openclaw auth add gemini
```
**Риск:** Низкий.
---
### ❌ memory-core плагин отключен
**Почему возникает:**
После обновления OpenClaw плагин может отключиться автоматически.
**Симптомы:**
- Память перестала работать после обновления
**Решение:**
```bash
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):
```bash
brew upgrade node
```
Linux (nvm):
```bash
nvm install 20
nvm use 20
```
Windows (nvm-windows):
```
nvm install 20
nvm use 20
```
**Риск:** Средний. Может потребовать переустановку OpenClaw.
---
### ⚠️ Диск заполнен
**Симптомы:**
- Ошибки записи
- Кроны не работают
- База данных не растет
**Решение:**
Очистить старые логи:
```bash
rm -rf ~/.openclaw/logs/*.log.old
```
Очистить кеш:
```bash
rm -rf ~/.openclaw/cache/*
```
**Риск:** Низкий. Логи и кеш можно удалять безопасно.
---
### ❌ Gateway доступен из интернета
**Почему опасно:**
Если bind = 0.0.0.0, ваш агент доступен из интернета. Любой может подключиться.
**Решение:**
```bash
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 не пустой
**Что проверить:**
1. Модель для крона настроена? (должна быть full path, например `anthropic/claude-sonnet-4-6`)
2. API ключ провайдера на месте?
3. Нет ли ошибок в логах крона?
**Решение:**
```bash
openclaw cron list
openclaw cron logs <cron-name>
```
Изучить ошибки и исправить причину.
---
## Когда запускать диагностику
Рекомендуется:
- ✅ После обновления OpenClaw (обязательно!)
- ✅ При странном поведении агента
- ✅ Раз в неделю для профилактики
- ✅ После изменения конфига
- ✅ Если агент "забывает" недавние разговоры
- ✅ Перед важной работой (чтобы убедиться что все в порядке)
## Важные команды
### Перезапуск Gateway
**НЕ делайте так из сессии агента:**
```bash
openclaw gateway restart # Убьет вашу сессию!
```
**Правильно:**
macOS (launchd):
```bash
launchctl kickstart -k gui/$(id -u)/com.openclaw.gateway
```
Linux (systemd):
```bash
systemctl --user restart openclaw-gateway
```
Или вручную:
```bash
openclaw gateway stop
openclaw gateway start
```
### Проверка конфига
```bash
# Валидность JSON
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
```
### Проверка базы данных
```bash
# Размер
ls -lh ~/.openclaw/memory/*.sqlite
# WAL mode
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;"
```
## Финальный чеклист
После диагностики убедитесь:
- [ ] WAL mode = `wal` (НЕ `delete`!)
- [ ] memorySearch.enabled = true
- [ ] Embedding provider настроен (OpenAI/Gemini)
- [ ] API ключ провайдера на месте
- [ ] memory-core plugin включен
- [ ] Основные файлы существуют (SOUL.md, IDENTITY.md и т.д.)
- [ ] Gateway работает (openclaw status)
- [ ] Кроны не падают (failureCount = 0)
- [ ] Gateway bind НЕ 0.0.0.0
- [ ] Node.js >= 20
- [ ] Свободное место > 1GB
## FAQ
**Q: Можно ли запускать диагностику автоматически?**
A: Да! Создайте крон который запускается раз в день:
```bash
openclaw cron add daily-health-check \
--schedule "0 8 * * *" \
--model "anthropic/claude-sonnet-4-6" \
--payload '{"kind":"agentTurn","message":"Запусти диагностику agent-doctor и отправь краткий отчет"}'
```
**Q: Какие проблемы самые критичные?**
A:
1. WAL mode отключен - агент не видит новые записи
2. memory-core отключен - память не работает вообще
3. 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
🏥 Здоровый агент - продуктивный агент!
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!