openclaw hooks

Управление хуками агентов (автоматизация, управляемая событиями, для команд типа /new, /reset и запуска шлюза).

Связанные разделы:

Список всех хуков

openclaw hooks list

Перечислить все обнаруженные хуки из рабочего пространства, управляемых и встроенных директорий.

Опции:

  • --eligible: Показать только подходящие хуки (требования выполнены)
  • --json: Вывод в формате JSON
  • -v, --verbose: Показать подробную информацию включая отсутствующие требования

Пример вывода:

Hooks (4/4 ready)

Ready:
  🚀 boot-md ✓ - Run BOOT.md on gateway startup
  📝 command-logger ✓ - Log all command events to a centralized audit file
  💾 session-memory ✓ - Save session context to memory when /new command is issued
  😈 soul-evil ✓ - Swap injected SOUL content during a purge window or by random chance

Пример (подробно):

openclaw hooks list --verbose

Показывает отсутствующие требования для неподходящих хуков.

Пример (JSON):

openclaw hooks list --json

Возвращает структурированный JSON для программного использования.

Получить информацию о хуке

openclaw hooks info <name>

Показать подробную информацию о конкретном хуке.

Аргументы:

  • <name>: Имя хука (например, session-memory)

Опции:

  • --json: Вывод в формате JSON

Пример:

openclaw hooks info session-memory

Вывод:

💾 session-memory ✓ Ready

Save session context to memory when /new command is issued

Details:
  Source: openclaw-bundled
  Path: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md
  Handler: /path/to/openclaw/hooks/bundled/session-memory/handler.ts
  Homepage: https://docs.openclaw.ai/hooks#session-memory
  Events: command:new

Requirements:
  Config: ✓ workspace.dir

Проверить подходящесть хуков

openclaw hooks check

Показать сводку статуса подходящести хуков (сколько готово vs не готово).

Опции:

  • --json: Вывод в формате JSON

Пример вывода:

Hooks Status

Total hooks: 4
Ready: 4
Not ready: 0

Включить хук

openclaw hooks enable <name>

Включить конкретный хук, добавив его в вашу конфигурацию (~/.openclaw/config.json).

Примечание: Хуки, управляемые плагинами, показывают plugin:<id> в openclaw hooks list и не могут быть включены/отключены здесь. Включите/отключите плагин вместо этого.

Аргументы:

  • <name>: Имя хука (например, session-memory)

Пример:

openclaw hooks enable session-memory

Вывод:

✓ Enabled hook: 💾 session-memory

Что это делает:

  • Проверяет существование и подходящесть хука
  • Обновляет hooks.internal.entries.<name>.enabled = true в вашей конфигурации
  • Сохраняет конфигурацию на диск

После включения:

  • Перезапустите шлюз, чтобы хуки перезагрузились (перезапуск приложения в строке меню на macOS, или перезапуск процесса шлюза в разработке).

Отключить хук

openclaw hooks disable <name>

Отключить конкретный хук, обновив вашу конфигурацию.

Аргументы:

  • <name>: Имя хука (например, command-logger)

Пример:

openclaw hooks disable command-logger

Вывод:

⏸ Disabled hook: 📝 command-logger

После отключения:

  • Перезапустите шлюз, чтобы хуки перезагрузились

Установить хуки

openclaw hooks install <path-or-spec>

Установить пакет хуков из локальной папки/архива или npm.

Что это делает:

  • Копирует пакет хуков в ~/.openclaw/hooks/<id>
  • Включает установленные хуки в hooks.internal.entries.*
  • Записывает установку в hooks.internal.installs

Опции:

  • -l, --link: Создать ссылку на локальную директорию вместо копирования (добавляет её в hooks.internal.load.extraDirs)

Поддерживаемые архивы: .zip, .tgz, .tar.gz, .tar

Примеры:

# Локальная директория
openclaw hooks install ./my-hook-pack

# Локальный архив
openclaw hooks install ./my-hook-pack.zip

# NPM пакет
openclaw hooks install @openclaw/my-hook-pack

# Ссылка на локальную директорию без копирования
openclaw hooks install -l ./my-hook-pack

Обновить хуки

openclaw hooks update <id>
openclaw hooks update --all

Обновить установленные пакеты хуков (только установки npm).

Опции:

  • --all: Обновить все отслеживаемые пакеты хуков
  • --dry-run: Показать что изменится без записи

Встроенные хуки

session-memory

Сохраняет контекст сессии в память, когда вы выполняете /new.

Включить:

openclaw hooks enable session-memory

Вывод: ~/.openclaw/workspace/memory/YYYY-MM-DD-slug.md

См.: документация session-memory

command-logger

Логирует все события команд в централизованный файл аудита.

Включить:

openclaw hooks enable command-logger

Вывод: ~/.openclaw/logs/commands.log

Просмотр логов:

# Последние команды
tail -n 20 ~/.openclaw/logs/commands.log

# Красивый вывод
cat ~/.openclaw/logs/commands.log | jq .

# Фильтр по действию
grep '"action":"new"' ~/.openclaw/logs/commands.log | jq .

См.: документация command-logger

soul-evil

Заменяет инжектированный контент SOUL.md на SOUL_EVIL.md во время окна очистки или случайно.

Включить:

openclaw hooks enable soul-evil

См.: SOUL Evil Hook

boot-md

Запускает BOOT.md при запуске шлюза (после запуска каналов).

События: gateway:startup

Включить:

openclaw hooks enable boot-md

См.: документация boot-md