WorkAI

Хуки

Хуки — действия, привязанные к событиям жизненного цикла агента: началу сессии, вызову инструмента, сжатию контекста. Список событий и где хранится конфиг.

Что это

Хук — это действие, которое WorkAI выполняет автоматически, когда в сессии происходит определённое событие: началась сессия, агент собирается вызвать инструмент, контекст сжимается. Вместо того чтобы каждый раз реагировать на такой момент вручную, вы один раз привязываете к нему действие — и дальше оно срабатывает само.

События

Ниже — события, на которые можно повесить хук. Набор зависит от формата конфигурационного файла.

СобытиеКогда срабатывает
SessionStartСессия чата началась
SessionEndСессия чата завершилась
UserPromptSubmitВы отправили сообщение агенту
PreToolUseПеред тем как агент вызовет инструмент
PostToolUseПосле того как инструмент отработал
PreCompactПеред сжатием контекста (см. Сжатие контекста)
SubagentStartЗапустился субагент
SubagentStopСубагент завершил работу
StopАгент закончил ход и вернул ответ

Что можно делать

Хук позволяет выполнить команду перед определённым действием агента или после него, а также получить уведомление о событии жизненного цикла сессии — не вмешиваясь в то, как модель формирует ответ.

Фильтра по инструменту в конфиге нет: хук на PreToolUse запускается перед каждым вызовом инструмента, а нужный инструмент скрипт выбирает сам по полю tool_name.

Как работает команда хука

WorkAI передаёт команде на вход (stdin) JSON с описанием события: hook_event_name, workspace_roots, conversation_id, cwd; для UserPromptSubmit — текст сообщения в prompt, для PreToolUse — tool_name и tool_input, для PostToolUse — tool_name и tool_output.

  • Запретить действие (PreToolUse, UserPromptSubmit) — выйти с кодом 2 или вывести {"permission": "deny", "user_message": "почему"}.
  • Разрешить — выйти с кодом 0 без вывода.
  • agent_message передаёт агенту заметку, updated_input подменяет аргументы инструмента, followup_message на Stop продолжает работу этим сообщением.
  • Любой другой код выхода или превышение таймаута (по умолчанию 30 секунд) — ошибка хука: действие не блокируется. Если хук служит предохранителем, включите настройку workai.hooks.failClosed — тогда сбой хука останавливает действие.

При первом запуске новой команды WorkAI спросит подтверждение; в недоверенной папке хуки не запускаются. Готовый хук по описанию словами собирает встроенная команда /create-hook.

Как настроить

Команда /hooks в чате открывает диалог настройки: он спрашивает, на какое событие реагировать и какую команду выполнить, и сохраняет результат в конфигурационный файл. Тот же мастер доступен из настроек WorkAI — пункт Хуки в списке разделов (он не открывает свой экран, а сразу вызывает этот диалог).

Где хранится конфиг

ПутьОбласть действия
.github/hooksПроект
.claude/settings.local.jsonПроект, локальный файл (не для git)
.claude/settings.jsonПроект
~/.copilot/hooksВсе проекты текущего пользователя
~/.claude/settings.jsonВсе проекты текущего пользователя

Дальше

  • Как WorkAI сжимает контекст и на каком событии срабатывает PreCompact — Сжатие контекста
  • Делегирование работы субагентам, чьи старт и завершение тоже видны хукам — Подагенты
  • Где ещё в настройках лежат смежные разделы — Настройки