diff --git a/docs/uk/concepts/retry.md b/docs/uk/concepts/retry.md index 084a34fcc..f99af3a84 100644 --- a/docs/uk/concepts/retry.md +++ b/docs/uk/concepts/retry.md @@ -1,60 +1,63 @@ --- read_when: - - Оновлення поведінки або значень за замовчуванням для повторних спроб provider - - Налагодження помилок надсилання provider або обмежень частоти запитів -summary: Політика повторних спроб для вихідних викликів provider + - Оновлення поведінки повторних спроб або стандартних налаштувань провайдера + - Налагодження помилок надсилання провайдера або обмежень частоти запитів +summary: Політика повторних спроб для вихідних викликів до провайдера title: Політика повторних спроб x-i18n: - generated_at: "2026-04-23T22:59:05Z" - model: gpt-5.4 + generated_at: "2026-05-02T01:52:06Z" + model: gpt-5.5 provider: openai - source_hash: 38811a6dabb0b60b71167ee4fcc09fb042f941b4bbb1cf8b0f5a91c3c93b2e75 + source_hash: 7720092499effdfa011fc0a0310adb2ecddca9e94f57f749794eab1c9ab4c922 source_path: concepts/retry.md - workflow: 15 + workflow: 16 --- ## Цілі -- Повторювати спробу для кожного HTTP-запиту, а не для всього багатокрокового потоку. +- Повторювати кожен HTTP-запит, а не весь багатокроковий потік. - Зберігати порядок, повторюючи лише поточний крок. - Уникати дублювання неідемпотентних операцій. -## Значення за замовчуванням +## Стандартні значення -- Кількість спроб: 3 -- Максимальна межа затримки: 30000 мс -- Jitter: 0.1 (10 відсотків) -- Значення provider за замовчуванням: - - Мінімальна затримка Telegram: 400 мс - - Мінімальна затримка Discord: 500 мс +- Спроби: 3 +- Максимальне обмеження затримки: 30000 ms +- Джитер: 0.1 (10 відсотків) +- Стандартні значення провайдерів: + - Мінімальна затримка Telegram: 400 ms + - Мінімальна затримка Discord: 500 ms ## Поведінка -### Provider моделей +### Провайдери моделей -- OpenClaw дозволяє SDK provider обробляти звичайні короткі повторні спроби. -- Для SDK на базі Stainless, таких як Anthropic і OpenAI, відповіді, придатні до повторної спроби +- OpenClaw дозволяє SDK провайдерів обробляти звичайні короткі повторні спроби. +- Для SDK на основі Stainless, як-от Anthropic і OpenAI, відповіді, які можна повторити (`408`, `409`, `429` і `5xx`), можуть містити `retry-after-ms` або - `retry-after`. Якщо це очікування довше за 60 секунд, OpenClaw додає - `x-should-retry: false`, щоб SDK негайно повернув помилку, а failover моделей міг переключитися на інший auth profile або резервну модель. -- Перевизначте межу через `OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=`. - Установіть `0`, `false`, `off`, `none` або `disabled`, щоб дозволити SDK внутрішньо дотримуватися довгих - затримок `Retry-After`. + `retry-after`. Коли це очікування довше за 60 секунд, OpenClaw додає + `x-should-retry: false`, щоб SDK негайно повернув помилку, а відмовостійке + перемикання моделей могло перейти до іншого профілю автентифікації або резервної моделі. +- Перевизначте обмеження за допомогою `OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=`. + Установіть значення `0`, `false`, `off`, `none` або `disabled`, щоб дозволити SDK самостійно враховувати довгі + паузи `Retry-After`. ### Discord -- Повторює спробу лише для помилок обмеження частоти (HTTP 429). -- Використовує `retry_after` Discord, коли доступно, інакше — експоненційне збільшення затримки. +- Повторює спроби для помилок обмеження частоти (HTTP 429), тайм-аутів запитів, відповідей HTTP 5xx + і тимчасових транспортних збоїв, як-от помилки пошуку DNS, скидання з’єднання, + закриття сокета та помилки fetch. +- Використовує `retry_after` Discord, коли доступно, інакше експоненційне відступання. ### Telegram -- Повторює спробу для тимчасових помилок (429, timeout, connect/reset/closed, тимчасово недоступно). -- Використовує `retry_after`, коли доступно, інакше — експоненційне збільшення затримки. -- Помилки розбору Markdown не повторюються; замість цього використовується звичайний текст. +- Повторює спроби для тимчасових помилок (429, тайм-аут, connect/reset/closed, тимчасово недоступно). +- Використовує `retry_after`, коли доступно, інакше експоненційне відступання. +- Помилки розбору Markdown не повторюються; вони повертаються до звичайного тексту. ## Конфігурація -Налаштуйте політику повторних спроб для кожного provider у `~/.openclaw/openclaw.json`: +Установіть політику повторних спроб для кожного провайдера в `~/.openclaw/openclaw.json`: ```json5 { @@ -81,10 +84,10 @@ x-i18n: ## Примітки -- Повторні спроби застосовуються до кожного запиту окремо (надсилання повідомлення, завантаження медіа, реакція, опитування, стікер). -- Для складених потоків завершені кроки не повторюються. +- Повторні спроби застосовуються до кожного запиту (надсилання повідомлення, завантаження медіа, реакція, опитування, стікер). +- Складені потоки не повторюють завершені кроки. -## Пов’язано +## Пов’язане -- [Failover моделей](/uk/concepts/model-failover) +- [Відмовостійке перемикання моделей](/uk/concepts/model-failover) - [Черга команд](/uk/concepts/queue) diff --git a/docs/uk/plugins/dependency-resolution.md b/docs/uk/plugins/dependency-resolution.md index c0fe2621a..d05db9390 100644 --- a/docs/uk/plugins/dependency-resolution.md +++ b/docs/uk/plugins/dependency-resolution.md @@ -2,42 +2,42 @@ read_when: - Ви налагоджуєте встановлення пакетів Plugin - Ви змінюєте поведінку запуску Plugin, doctor або встановлення через менеджер пакетів - - Ви супроводжуєте пакетовані інсталяції OpenClaw або маніфести вбудованих Plugin + - Ви підтримуєте пакетовані інсталяції OpenClaw або маніфести вбудованих Plugin sidebarTitle: Dependencies summary: Як OpenClaw встановлює пакети Plugin і розв’язує залежності Plugin title: Розв’язання залежностей Plugin x-i18n: - generated_at: "2026-05-02T01:11:01Z" + generated_at: "2026-05-02T01:52:11Z" model: gpt-5.5 provider: openai - source_hash: 6cb8b312dfee5be5f5333477c204eb3643b398a49017ea9ffe88b3c546cc0765 + source_hash: 296263808a080909e6dbf0000a764d7539a7065f86772f7fcf5a86c1f11e1906 source_path: plugins/dependency-resolution.md workflow: 16 --- # Розв’язання залежностей Plugin -OpenClaw виконує роботу із залежностями plugin під час встановлення/оновлення. Завантаження під час виконання +OpenClaw виконує роботу із залежностями Plugin під час встановлення/оновлення. Завантаження під час виконання не запускає менеджери пакетів, не відновлює дерева залежностей і не змінює каталог -пакетів OpenClaw. +пакета OpenClaw. ## Розподіл відповідальності -Пакети plugin відповідають за власний граф залежностей: +Пакети Plugin відповідають за власний граф залежностей: - залежності часу виконання містяться в `dependencies` або - `optionalDependencies` пакета plugin + `optionalDependencies` пакета Plugin - імпорти SDK/core є peer-залежностями або наданими імпортами OpenClaw -- локальні plugin для розробки приносять власні вже встановлені залежності -- npm- і git-plugin встановлюються в корені пакетів, що належать OpenClaw +- локальні Plugin для розробки приносять власні вже встановлені залежності +- npm- і git-Plugin встановлюються в корені пакетів, керовані OpenClaw -OpenClaw відповідає лише за життєвий цикл plugin: +OpenClaw відповідає лише за життєвий цикл Plugin: -- виявити джерело plugin -- встановити або оновити пакет, коли це явно запитано +- виявити джерело Plugin +- встановити або оновити пакет за явним запитом - записати метадані встановлення -- завантажити точку входу plugin -- завершитися з дієвою помилкою, коли залежності відсутні +- завантажити точку входу Plugin +- завершитися з дієвою помилкою, коли бракує залежностей ## Корені встановлення @@ -45,40 +45,40 @@ OpenClaw використовує стабільні корені для кож - npm-пакети встановлюються в `~/.openclaw/npm` - git-пакети клонуються в `~/.openclaw/git` -- локальні/path/archive-встановлення копіюються або посилаються без відновлення залежностей +- локальні/path/archive встановлення копіюються або посилаються без відновлення залежностей -npm-встановлення виконуються в npm-корені за допомогою: +npm-встановлення виконуються в npm-корені з: ```bash npm install --prefix ~/.openclaw/npm --omit=dev --ignore-scripts --no-audit --no-fund ``` -git-встановлення клонують або оновлюють репозиторій, потім виконують: +git-встановлення клонують або оновлюють репозиторій, а потім виконують: ```bash npm install --omit=dev --ignore-scripts --no-audit --no-fund ``` -Встановлений plugin потім завантажується з цього каталогу пакета, тож розв’язання -`node_modules` на рівні пакета працює так само, як і для звичайного Node-пакета. +Після цього встановлений Plugin завантажується з каталогу цього пакета, тому розв’язання +`node_modules` у межах пакета працює так само, як для звичайного пакета Node. -## Локальні plugin +## Локальні Plugin -Локальні plugin розглядаються як каталоги, контрольовані розробником. OpenClaw не -виконує для них `npm install`, `pnpm install` або відновлення залежностей. Якщо локальний -plugin має залежності, встановіть їх у цьому plugin перед його завантаженням. +Локальні Plugin розглядаються як каталоги під контролем розробника. OpenClaw не +запускає `npm install`, `pnpm install` або відновлення залежностей для них. Якщо локальний +Plugin має залежності, встановіть їх у цьому Plugin перед його завантаженням. -Сторонні локальні TypeScript-plugin можуть використовувати аварійний шлях Jiti. Паковані -JavaScript-plugin і вбудовані внутрішні plugin завантажуються через нативний +Сторонні локальні Plugin на TypeScript можуть використовувати аварійний шлях Jiti. Запаковані +JavaScript Plugin і вбудовані внутрішні Plugin завантажуються через нативний import/require замість Jiti. ## Запуск і перезавантаження -Запуск Gateway і перезавантаження конфігурації ніколи не встановлюють залежності plugin. Вони читають -записи встановлення plugin, обчислюють точку входу та завантажують її. +Запуск Gateway і перезавантаження конфігурації ніколи не встановлюють залежності Plugin. Вони читають +записи встановлення Plugin, обчислюють точку входу та завантажують її. -Якщо залежність відсутня під час виконання, plugin не завантажується, а помилка -має спрямувати оператора до явного виправлення: +Якщо залежність відсутня під час виконання, Plugin не завантажується, а помилка +має вказати оператору на явне виправлення: ```bash openclaw plugins update @@ -87,31 +87,37 @@ openclaw doctor --fix ``` `doctor --fix` може очистити застарілий стан залежностей, згенерований OpenClaw, і встановити -налаштовані завантажувані plugin, яких бракує в локальних записах встановлення. -Він не відновлює залежності для вже встановленого локального plugin. +налаштовані завантажувані Plugin, яких бракує в локальних записах встановлення. +Він не відновлює залежності для вже встановленого локального Plugin. -## Вбудовані plugin +## Вбудовані Plugin -Легкі та критично важливі для core вбудовані plugin постачаються як частина OpenClaw. -Вони або не повинні мати важкого дерева залежностей часу виконання, або мають бути винесені -в завантажуваний пакет на ClawHub/npm. +Легкі та критично важливі для ядра вбудовані Plugin постачаються як частина OpenClaw. +Вони мають або не мати важкого дерева залежностей часу виконання, або бути винесені до +завантажуваного пакета на ClawHub/npm. -Маніфести вбудованих plugin не повинні запитувати підготовку залежностей. Велику або необов’язкову -функціональність plugin слід пакувати як звичайний plugin і встановлювати через -той самий шлях npm/git/ClawHub, що й сторонні plugin. +Маніфести вбудованих Plugin не повинні запитувати staging залежностей. Велика або необов’язкова +функціональність Plugin має пакуватися як звичайний Plugin і встановлюватися через +той самий шлях npm/git/ClawHub, що й сторонні Plugin. У вихідних checkout OpenClaw розглядає репозиторій як pnpm-монорепозиторій. Після -`pnpm install` вбудовані plugin завантажуються з `extensions/`, тож пакетно-локальні +`pnpm install` вбудовані Plugin завантажуються з `extensions/`, тож локальні для пакета workspace-залежності доступні, а зміни підхоплюються напряму. Розробка у вихідному checkout підтримується лише через pnpm; звичайний `npm install` у корені репозиторію -не є підтримуваним способом підготовки залежностей вбудованих plugin. +не є підтримуваним способом підготувати залежності вбудованих Plugin. -## Очищення застарілого стану +| Форма встановлення | Розташування вбудованого Plugin | Власник залежностей | +| -------------------------------- | ------------------------------------- | -------------------------------------------------------------------- | +| `npm install -g openclaw` | Зібране дерево часу виконання всередині пакета | Пакет OpenClaw і явні потоки встановлення/оновлення/doctor для Plugin | +| Git checkout плюс `pnpm install` | Workspace-пакети `extensions/` | pnpm-workspace, включно з власними залежностями кожного пакета Plugin | +| `openclaw plugins install ...` | Керований корінь Plugin npm/git/ClawHub | Потік встановлення/оновлення Plugin | -Старіші версії OpenClaw генерували корені залежностей вбудованих plugin під час запуску або -під час відновлення doctor. Поточне очищення doctor видаляє ці застарілі каталоги та -символьні посилання, коли використовується `--fix`, зокрема старі корені `plugin-runtime-deps`, -маніфести `.openclaw-runtime-deps*`, згенеровані `node_modules` plugin, каталоги -етапів встановлення та пакетно-локальні сховища pnpm. +## Очищення застарілого -Ці шляхи є лише застарілими залишками. Нові встановлення не повинні їх створювати. +Старіші версії OpenClaw генерували корені залежностей вбудованих Plugin під час запуску або +під час виправлення doctor. Поточне очищення doctor видаляє ці застарілі каталоги та +симлінки, коли використано `--fix`, включно зі старими коренями `plugin-runtime-deps`, +маніфестами `.openclaw-runtime-deps*`, згенерованими `node_modules` Plugin, каталогами +етапу встановлення та локальними pnpm-сховищами пакетів. + +Ці шляхи є лише застарілими залишками. Нові встановлення не повинні створювати їх.