From 39b5d8fa9eb28a8b7c53af20a23186cbf236a304 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Fri, 24 Apr 2026 18:41:50 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/plugins/hooks.md | 150 +++++++++++++++++++++------------------ 1 file changed, 79 insertions(+), 71 deletions(-) diff --git a/docs/uk/plugins/hooks.md b/docs/uk/plugins/hooks.md index b2502ad5b..626ef03bb 100644 --- a/docs/uk/plugins/hooks.md +++ b/docs/uk/plugins/hooks.md @@ -1,30 +1,30 @@ --- read_when: - - Ви створюєте plugin, якому потрібні `before_tool_call`, `before_agent_reply`, хуки повідомлень або хуки життєвого циклу - - Вам потрібно блокувати, переписувати або вимагати схвалення для викликів інструментів із plugin - - 'Ви вирішуєте, що вибрати: внутрішні хуки чи хуки Plugin' -summary: 'Хуки Plugin: перехоплення подій життєвого циклу агента, інструмента, повідомлення, сесії та Gateway' + - Ви створюєте Plugin, якому потрібні `before_tool_call`, `before_agent_reply`, хуки повідомлень або хуки життєвого циклу + - Вам потрібно блокувати, переписувати або вимагати схвалення для викликів інструментів із Plugin + - 'Ви вирішуєте, що обрати: внутрішні хуки чи хуки Plugin' +summary: 'Хуки Plugin: перехоплюють події життєвого циклу агента, інструмента, повідомлення, сесії та Gateway' title: Хуки Plugin x-i18n: - generated_at: "2026-04-24T18:11:53Z" + generated_at: "2026-04-24T18:41:00Z" model: gpt-5.4 provider: openai - source_hash: 620f4a4c54c26efbab67b9e466624f8d72789937d7e056b88cdd00022b561943 + source_hash: 122060cc36dd0ef0be4dbc6bab629742142543ba718fccd7f5a75885e73d43e1 source_path: plugins/hooks.md workflow: 15 --- -Хуки Plugin — це точки розширення в межах процесу для plugin OpenClaw. Використовуйте їх, -коли plugin має перевіряти або змінювати запуски агента, виклики інструментів, потік повідомлень, -життєвий цикл сесії, маршрутизацію subagent, встановлення або запуск Gateway. +Хуки Plugin — це внутрішньопроцесні точки розширення для Plugin OpenClaw. Використовуйте їх, +коли Plugin має перевіряти або змінювати запуски агента, виклики інструментів, потік повідомлень, +життєвий цикл сесії, маршрутизацію субагентів, встановлення або запуск Gateway. Натомість використовуйте [внутрішні хуки](/uk/automation/hooks), коли вам потрібен невеликий -встановлюваний оператором скрипт `HOOK.md` для команд і подій Gateway, таких як +скрипт `HOOK.md`, встановлений оператором, для команд і подій Gateway, таких як `/new`, `/reset`, `/stop`, `agent:bootstrap` або `gateway:startup`. ## Швидкий старт -Зареєструйте типізовані хуки plugin за допомогою `api.on(...)` у точці входу вашого plugin: +Зареєструйте типізовані хуки Plugin за допомогою `api.on(...)` у точці входу вашого Plugin: ```typescript import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; @@ -56,58 +56,58 @@ export default definePluginEntry({ }); ``` -Обробники хуків виконуються послідовно у спадному порядку `priority`. Хуки +Обробники хуків виконуються послідовно у порядку спадання `priority`. Хуки з однаковим пріоритетом зберігають порядок реєстрації. ## Каталог хуків -Хуки згруповані за поверхнею, яку вони розширюють. Назви **жирним** приймають -результат рішення (блокування, скасування, перевизначення або вимогу схвалення); усі інші -лише для спостереження. +Хуки згруповано за поверхнею, яку вони розширюють. Назви, виділені **жирним**, приймають +результат рішення (block, cancel, override або require approval); усі інші є +лише спостережними. **Хід агента** -- `before_model_resolve` — перевизначити provider або модель до завантаження повідомлень сесії -- `before_prompt_build` — додати динамічний контекст або текст системного prompt перед викликом моделі -- `before_agent_start` — комбінована фаза лише для сумісності; натомість використовуйте два хуки вище -- **`before_agent_reply`** — замкнути хід моделі на синтетичній відповіді або тиші -- `agent_end` — спостерігати фінальні повідомлення, стан успіху та тривалість запуску +- `before_model_resolve` — перевизначає провайдера або модель до завантаження повідомлень сесії +- `before_prompt_build` — додає динамічний контекст або текст системного промпту перед викликом моделі +- `before_agent_start` — лише сумісний об’єднаний етап; натомість віддавайте перевагу двом хукам вище +- **`before_agent_reply`** — достроково завершує хід моделі синтетичною відповіддю або беззвучним режимом +- `agent_end` — спостерігає фінальні повідомлення, стан успіху та тривалість запуску **Спостереження за розмовою** -- `llm_input` — спостерігати вхід provider (системний prompt, prompt, історія) -- `llm_output` — спостерігати вихід provider +- `llm_input` — спостерігає вхідні дані провайдера (системний промпт, промпт, історія) +- `llm_output` — спостерігає вихідні дані провайдера **Інструменти** -- **`before_tool_call`** — переписати параметри інструмента, заблокувати виконання або вимагати схвалення -- `after_tool_call` — спостерігати результати інструмента, помилки та тривалість -- **`tool_result_persist`** — переписати повідомлення асистента, створене з результату інструмента -- **`before_message_write`** — перевірити або заблокувати запис повідомлення в процесі (рідко) +- **`before_tool_call`** — переписує параметри інструмента, блокує виконання або вимагає схвалення +- `after_tool_call` — спостерігає результати інструмента, помилки та тривалість +- **`tool_result_persist`** — переписує повідомлення асистента, створене з результату інструмента +- **`before_message_write`** — перевіряє або блокує запис повідомлення в процесі виконання (рідко) **Повідомлення та доставка** -- **`inbound_claim`** — взяти вхідне повідомлення до маршрутизації агента (синтетичні відповіді) -- `message_received` — спостерігати вхідний вміст, відправника, гілку та метадані -- **`message_sending`** — переписати вихідний вміст або скасувати доставку -- `message_sent` — спостерігати успіх або збій вихідної доставки -- **`before_dispatch`** — перевірити або переписати вихідне dispatch до передавання каналу -- **`reply_dispatch`** — брати участь у фінальному конвеєрі dispatch відповіді +- **`inbound_claim`** — перехоплює вхідне повідомлення до маршрутизації агента (синтетичні відповіді) +- `message_received` — спостерігає вхідний вміст, відправника, потік та метадані +- **`message_sending`** — переписує вихідний вміст або скасовує доставку +- `message_sent` — спостерігає успіх або збій вихідної доставки +- **`before_dispatch`** — перевіряє або переписує вихідну диспетчеризацію до передавання каналу +- **`reply_dispatch`** — бере участь у фінальному конвеєрі диспетчеризації відповіді **Сесії та Compaction** -- `session_start` / `session_end` — відстежувати межі життєвого циклу сесії -- `before_compaction` / `after_compaction` — спостерігати або анотувати цикли Compaction -- `before_reset` — спостерігати події скидання сесії (`/reset`, програмні скидання) +- `session_start` / `session_end` — відстежують межі життєвого циклу сесії +- `before_compaction` / `after_compaction` — спостерігають або анотують цикли Compaction +- `before_reset` — спостерігає події скидання сесії (`/reset`, програмні скидання) -**Subagent** +**Субагенти** -- `subagent_spawning` / `subagent_delivery_target` / `subagent_spawned` / `subagent_ended` — координувати маршрутизацію subagent і доставку після завершення +- `subagent_spawning` / `subagent_delivery_target` / `subagent_spawned` / `subagent_ended` — координують маршрутизацію субагентів і доставку завершення **Життєвий цикл** -- `gateway_start` / `gateway_stop` — запускати або зупиняти сервіси plugin, що належать Gateway -- **`before_install`** — перевіряти сканування встановлення skill або plugin і за потреби блокувати +- `gateway_start` / `gateway_stop` — запускають або зупиняють служби Plugin, що належать Gateway +- **`before_install`** — перевіряє сканування встановлення skill або Plugin і за потреби блокує ## Політика викликів інструментів @@ -143,30 +143,33 @@ type BeforeToolCallResult = { Правила: -- `block: true` є фінальним і пропускає обробники з нижчим пріоритетом. +- `block: true` є термінальним і пропускає обробники з нижчим пріоритетом. - `block: false` трактується як відсутність рішення. - `params` переписує параметри інструмента для виконання. -- `requireApproval` призупиняє запуск агента й запитує користувача через - схвалення plugin. Команда `/approve` може схвалювати як exec, так і схвалення plugin. -- `block: true` з нижчим пріоритетом усе ще може заблокувати після того, як хук з вищим пріоритетом +- `requireApproval` призупиняє запуск агента й запитує користувача через схвалення Plugin. + Команда `/approve` може схвалювати як exec, так і схвалення Plugin. +- `block: true` з нижчим пріоритетом усе ще може заблокувати виконання після того, як хук з вищим пріоритетом запросив схвалення. - `onResolution` отримує остаточне рішення щодо схвалення — `allow-once`, `allow-always`, `deny`, `timeout` або `cancelled`. -## Хуки prompt і моделі +## Хуки промптів і моделей -Для нових plugin використовуйте хуки, прив’язані до конкретної фази: +Для нових Plugin використовуйте хуки, специфічні для етапу: -- `before_model_resolve`: отримує лише поточний prompt і метадані - вкладень. Поверніть `providerOverride` або `modelOverride`. -- `before_prompt_build`: отримує поточний prompt і повідомлення сесії. - Поверніть `prependContext`, `systemPrompt`, `prependSystemContext` або +- `before_model_resolve`: отримує лише поточний промпт і метадані вкладень. + Повертає `providerOverride` або `modelOverride`. +- `before_prompt_build`: отримує поточний промпт і повідомлення сесії. + Повертає `prependContext`, `systemPrompt`, `prependSystemContext` або `appendSystemContext`. -`before_agent_start` залишається для сумісності. Надавайте перевагу явним хукам вище, -щоб ваш plugin не залежав від застарілої комбінованої фази. +`before_agent_start` лишається для сумісності. Віддавайте перевагу явним хукам вище, +щоб ваш Plugin не залежав від застарілого об’єднаного етапу. -Plugin, що не входять до комплекту, і яким потрібні `llm_input`, `llm_output` або `agent_end`, мають задати: +`before_agent_start` і `agent_end` містять `event.runId`, коли OpenClaw може +визначити активний запуск. Це саме значення також доступне в `ctx.runId`. + +Сторонні Plugin, яким потрібні `llm_input`, `llm_output` або `agent_end`, мають установити: ```json { @@ -182,49 +185,54 @@ Plugin, що не входять до комплекту, і яким потрі } ``` -Хуки, що змінюють prompt, можна вимкнути для окремого plugin через +Хуки, що змінюють промпт, можна вимкнути для окремого Plugin через `plugins.entries..hooks.allowPromptInjection=false`. ## Хуки повідомлень -Використовуйте хуки повідомлень для політики маршрутизації та доставки на рівні каналу: +Використовуйте хуки повідомлень для маршрутизації на рівні каналу та політики доставки: -- `message_received`: спостерігати вхідний вміст, відправника, `threadId` і метадані. -- `message_sending`: переписати `content` або повернути `{ cancel: true }`. -- `message_sent`: спостерігати фінальний успіх або збій. +- `message_received`: спостерігає вхідний вміст, відправника, `threadId`, `messageId`, + `senderId`, необов’язкову кореляцію запуску/сесії та метадані. +- `message_sending`: переписує `content` або повертає `{ cancel: true }`. +- `message_sent`: спостерігає фінальний успіх або збій. -Надавайте перевагу типізованим полям `threadId` і `replyToId`, перш ніж використовувати метадані, -специфічні для каналу. +Контексти хуків повідомлень надають стабільні поля кореляції, коли вони доступні: +`ctx.sessionKey`, `ctx.runId`, `ctx.messageId`, `ctx.senderId`, `ctx.trace`, +`ctx.traceId`, `ctx.spanId`, `ctx.parentSpanId` і `ctx.callDepth`. Віддавайте перевагу +цим першокласним полям, перш ніж звертатися до застарілих метаданих. + +Віддавайте перевагу типізованим полям `threadId` і `replyToId`, перш ніж використовувати +метадані, специфічні для каналу. Правила рішень: -- `message_sending` з `cancel: true` є фінальним. -- `message_sending` з `cancel: false` трактується як відсутність рішення. -- Переписаний `content` передається хукам з нижчим пріоритетом, якщо пізніший хук - не скасує доставку. +- `message_sending` із `cancel: true` є термінальним. +- `message_sending` із `cancel: false` трактується як відсутність рішення. +- Переписаний `content` передається хукам із нижчим пріоритетом, якщо пізніший хук + не скасовує доставку. ## Хуки встановлення -`before_install` запускається після вбудованого сканування встановлень skill і plugin. +`before_install` виконується після вбудованого сканування встановлень skill і Plugin. Поверніть додаткові результати або `{ block: true, blockReason }`, щоб зупинити встановлення. -`block: true` є фінальним. `block: false` трактується як відсутність рішення. +`block: true` є термінальним. `block: false` трактується як відсутність рішення. ## Життєвий цикл Gateway -Використовуйте `gateway_start` для сервісів plugin, яким потрібен стан, що належить Gateway. Контекст -надає `ctx.config`, `ctx.workspaceDir` і `ctx.getCron?.()` для +Використовуйте `gateway_start` для служб Plugin, яким потрібен стан, що належить Gateway. +Контекст надає `ctx.config`, `ctx.workspaceDir` і `ctx.getCron?.()` для перевірки та оновлення Cron. Використовуйте `gateway_stop` для очищення довготривалих ресурсів. -Не покладайтеся на внутрішній хук `gateway:startup` для сервісів часу виконання, -що належать plugin. +Не покладайтеся на внутрішній хук `gateway:startup` для служб часу виконання, що належать Plugin. ## Пов’язане -- [Створення plugin](/uk/plugins/building-plugins) +- [Створення Plugin](/uk/plugins/building-plugins) - [Огляд Plugin SDK](/uk/plugins/sdk-overview) - [Точки входу Plugin](/uk/plugins/sdk-entrypoints) - [Внутрішні хуки](/uk/automation/hooks) -- [Внутрішня архітектура plugin](/uk/plugins/architecture-internals) +- [Внутрішня архітектура Plugin](/uk/plugins/architecture-internals)