From a97c8e715549d0e0dbf607deaf934465e15f71de Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Sat, 25 Apr 2026 01:35:08 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/concepts/context-engine.md | 203 +++++++++++++++-------------- 1 file changed, 104 insertions(+), 99 deletions(-) diff --git a/docs/uk/concepts/context-engine.md b/docs/uk/concepts/context-engine.md index 4ebea7f9d..3eae4ad48 100644 --- a/docs/uk/concepts/context-engine.md +++ b/docs/uk/concepts/context-engine.md @@ -6,21 +6,22 @@ read_when: summary: 'Рушій контексту: підключуване збирання контексту, Compaction і життєвий цикл субагентів' title: Рушій контексту x-i18n: - generated_at: "2026-04-24T04:13:24Z" + generated_at: "2026-04-25T01:34:06Z" model: gpt-5.4 provider: openai - source_hash: 8f4e5f01f945f7fe3056587f2aa60bec607dd0dd64b29e9ab2afe8e77b5d2f1e + source_hash: 1dc4a6f0a9fb669893a6a877924562d05168fde79b3c41df335d697e651d534d source_path: concepts/context-engine.md workflow: 15 --- **Рушій контексту** керує тим, як OpenClaw будує контекст моделі для кожного запуску: -які повідомлення включати, як підсумовувати давнішу історію та як керувати +які повідомлення включати, як підсумовувати старішу історію та як керувати контекстом через межі субагентів. -OpenClaw постачається з вбудованим рушієм `legacy` і використовує його типово — більшості -користувачів ніколи не потрібно це змінювати. Встановлюйте та вибирайте рушій Plugin лише тоді, -коли вам потрібна інша логіка збирання, Compaction або пригадування між сесіями. +OpenClaw постачається з вбудованим рушієм `legacy` і використовує його за +замовчуванням — більшості користувачів ніколи не потрібно це змінювати. Установлюйте +та вибирайте рушій Plugin лише тоді, коли вам потрібна інша логіка збирання, +Compaction або відновлення між сесіями. ## Швидкий старт @@ -28,46 +29,46 @@ OpenClaw постачається з вбудованим рушієм `legacy` ```bash openclaw doctor -# або перегляньте конфігурацію напряму: +# or inspect config directly: cat ~/.openclaw/openclaw.json | jq '.plugins.slots.contextEngine' ``` -### Встановлення Plugin рушія контексту +### Установлення Plugin рушія контексту Plugins рушія контексту встановлюються так само, як і будь-який інший Plugin OpenClaw. Спочатку -встановіть Plugin, а потім виберіть рушій у слоті: +встановіть його, а потім виберіть рушій у слоті: ```bash -# Встановити з npm +# Install from npm openclaw plugins install @martian-engineering/lossless-claw -# Або встановити з локального шляху (для розробки) +# Or install from a local path (for development) openclaw plugins install -l ./my-context-engine ``` -Потім увімкніть Plugin і виберіть його як активний рушій у своїй конфігурації: +Потім увімкніть Plugin і виберіть його як активний рушій у вашій конфігурації: ```json5 // openclaw.json { plugins: { slots: { - contextEngine: "lossless-claw", // має збігатися із зареєстрованим id рушія Plugin + contextEngine: "lossless-claw", // must match the plugin's registered engine id }, entries: { "lossless-claw": { enabled: true, - // Тут розміщується конфігурація, специфічна для Plugin (див. документацію Plugin) + // Plugin-specific config goes here (see the plugin's docs) }, }, }, } ``` -Після встановлення та налаштування перезапустіть gateway. +Після встановлення та налаштування перезапустіть Gateway. -Щоб повернутися до вбудованого рушія, встановіть `contextEngine` у `"legacy"` (або -повністю видаліть цей ключ — `"legacy"` використовується типово). +Щоб повернутися до вбудованого рушія, установіть `contextEngine` у `"legacy"` (або +повністю видаліть цей ключ — `"legacy"` використовується за замовчуванням). ## Як це працює @@ -76,55 +77,55 @@ openclaw plugins install -l ./my-context-engine 1. **Ingest** — викликається, коли до сесії додається нове повідомлення. Рушій може зберегти або проіндексувати повідомлення у власному сховищі даних. -2. **Assemble** — викликається перед кожним запуском моделі. Рушій повертає впорядкований - набір повідомлень (і необов’язковий `systemPromptAddition`), які вміщаються - в бюджет токенів. +2. **Assemble** — викликається перед кожним запуском моделі. Рушій повертає + впорядкований набір повідомлень (і необов’язковий `systemPromptAddition`), які + вміщаються в бюджет токенів. 3. **Compact** — викликається, коли вікно контексту заповнене, або коли користувач запускає - `/compact`. Рушій підсумовує давнішу історію, щоб звільнити місце. + `/compact`. Рушій підсумовує старішу історію, щоб звільнити місце. 4. **After turn** — викликається після завершення запуску. Рушій може зберегти стан, запустити фоновий Compaction або оновити індекси. -Для вбудованого не-ACP harness Codex OpenClaw застосовує той самий життєвий цикл, +Для комплектного не-ACP harness Codex OpenClaw застосовує той самий життєвий цикл, проєктуючи зібраний контекст в інструкції розробника Codex і запит поточного -ходу. Codex, як і раніше, керує своєю рідною історією гілки та власним засобом Compaction. +кроку. Codex, як і раніше, керує власною нативною історією потоку та нативним компактором. ### Життєвий цикл субагента (необов’язково) -OpenClaw викликає два необов’язкові хуки життєвого циклу субагента: +OpenClaw викликає два необов’язкові гачки життєвого циклу субагента: -- **prepareSubagentSpawn** — підготувати спільний стан контексту перед початком - дочірнього запуску. Хук отримує ключі сесії батьківського/дочірнього процесу, `contextMode` - (`isolated` або `fork`), доступні id/файли transcript і необов’язковий TTL. - Якщо він повертає дескриптор rollback, OpenClaw викликає його, коли spawn завершується помилкою - після успішної підготовки. -- **onSubagentEnded** — очистити дані, коли сесія субагента завершується або прибирається. +- **prepareSubagentSpawn** — підготувати спільний стан контексту перед тим, як + почнеться дочірній запуск. Гачок отримує ключі сесій батьківського й дочірнього процесів, `contextMode` + (`isolated` або `fork`), доступні ідентифікатори/файли транскриптів та необов’язковий TTL. + Якщо він повертає дескриптор відкату, OpenClaw викликає його, коли запуск + завершується невдачею після успішної підготовки. +- **onSubagentEnded** — очистити дані після завершення сесії субагента або її збирання. ### Додавання до системного запиту Метод `assemble` може повертати рядок `systemPromptAddition`. OpenClaw -додає його на початок системного запиту для запуску. Це дає змогу рушіям -вбудовувати динамічні вказівки для пригадування, інструкції для retrieval або -підказки з урахуванням контексту без потреби у статичних файлах робочого простору. +додає його на початок системного запиту для запуску. Це дає змогу рушіям впроваджувати +динамічні вказівки щодо відновлення, інструкції з отримання даних або підказки, +що враховують контекст, без потреби у статичних файлах робочого простору. ## Рушій legacy Вбудований рушій `legacy` зберігає початкову поведінку OpenClaw: -- **Ingest**: no-op (менеджер сесії безпосередньо обробляє збереження повідомлень). -- **Assemble**: наскрізний режим (контекст збирання обробляє наявний конвеєр sanitize → validate → limit - у середовищі виконання). +- **Ingest**: no-op (менеджер сесій безпосередньо обробляє збереження повідомлень). +- **Assemble**: pass-through (наявний конвеєр sanitize → validate → limit + у середовищі виконання обробляє збирання контексту). - **Compact**: делегує вбудованому підсумковому Compaction, який створює - одне підсумкове резюме старіших повідомлень і зберігає недоторканими недавні повідомлення. + єдиний підсумок старіших повідомлень і зберігає нещодавні повідомлення без змін. - **After turn**: no-op. Рушій legacy не реєструє інструменти й не надає `systemPromptAddition`. -Якщо `plugins.slots.contextEngine` не задано (або задано як `"legacy"`), цей +Коли `plugins.slots.contextEngine` не задано (або його значення — `"legacy"`), цей рушій використовується автоматично. -## Plugins рушія +## Рушії Plugin -Plugin може зареєструвати рушій контексту через API Plugin: +Plugin може зареєструвати рушій контексту за допомогою API Plugin: ```ts import { buildMemorySystemPromptAddition } from "openclaw/plugin-sdk/core"; @@ -138,12 +139,12 @@ export default function register(api) { }, async ingest({ sessionId, message, isHeartbeat }) { - // Зберегти повідомлення у вашому сховищі даних + // Store the message in your data store return { ingested: true }; }, async assemble({ sessionId, messages, tokenBudget, availableTools, citationsMode }) { - // Повернути повідомлення, що вміщаються в бюджет + // Return messages that fit the budget return { messages: buildContext(messages, tokenBudget), estimatedTokens: countTokens(messages), @@ -155,7 +156,7 @@ export default function register(api) { }, async compact({ sessionId, force }) { - // Підсумувати старіший контекст + // Summarize older context return { ok: true, compacted: true }; }, })); @@ -183,107 +184,111 @@ export default function register(api) { Обов’язкові елементи: -| Елемент | Тип | Призначення | -| ------------------ | -------- | --------------------------------------------------------- | -| `info` | Властивість | Id рушія, назва, версія та ознака того, чи він керує Compaction | -| `ingest(params)` | Метод | Зберегти одне повідомлення | +| Елемент | Тип | Призначення | +| ------------------ | -------- | -------------------------------------------------------- | +| `info` | Властивість | Ідентифікатор рушія, назва, версія та ознака того, чи керує він Compaction | +| `ingest(params)` | Метод | Зберегти одне повідомлення | | `assemble(params)` | Метод | Побудувати контекст для запуску моделі (повертає `AssembleResult`) | -| `compact(params)` | Метод | Підсумувати/скоротити контекст | +| `compact(params)` | Метод | Підсумувати/скоротити контекст | -`assemble` повертає `AssembleResult` із: +`assemble` повертає `AssembleResult` із такими полями: - `messages` — упорядковані повідомлення для надсилання моделі. -- `estimatedTokens` (обов’язково, `number`) — оцінка рушієм загальної - кількості токенів у зібраному контексті. OpenClaw використовує це для рішень - щодо порога Compaction і для діагностичної звітності. +- `estimatedTokens` (обов’язково, `number`) — оцінка рушієм загальної кількості + токенів у зібраному контексті. OpenClaw використовує це для рішень щодо порога + Compaction і діагностичної звітності. - `systemPromptAddition` (необов’язково, `string`) — додається на початок системного запиту. Необов’язкові елементи: -| Елемент | Тип | Призначення | -| ------------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------- | -| `bootstrap(params)` | Метод | Ініціалізувати стан рушія для сесії. Викликається один раз, коли рушій уперше бачить сесію (наприклад, імпорт історії). | -| `ingestBatch(params)` | Метод | Прийняти завершений хід пакетно. Викликається після завершення запуску, одразу з усіма повідомленнями цього ходу. | -| `afterTurn(params)` | Метод | Робота життєвого циклу після запуску (зберегти стан, запустити фоновий Compaction). | -| `prepareSubagentSpawn(params)` | Метод | Налаштувати спільний стан для дочірньої сесії перед її початком. | -| `onSubagentEnded(params)` | Метод | Очистити дані після завершення субагента. | -| `dispose()` | Метод | Звільнити ресурси. Викликається під час вимкнення gateway або перезавантаження Plugin — не для кожної сесії. | +| Елемент | Тип | Призначення | +| ------------------------------ | ------ | ---------------------------------------------------------------------------------------------------------------- | +| `bootstrap(params)` | Метод | Ініціалізувати стан рушія для сесії. Викликається один раз, коли рушій уперше бачить сесію (наприклад, імпортує історію). | +| `ingestBatch(params)` | Метод | Прийняти завершений хід пакетом. Викликається після завершення запуску, одразу з усіма повідомленнями цього ходу. | +| `afterTurn(params)` | Метод | Робота життєвого циклу після запуску (зберегти стан, запустити фоновий Compaction). | +| `prepareSubagentSpawn(params)` | Метод | Налаштувати спільний стан для дочірньої сесії перед її початком. | +| `onSubagentEnded(params)` | Метод | Очистити дані після завершення субагента. | +| `dispose()` | Метод | Вивільнити ресурси. Викликається під час вимкнення Gateway або перезавантаження Plugin — не для кожної сесії. | ### ownsCompaction -`ownsCompaction` керує тим, чи залишається увімкненим вбудований авто-Compaction Pi -під час спроби виконання запуску: +`ownsCompaction` визначає, чи залишається увімкненим вбудований автокомпакшн Pi +усередині спроби для цього запуску: -- `true` — рушій керує поведінкою Compaction. OpenClaw вимикає вбудований у Pi - авто-Compaction для цього запуску, а реалізація `compact()` рушія відповідає - за `/compact`, відновлювальний Compaction при переповненні та будь-який проактивний - Compaction, який він хоче виконати в `afterTurn()`. -- `false` або не задано — вбудований авто-Compaction Pi усе ще може запускатися під час +- `true` — рушій керує поведінкою Compaction. OpenClaw вимикає вбудований + автокомпакшн Pi для цього запуску, а реалізація `compact()` цього рушія + відповідає за `/compact`, відновлювальний Compaction під час переповнення + та будь-який проактивний Compaction, який він хоче виконати в `afterTurn()`. OpenClaw + усе ще може виконувати захист від переповнення перед запитом; коли він прогнозує, + що повний транскрипт переповнить ліміт, шлях відновлення викликає `compact()` активного + рушія перед надсиланням іншого запиту. +- `false` або не задано — вбудований автокомпакшн Pi усе ще може виконуватися під час виконання запиту, але метод `compact()` активного рушія все одно викликається для `/compact` і відновлення після переповнення. -`ownsCompaction: false` **не** означає, що OpenClaw автоматично повертається -до шляху Compaction рушія legacy. +`ownsCompaction: false` **не** означає, що OpenClaw автоматично повертається до +шляху Compaction рушія legacy. -Це означає, що існують два коректні шаблони Plugin: +Це означає, що існують два коректні шаблони для Plugin: - **Режим володіння** — реалізуйте власний алгоритм Compaction і встановіть `ownsCompaction: true`. -- **Режим делегування** — встановіть `ownsCompaction: false` і нехай `compact()` викликає - `delegateCompactionToRuntime(...)` з `openclaw/plugin-sdk/core`, щоб використовувати +- **Режим делегування** — установіть `ownsCompaction: false` і нехай `compact()` викликає + `delegateCompactionToRuntime(...)` з `openclaw/plugin-sdk/core`, щоб використати вбудовану поведінку Compaction OpenClaw. -No-op `compact()` є небезпечним для активного рушія без володіння, тому що це -вимикає звичайний шлях `/compact` і відновлення після переповнення для слота цього рушія. +Порожній `compact()` є небезпечним для активного неволодіючого рушія, оскільки він +вимикає звичайний шлях `/compact` і відновлювального Compaction після переповнення для цього +слота рушія. -## Довідник з конфігурації +## Довідник із конфігурації ```json5 { plugins: { slots: { - // Вибір активного рушія контексту. Типово: "legacy". - // Встановіть id Plugin, щоб використовувати рушій Plugin. + // Select the active context engine. Default: "legacy". + // Set to a plugin id to use a plugin engine. contextEngine: "legacy", }, }, } ``` -Слот є ексклюзивним під час виконання — для конкретного запуску або операції Compaction -розв’язується лише один зареєстрований рушій контексту. Інші увімкнені -Plugins `kind: "context-engine"` усе ще можуть завантажуватися й виконувати свій код -реєстрації; `plugins.slots.contextEngine` лише вибирає, який зареєстрований id рушія -OpenClaw розв’язує, коли йому потрібен рушій контексту. +Слот є взаємовиключним під час виконання — для певного запуску або операції Compaction +визначається лише один зареєстрований рушій контексту. Інші ввімкнені +Plugins `kind: "context-engine"` все одно можуть завантажуватися й виконувати свій код +реєстрації; `plugins.slots.contextEngine` лише вибирає, який зареєстрований ідентифікатор рушія +OpenClaw використовує, коли йому потрібен рушій контексту. ## Зв’язок із Compaction і пам’яттю - **Compaction** — це одна з відповідальностей рушія контексту. Рушій legacy - делегує вбудованому механізму підсумовування OpenClaw. Plugins рушія можуть реалізовувати - будь-яку стратегію Compaction (підсумки DAG, vector retrieval тощо). + делегує вбудованому механізму підсумовування OpenClaw. Рушії Plugin можуть реалізовувати + будь-яку стратегію Compaction (DAG-підсумки, векторне отримання тощо). - **Plugins пам’яті** (`plugins.slots.memory`) відокремлені від рушіїв контексту. - Plugins пам’яті надають пошук/retrieval; рушії контексту керують тим, що - бачить модель. Вони можуть працювати разом — рушій контексту може використовувати дані - Plugin пам’яті під час збирання. Plugins рушія, яким потрібен шлях запиту - Active Memory, мають надавати перевагу `buildMemorySystemPromptAddition(...)` з + Plugins пам’яті забезпечують пошук/отримання; рушії контексту керують тим, + що бачить модель. Вони можуть працювати разом — рушій контексту може використовувати + дані Plugin пам’яті під час збирання. Рушії Plugin, яким потрібен шлях + запиту Active Memory, мають надавати перевагу `buildMemorySystemPromptAddition(...)` з `openclaw/plugin-sdk/core`, який перетворює активні секції запиту пам’яті - на готовий до додавання на початок `systemPromptAddition`. Якщо рушію потрібен - контроль нижчого рівня, він усе одно може отримувати сирі рядки з + у готовий до додавання на початок `systemPromptAddition`. Якщо рушію потрібен контроль + нижчого рівня, він усе ще може отримувати сирі рядки з `openclaw/plugin-sdk/memory-host-core` через `buildActiveMemoryPromptSection(...)`. -- **Обрізання сесій** (усічення старих результатів інструментів у пам’яті) усе ще виконується +- **Обрізання сесії** (скорочення старих результатів інструментів у пам’яті) усе ще виконується незалежно від того, який рушій контексту активний. ## Поради -- Використовуйте `openclaw doctor`, щоб перевірити, чи ваш рушій завантажується коректно. -- Якщо ви перемикаєте рушії, наявні сесії продовжують працювати з поточною історією. - Новий рушій перебирає керування для майбутніх запусків. -- Помилки рушія журналюються й відображаються в діагностиці. Якщо рушій Plugin - не вдається зареєструвати або не вдається розв’язати вибраний id рушія, OpenClaw - не виконує автоматичного повернення; запуски завершуватимуться помилкою, доки ви не виправите Plugin або - не перемкнете `plugins.slots.contextEngine` назад на `"legacy"`. -- Для розробки використовуйте `openclaw plugins install -l ./my-engine`, щоб зв’язати +- Використовуйте `openclaw doctor`, щоб переконатися, що ваш рушій завантажується правильно. +- Якщо перемикати рушії, наявні сесії продовжать роботу зі своєю поточною історією. + Новий рушій візьме керування на себе для майбутніх запусків. +- Помилки рушія журналюються та відображаються в діагностиці. Якщо рушій Plugin + не вдається зареєструвати або не вдається визначити вибраний ідентифікатор рушія, OpenClaw + не виконує автоматичний відкат; запуски завершуватимуться помилкою, доки ви не виправите Plugin або + не повернете `plugins.slots.contextEngine` до `"legacy"`. +- Для розробки використовуйте `openclaw plugins install -l ./my-engine`, щоб прив’язати локальний каталог Plugin без копіювання. Див. також: [Compaction](/uk/concepts/compaction), [Контекст](/uk/concepts/context),