From 7fff5d0e6e350562246908ed7882ecad71d7c2fa Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Wed, 29 Apr 2026 13:07:48 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/plugins/sdk-runtime.md | 140 ++++++++++++++++++--------------- 1 file changed, 78 insertions(+), 62 deletions(-) diff --git a/docs/uk/plugins/sdk-runtime.md b/docs/uk/plugins/sdk-runtime.md index 70ce72fdd..fa9479b2d 100644 --- a/docs/uk/plugins/sdk-runtime.md +++ b/docs/uk/plugins/sdk-runtime.md @@ -1,28 +1,28 @@ --- read_when: - - Потрібно викликати допоміжні функції ядра з Plugin (TTS, STT, генерація зображень, вебпошук, субагент, вузли) + - Вам потрібно викликати допоміжні функції ядра з Plugin (TTS, STT, генерація зображень, вебпошук, субагент, вузли) - Ви хочете зрозуміти, що надає api.runtime - - Ви звертаєтеся до допоміжних засобів конфігурації, агента або медіа з коду Plugin + - Ви звертаєтеся до допоміжних функцій конфігурації, агента або медіа з коду Plugin sidebarTitle: Runtime helpers -summary: api.runtime -- впроваджені допоміжні засоби середовища виконання, доступні для плагінів +summary: api.runtime -- інʼєктовані допоміжні засоби runtime, доступні для Plugin title: Допоміжні засоби середовища виконання Plugin x-i18n: - generated_at: "2026-04-28T11:20:50Z" + generated_at: "2026-04-29T13:06:22Z" model: gpt-5.5 provider: openai - source_hash: d332e9ab4a163a55b7edaefc420d845cfda8486646e13a758ec3133097c17be1 + source_hash: 399e2433e272fe30e7451690a64826df8e30a064269b8d9a7aa2dd2b0c5688b8 source_path: plugins/sdk-runtime.md workflow: 16 --- -Довідник для об’єкта `api.runtime`, який вводиться в кожен плагін під час реєстрації. Використовуйте ці допоміжні функції замість прямого імпорту внутрішніх модулів хоста. +Довідник для об’єкта `api.runtime`, який впроваджується в кожен Plugin під час реєстрації. Використовуйте ці допоміжні функції замість прямого імпорту внутрішніх компонентів хоста. - - Покроковий посібник, який використовує ці допоміжні функції в контексті плагінів каналів. + + Покроковий посібник, що показує використання цих допоміжних функцій у контексті Plugin для каналів. - - Покроковий посібник, який використовує ці допоміжні функції в контексті плагінів провайдерів. + + Покроковий посібник, що показує використання цих допоміжних функцій у контексті Plugin для провайдерів. @@ -34,38 +34,38 @@ register(api) { ## Завантаження й запис конфігурації -Надавайте перевагу конфігурації, яку вже передано в активний шлях виклику, наприклад `api.config` під час реєстрації або аргумент `cfg` у callback-ах каналу чи провайдера. Це дає змогу проводити один знімок процесу крізь роботу замість повторного розбору конфігурації на гарячих шляхах. +Надавайте перевагу конфігурації, яку вже передано в активний шлях виклику, наприклад `api.config` під час реєстрації або аргумент `cfg` у callback-функціях каналу/провайдера. Це забезпечує передавання одного знімка процесу через виконання роботи замість повторного розбору конфігурації на гарячих шляхах. -Використовуйте `api.runtime.config.current()` лише тоді, коли довгоживучому обробнику потрібен поточний знімок процесу, а конфігурацію не було передано цій функції. Повернене значення доступне лише для читання; перед редагуванням клонуйте його або використайте допоміжну функцію мутації. +Використовуйте `api.runtime.config.current()` лише тоді, коли довготривалому обробнику потрібен поточний знімок процесу, а конфігурацію не було передано в цю функцію. Повернене значення доступне лише для читання; перед редагуванням створіть копію або використайте допоміжну функцію мутації. -Фабрики інструментів отримують `ctx.runtimeConfig` плюс `ctx.getRuntimeConfig()`. Використовуйте getter у callback-у `execute` довгоживучого інструмента, коли конфігурація може змінитися після створення визначення інструмента. +Фабрики інструментів отримують `ctx.runtimeConfig` разом із `ctx.getRuntimeConfig()`. Використовуйте getter у callback-функції `execute` довготривалого інструмента, коли конфігурація може змінитися після створення визначення інструмента. -Зберігайте зміни за допомогою `api.runtime.config.mutateConfigFile(...)` або `api.runtime.config.replaceConfigFile(...)`. Кожен запис має вибрати явну політику `afterWrite`: +Зберігайте зміни за допомогою `api.runtime.config.mutateConfigFile(...)` або `api.runtime.config.replaceConfigFile(...)`. Кожен запис має вибирати явну політику `afterWrite`: -- `afterWrite: { mode: "auto" }` дає планувальнику перезавантаження Gateway змогу вирішити. +- `afterWrite: { mode: "auto" }` дозволяє планувальнику перезавантаження Gateway ухвалити рішення. - `afterWrite: { mode: "restart", reason: "..." }` примусово виконує чистий перезапуск, коли автор запису знає, що гаряче перезавантаження небезпечне. -- `afterWrite: { mode: "none", reason: "..." }` пригнічує автоматичне перезавантаження або перезапуск лише тоді, коли викликач сам відповідає за подальшу дію. +- `afterWrite: { mode: "none", reason: "..." }` пригнічує автоматичне перезавантаження/перезапуск лише тоді, коли викликач відповідає за подальші дії. -Допоміжні функції мутації повертають `afterWrite` плюс типізований підсумок `followUp`, щоб викликачі могли логувати або тестувати, чи вони запросили перезапуск. Gateway усе ще відповідає за те, коли цей перезапуск фактично відбудеться. +Допоміжні функції мутації повертають `afterWrite` разом із типізованим підсумком `followUp`, щоб викликачі могли логувати або тестувати, чи запитали вони перезапуск. Gateway і далі відповідає за те, коли цей перезапуск фактично відбудеться. -`api.runtime.config.loadConfig()` і `api.runtime.config.writeConfigFile(...)` є застарілими допоміжними функціями сумісності під `runtime-config-load-write`. Вони попереджають один раз під час виконання й залишаються доступними для старих зовнішніх плагінів протягом міграційного вікна. Вбудовані плагіни не повинні їх використовувати; охоронні перевірки межі конфігурації падають, якщо код плагіна викликає їх або імпортує ці допоміжні функції з підшляхів SDK плагінів. +`api.runtime.config.loadConfig()` і `api.runtime.config.writeConfigFile(...)` — застарілі допоміжні функції сумісності під `runtime-config-load-write`. Вони один раз попереджають під час виконання й залишаються доступними для старих зовнішніх Plugin протягом міграційного вікна. Вбудовані Plugin не повинні їх використовувати; захисні перевірки межі конфігурації завершаться помилкою, якщо код Plugin викликає їх або імпортує ці допоміжні функції з підшляхів Plugin SDK. -Для прямих імпортів SDK використовуйте спеціалізовані підшляхи конфігурації замість широкого агрегувального модуля сумісності +Для прямих імпортів SDK використовуйте сфокусовані підшляхи конфігурації замість широкого сумісного barrel `openclaw/plugin-sdk/config-runtime`: `config-types` для типів, `plugin-config-runtime` для перевірок уже завантаженої конфігурації та пошуку -запису плагіна, `runtime-config-snapshot` для поточних знімків процесу та -`config-mutation` для записів. Тести вбудованих плагінів мають напряму мокати ці спеціалізовані -підшляхи замість мокання широкого агрегувального модуля сумісності. +точки входу Plugin, `runtime-config-snapshot` для поточних знімків процесу, а +`config-mutation` для записів. Тести вбудованих Plugin мають напряму mock-ати ці сфокусовані +підшляхи замість mock широкого сумісного barrel. -Внутрішній код середовища виконання OpenClaw має той самий напрям: завантажити конфігурацію один раз на межі CLI, Gateway або процесу, а потім передавати це значення далі. Успішні записи мутацій оновлюють знімок середовища виконання процесу й просувають його внутрішню ревізію; довгоживучі кеші мають прив’язуватися до ключа кешу, яким володіє середовище виконання, замість локальної серіалізації конфігурації. Довгоживучі модулі середовища виконання мають сканер із нульовою терпимістю до неявних викликів `loadConfig()`; використовуйте переданий `cfg`, запит `context.getRuntimeConfig()` або `getRuntimeConfig()` на явній межі процесу. +Внутрішній runtime-код OpenClaw дотримується того самого напряму: завантажити конфігурацію один раз на межі CLI, Gateway або процесу, а потім передавати це значення далі. Успішні мутаційні записи оновлюють runtime-знімок процесу й збільшують його внутрішню ревізію; довготривалі кеші мають прив’язуватися до ключа кешу, яким володіє runtime, замість локальної серіалізації конфігурації. Довготривалі runtime-модулі мають сканер із нульовою терпимістю до неявних викликів `loadConfig()`; використовуйте переданий `cfg`, запитовий `context.getRuntimeConfig()` або `getRuntimeConfig()` на явній межі процесу. -Шляхи виконання провайдерів і каналів мають використовувати активний знімок конфігурації середовища виконання, а не файловий знімок, повернений для читання чи редагування конфігурації. Файлові знімки зберігають вихідні значення, як-от маркери SecretRef, для UI та записів; callback-и провайдерів потребують вирішеного runtime-представлення. Коли допоміжну функцію можна викликати або з активним вихідним знімком, або з активним runtime-знімком, перед читанням облікових даних пропустіть його через `selectApplicableRuntimeConfig()`. +Шляхи виконання провайдерів і каналів мають використовувати активний знімок runtime-конфігурації, а не файловий знімок, повернений для читання або редагування конфігурації. Файлові знімки зберігають початкові значення, як-от маркери SecretRef, для UI та записів; callback-функціям провайдерів потрібне вирішене runtime-представлення. Коли допоміжну функцію можна викликати або з активним початковим знімком, або з активним runtime-знімком, перед читанням облікових даних пропускайте його через `selectApplicableRuntimeConfig()`. -## Простори імен середовища виконання +## Простори імен runtime - Ідентичність агента, каталоги та керування сесіями. + Ідентичність агента, каталоги та керування сеансами. ```typescript // Resolve the agent's working directory @@ -109,15 +109,15 @@ register(api) { }); ``` - `runEmbeddedAgent(...)` є нейтральною допоміжною функцією для запуску звичайного ходу агента OpenClaw з коду плагіна. Вона використовує те саме вирішення провайдера/моделі та вибір agent-harness, що й відповіді, ініційовані каналом. + `runEmbeddedAgent(...)` — нейтральна допоміжна функція для запуску звичайного ходу агента OpenClaw з коду Plugin. Вона використовує те саме вирішення провайдера/моделі та вибір agent-harness, що й відповіді, ініційовані каналом. - `runEmbeddedPiAgent(...)` залишається псевдонімом сумісності. + `runEmbeddedPiAgent(...)` залишається сумісним псевдонімом. - `resolveThinkingPolicy(...)` повертає підтримувані провайдером/моделлю рівні мислення й необов’язкове значення за замовчуванням. Плагіни провайдерів володіють профілем, специфічним для моделі, через свої thinking-хуки, тому плагіни інструментів мають викликати цю допоміжну функцію середовища виконання замість імпорту або дублювання списків провайдерів. + `resolveThinkingPolicy(...)` повертає підтримувані провайдером/моделлю рівні thinking і необов’язкове значення за замовчуванням. Plugin провайдерів володіють профілем для конкретної моделі через свої thinking hooks, тому Plugin інструментів мають викликати цю runtime-допоміжну функцію замість імпорту або дублювання списків провайдерів. - `normalizeThinkingLevel(...)` перетворює текст користувача, як-от `on`, `x-high` або `extra high`, на канонічний збережений рівень перед перевіркою його проти вирішеної політики. + `normalizeThinkingLevel(...)` перетворює користувацький текст, як-от `on`, `x-high` або `extra high`, на канонічний збережений рівень перед перевіркою щодо вирішеної політики. - **Допоміжні функції сховища сесій** містяться в `api.runtime.agent.session`: + **Допоміжні функції сховища сеансів** розташовані в `api.runtime.agent.session`: ```typescript const storePath = api.runtime.agent.session.resolveStorePath(cfg); @@ -137,7 +137,7 @@ register(api) { - Запускайте та керуйте фоновими запусками субагентів. + Запуск і керування фоновими виконаннями subagent. ```typescript // Start a subagent run @@ -165,14 +165,14 @@ register(api) { ``` - Перевизначення моделі (`provider`/`model`) потребують явного дозволу оператора через `plugins.entries..subagent.allowModelOverride: true` у конфігурації. Недовірені плагіни все одно можуть запускати субагентів, але запити на перевизначення відхиляються. + Перевизначення моделі (`provider`/`model`) потребують явної згоди оператора через `plugins.entries..subagent.allowModelOverride: true` у конфігурації. Недовірені Plugin усе ще можуть запускати subagent, але запити на перевизначення відхиляються. - `deleteSession(...)` може видаляти сесії, створені тим самим плагіном через `api.runtime.subagent.run(...)`. Видалення довільних користувацьких або операторських сесій усе ще потребує запиту Gateway з адміністративною областю дії. + `deleteSession(...)` може видаляти сеанси, створені тим самим Plugin через `api.runtime.subagent.run(...)`. Видалення довільних сеансів користувача або оператора все ще потребує Gateway-запиту з областю адміністратора. - Виводьте список підключених вузлів і викликайте команду вузла-хоста з коду плагіна, завантаженого Gateway, або з CLI-команд плагіна. Використовуйте це, коли плагін володіє локальною роботою на спареному пристрої, наприклад браузером або аудіомостом на іншому Mac. + Перелічує підключені вузли та викликає команду, розміщену на вузлі, з коду Plugin, завантаженого Gateway, або з CLI-команд Plugin. Використовуйте це, коли Plugin володіє локальною роботою на спареному пристрої, наприклад браузером або аудіомостом на іншому Mac. ```typescript const { nodes } = await api.runtime.nodes.list({ connected: true }); @@ -185,11 +185,11 @@ register(api) { }); ``` - Усередині Gateway це середовище виконання працює в процесі. У CLI-командах плагіна воно викликає налаштований Gateway через RPC, тому команди на кшталт `openclaw googlemeet recover-tab` можуть перевіряти спарені вузли з термінала. Команди Node й далі проходять через звичайне спарювання вузлів Gateway, списки дозволених команд і локальну обробку команд на вузлі. + Усередині Gateway цей runtime працює в межах процесу. У CLI-командах Plugin він викликає налаштований Gateway через RPC, тож команди на кшталт `openclaw googlemeet recover-tab` можуть перевіряти спарені вузли з термінала. Команди вузлів усе ще проходять звичайне спарювання вузлів Gateway, allowlist команд і локальну обробку команд на вузлі. - Прив’яжіть середовище виконання TaskFlow до наявного ключа сесії OpenClaw або довіреного контексту інструмента, а потім створюйте й керуйте TaskFlow без передавання власника в кожному виклику. + Прив’язує runtime TaskFlow до наявного ключа сеансу OpenClaw або довіреного контексту інструмента, а потім створює TaskFlow і керує ними без передавання власника під час кожного виклику. ```typescript const taskFlow = api.runtime.tasks.managedFlows.fromToolContext(ctx); @@ -216,7 +216,7 @@ register(api) { }); ``` - Використовуйте `bindSession({ sessionKey, requesterOrigin })`, коли у вас уже є довірений ключ сесії OpenClaw з вашого власного шару прив’язки. Не прив’язуйте з необробленого користувацького введення. + Використовуйте `bindSession({ sessionKey, requesterOrigin })`, коли вже маєте довірений ключ сеансу OpenClaw із власного шару прив’язки. Не виконуйте прив’язку з необроблених користувацьких даних. @@ -246,7 +246,7 @@ register(api) { - Аналіз зображень, аудіо й відео. + Аналіз зображень, аудіо та відео. ```typescript // Describe an image @@ -276,15 +276,15 @@ register(api) { }); ``` - Повертає `{ text: undefined }`, коли вивід не створено (наприклад, пропущені вхідні дані). + Повертає `{ text: undefined }`, коли вихідні дані не створено (наприклад, вхід пропущено). - `api.runtime.stt.transcribeAudioFile(...)` залишається сумісним псевдонімом для `api.runtime.mediaUnderstanding.transcribeAudioFile(...)`. + `api.runtime.stt.transcribeAudioFile(...)` лишається сумісним псевдонімом для `api.runtime.mediaUnderstanding.transcribeAudioFile(...)`. - Генерування зображень. + Генерація зображень. ```typescript const result = await api.runtime.imageGeneration.generate({ @@ -310,7 +310,7 @@ register(api) { - Низькорівневі медіаутиліти. + Низькорівневі утиліти для медіа. ```typescript const webMedia = await api.runtime.media.loadWebMedia(url); @@ -351,8 +351,8 @@ register(api) { `mutateConfigFile(...)` і `replaceConfigFile(...)` повертають значення `followUp`, наприклад `{ mode: "restart", requiresRestart: true, reason }`, - яке фіксує намір автора запису, не забираючи керування перезапуском у - Gateway. + яке фіксує намір записувача, не забираючи контроль перезапуску в + gateway. @@ -389,7 +389,7 @@ register(api) { - Розв’язання автентифікації моделей і провайдерів. + Розв’язання автентифікації моделі та провайдера. ```typescript const auth = await api.runtime.modelAuth.getApiKeyForModel({ model, cfg }); @@ -401,12 +401,28 @@ register(api) { - Розв’язання каталогу стану. + Розв’язання каталогу стану та сховище ключів на базі SQLite. ```typescript - const stateDir = api.runtime.state.resolveStateDir(); + const stateDir = api.runtime.state.resolveStateDir(process.env); + const store = api.runtime.state.openKeyedStore({ + namespace: "my-feature", + maxEntries: 200, + defaultTtlMs: 15 * 60_000, + }); + + await store.register("key-1", { value: "hello" }); + const value = await store.lookup("key-1"); + await store.consume("key-1"); + await store.clear(); ``` + Сховища ключів переживають перезапуски та ізольовані ідентифікатором Plugin, прив’язаним до середовища виконання. Обмеження: `maxEntries` на простір імен, 1 000 активних рядків на Plugin, JSON-значення до 64 КБ і необов’язкове завершення строку дії TTL. + + + Лише вбудовані plugins у цьому випуску. + + Фабрики інструментів пам’яті та CLI. @@ -419,9 +435,9 @@ register(api) { - Допоміжні засоби середовища виконання, специфічні для каналу (доступні, коли завантажено plugin каналу). + Допоміжні засоби середовища виконання, специфічні для каналу (доступні, коли завантажено Plugin каналу). - `api.runtime.channel.mentions` — це спільна поверхня політики вхідних згадок для вбудованих plugin каналів, які використовують ін’єкцію середовища виконання: + `api.runtime.channel.mentions` — це спільна поверхня політики вхідних згадок для вбудованих plugins каналів, які використовують ін’єкцію середовища виконання: ```typescript const mentionMatch = api.runtime.channel.mentions.matchesMentionWithExplicit(text, { @@ -448,7 +464,7 @@ register(api) { }); ``` - Доступні допоміжні засоби згадок: + Доступні допоміжні засоби для згадок: - `buildMentionRegexes` - `matchesMentionPatterns` @@ -456,14 +472,14 @@ register(api) { - `implicitMentionKindWhen` - `resolveInboundMentionDecision` - `api.runtime.channel.mentions` навмисно не надає старіші сумісні допоміжні засоби `resolveMentionGating*`. Надавайте перевагу нормалізованому шляху `{ facts, policy }`. + `api.runtime.channel.mentions` навмисно не відкриває старі допоміжні засоби сумісності `resolveMentionGating*`. Надавайте перевагу нормалізованому шляху `{ facts, policy }`. ## Зберігання посилань на середовище виконання -Використовуйте `createPluginRuntimeStore`, щоб зберігати посилання на середовище виконання для використання поза зворотним викликом `register`: +Використовуйте `createPluginRuntimeStore`, щоб зберегти посилання на середовище виконання для використання поза зворотним викликом `register`: @@ -504,7 +520,7 @@ register(api) { -Надавайте перевагу `pluginId` для ідентичності runtime-store. Нижчорівнева форма `key` призначена для рідкісних випадків, коли одному plugin навмисно потрібно більше ніж один слот середовища виконання. +Надавайте перевагу `pluginId` для ідентичності runtime-store. Нижчорівнева форма `key` призначена для рідкісних випадків, коли одному Plugin навмисно потрібно більше ніж один слот середовища виконання. ## Інші поля верхнього рівня `api` @@ -512,29 +528,29 @@ register(api) { Окрім `api.runtime`, об’єкт API також надає: - Ідентифікатор plugin. + Ідентифікатор Plugin. - Відображувана назва plugin. + Відображувана назва Plugin. Поточний знімок конфігурації (активний знімок середовища виконання в пам’яті, коли доступний). - Конфігурація, специфічна для plugin, з `plugins.entries..config`. + Конфігурація, специфічна для Plugin, з `plugins.entries..config`. - Журналювальник з областю видимості (`debug`, `info`, `warn`, `error`). + Обмежений за областю logger (`debug`, `info`, `warn`, `error`). - Поточний режим завантаження; `"setup-runtime"` — це легке вікно запуску/налаштування перед повним входом. + Поточний режим завантаження; `"setup-runtime"` — це легковагове вікно запуску/налаштування перед повним entry. - Розв’язати шлях відносно кореня plugin. + Розв’язати шлях відносно кореня Plugin. ## Пов’язане -- [Внутрішня архітектура Plugin](/uk/plugins/architecture) — модель можливостей і реєстр +- [Внутрішня архітектура Plugin](/uk/plugins/architecture) — модель можливостей і registry - [Точки входу SDK](/uk/plugins/sdk-entrypoints) — параметри `definePluginEntry` -- [Огляд SDK](/uk/plugins/sdk-overview) — довідник підшляхів +- [Огляд SDK](/uk/plugins/sdk-overview) — довідник subpath