Skip to content

Хуки

Запускайте свои скрипты до или после действий Agent Nine.

Настройка

Создайте файл .agent-nine/hooks.json в проекте:

json
{
  "hooks": [
    {
      "event": "pre_tool_use",
      "match": { "tool_name": "bash" },
      "command": "echo 'Сейчас будет выполнена bash-команда'",
      "timeout_ms": 5000
    },
    {
      "event": "post_tool_use",
      "match": { "tool_name": "edit_file" },
      "command": "npx prettier --write $FILE_PATH",
      "timeout_ms": 10000
    },
    {
      "event": "session_start",
      "command": "echo 'Сессия началась $(date)' >> .agent-nine/log.txt"
    }
  ]
}

События хуков

СобытиеКогда срабатывает
pre_tool_useПеред выполнением любого инструмента
post_tool_useПосле завершения инструмента
session_startПри начале новой сессии
session_endПри закрытии сессии

Фильтры

Хуки с match срабатывают только при совпадении фильтра:

json
{
  "match": {
    "tool_name": "bash",
    "pattern": "npm *"
  }
}

Контекст

Хук-команды получают JSON-контекст через stdin:

json
{
  "event": "pre_tool_use",
  "tool_name": "bash",
  "tool_input": { "command": "npm test" },
  "session_id": "abc-123"
}

Таймауты

  • По умолчанию: 60 секунд
  • Максимум: 10 минут
  • Если хук не успевает, он завершается принудительно, и выполнение инструмента продолжается

Agent Nine — AI coding assistant