Перейти к содержимому

Правила в контексте

Скилл устанавливается в проектную .agents/skills/knowledge-access/. Обработчики подключаются отдельно: они возвращают короткое ядро правил из .aikit/rules/core.md, не всю библиотеку. Исходник обработчика — TypeScript, поставляемый файл — .aikit/hooks/context.js.

Клиент Локальная конфигурация Событие
Codex .codex/hooks.json SessionStart: startup, resume, clear, compact, fork
Claude Code .claude/settings.json SessionStart, включая compact
Gemini CLI .gemini/settings.json BeforeAgent перед обработкой запроса пользователя

Установщик добавляет своё определение в существующий JSON. Команда содержит заключённый в кавычки абсолютный путь внутри текущего проекта, поэтому работает из вложенных папок. Перенос проекта требует повторной настройки подключения. Чужие поля и обработчики сохраняются. Изменение установленного блока или обработчика останавливает обновление и удаление.

В Codex требуется доверие к проекту и текущему определению хука. Откройте /hooks, просмотрите его и подтвердите доверие. Установщик не включает обход проверки доверия. Изменившееся определение может потребовать повторного просмотра. После compact Codex вызывает соответствующий SessionStart перед следующим запросом модели. См. официальную документацию Codex Hooks.

Для Claude Code используется контракт SessionStart, для Gemini CLI — контракт BeforeAgent. Поддержка зависит от установленной версии клиента. Автообнаружение проверяет наличие конфигурационной папки или исполняемого файла, а не запуск обработчика.

aikit status различает регистрацию и последнее событие emitted. Оно подтверждает только возврат текста обработчиком. Старое событие не доказывает выполнения хука в текущем чате или соблюдения правил моделью. doctor проверяет файлы, регистрацию и доступность копии базы; реальная сессия клиента проверяется отдельно.

При ошибке обработчик выдаёт явное сообщение, но реакция на ошибку зависит от клиента. Это средство передачи инструкций, не граница полномочий и не гарантия соблюдения правил.

Для других клиентов можно установить скилл без обработчиков через --agents none. Клиент должен поддерживать чтение .agents/skills/. Новые адаптеры подключаются отдельно.

Внешние веб-чаты используют постоянные инструкции своего проекта и доступный им MCP. Локальный обработчик не может заставить такой чат загрузить правила перед каждым запросом. В собственном приложении инструкции можно добавлять программно при формировании каждого запроса модели.