chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-21 21:38:42 +00:00
parent e341218824
commit 45a4b5ce9f
4 changed files with 422 additions and 382 deletions

View File

@ -1,121 +1,126 @@
---
read_when:
- Перегляд серії PR для паритету GPT-5.4 / Codex
- Підтримка шести-контрактної агентної архітектури, що лежить в основі програми паритету
summary: Як переглянути програму паритету GPT-5.4 / Codex як чотири одиниці злиття
title: Примітки для мейнтейнерів щодо паритету GPT-5.4 / Codex
x-i18n:
generated_at: "2026-04-11T13:24:07Z"
generated_at: "2026-04-21T21:37:37Z"
model: gpt-5.4
provider: openai
source_hash: 910bcf7668becf182ef48185b43728bf2fa69629d6d50189d47d47b06f807a9e
source_hash: b872d6a33b269c01b44537bfa8646329063298fdfcd3671a17d0eadbc9da5427
source_path: help/gpt54-codex-agentic-parity-maintainers.md
workflow: 15
---
# Нотатки для супроводжувачів щодо паритету GPT-5.4 / Codex
# Примітки для мейнтейнерів щодо паритету GPT-5.4 / Codex
У цій нотатці пояснюється, як розглядати програму паритету GPT-5.4 / Codex як чотири одиниці злиття, не втрачаючи при цьому початкову архітектуру з шести контрактів.
У цій примітці пояснюється, як переглядати програму паритету GPT-5.4 / Codex як чотири одиниці злиття, не втрачаючи початкову архітектуру з шістьма контрактами.
## Одиниці злиття
### PR A: суворе agentic-виконання
### PR A: суворо агентне виконання
Володіє:
Охоплює:
- `executionContract`
- GPT-5-first same-turn follow-through
- `update_plan` як нетермінальне відстеження прогресу
- явні заблоковані стани замість тихих зупинок лише через план
- GPT-5-first доведення в межах того самого ходу
- `update_plan` як невихідне відстеження прогресу
- явні заблоковані стани замість тихих зупинок лише на плані
Не володіє:
Не охоплює:
- класифікацією збоїв автентифікації/середовища виконання
- правдивістю щодо дозволів
- переробкою повтору/продовження
- бенчмаркінгом паритету
- класифікацію збоїв auth/runtime
- правдивість дозволів
- переробку replay/continuation
- бенчмаркінг паритету
### PR B: правдивість середовища виконання
### PR B: правдивість runtime
Володіє:
Охоплює:
- коректністю Codex OAuth scope
- типізованою класифікацією збоїв провайдера/середовища виконання
- правдивою доступністю `/elevated full` і причинами блокування
- коректність області дії Codex OAuth
- типізовану класифікацію збоїв provider/runtime
- правдиву доступність `/elevated full` і причини блокування
Не володіє:
Не охоплює:
- нормалізацією схем інструментів
- станом повтору/живучості
- керуванням бенчмарком
- нормалізацію схеми інструментів
- стан replay/liveness
- керування бенчмарками
### PR C: коректність виконання
Володіє:
Охоплює:
- сумісністю інструментів OpenAI/Codex, що належить провайдеру
- суворою обробкою схем без параметрів
- відображенням replay-invalid
- видимістю станів paused, blocked і abandoned для довготривалих завдань
- сумісність інструментів OpenAI/Codex, якою володіє provider
- обробку суворої схеми без параметрів
- відображення replay-invalid
- видимість станів paused, blocked і abandoned для довгих завдань
Не володіє:
Не охоплює:
- самостійно обраним продовженням
- загальною поведінкою діалекту Codex поза хуками провайдера
- керуванням бенчмарком
- continuation, самостійно обрану системою
- загальну поведінку діалекту Codex поза хуками provider
- керування бенчмарками
### PR D: harness паритету
### PR D: каркас паритету
Володіє:
Охоплює:
- першим пакетом сценаріїв GPT-5.4 vs Opus 4.6
- документацією щодо паритету
- механікою звіту про паритет і release-gate
- першу хвилю набору сценаріїв GPT-5.4 vs Opus 4.6
- документацію паритету
- механіку звіту про паритет і gate для релізу
Не володіє:
Не охоплює:
- змінами поведінки середовища виконання поза QA-lab
- симуляцією auth/proxy/DNS усередині harness
- зміни поведінки runtime поза QA-lab
- симуляцію auth/proxy/DNS усередині каркаса
## Відображення назад до початкових шести контрактів
## Відображення назад на початкові шість контрактів
| Початковий контракт | Одиниця злиття |
| --------------------------------------- | -------------- |
| Коректність транспорту/автентифікації провайдера | PR B |
| Коректність transport/auth provider | PR B |
| Сумісність контракту/схеми інструментів | PR C |
| Виконання в тому ж ході | PR A |
| Правдивість щодо дозволів | PR B |
| Коректність повтору/продовження/живучості | PR C |
| Бенчмарк/release gate | PR D |
| Виконання в межах того самого ходу | PR A |
| Правдивість дозволів | PR B |
| Коректність replay/continuation/liveness | PR C |
| Бенчмарк/gate релізу | PR D |
## Порядок рев’ю
## Порядок перегляду
1. PR A
2. PR B
3. PR C
4. PR D
PR D — це доказовий шар. Він не повинен бути причиною, через яку затримуються PR з коректністю середовища виконання.
PR D — це рівень доказів. Він не повинен бути причиною затримки PR-ів із коректністю runtime.
## На що звертати увагу
### PR A
- GPT-5 runs виконують дію або завершуються з fail closed, а не зупиняються на коментарі
- запуски GPT-5 або виконують дію, або завершуються в закритий спосіб, замість зупинки на коментарі
- `update_plan` більше не виглядає як прогрес сам по собі
- поведінка лишається GPT-5-first і scoped для embedded-Pi
- поведінка лишається GPT-5-first і обмеженою сферою embedded-Pi
### PR B
- збої auth/proxy/runtime більше не зводяться до загальної обробки “model failed”
- збої auth/proxy/runtime більше не згортаються до загальної обробки “model failed”
- `/elevated full` описується як доступний лише тоді, коли він справді доступний
- причини блокування видимі як моделі, так і user-facing runtime
- причини блокування видимі і для моделі, і для user-facing runtime
### PR C
- сувора реєстрація інструментів OpenAI/Codex поводиться передбачувано
- інструменти без параметрів не провалюють перевірки strict schema
- результати replay і compaction зберігають правдивий стан живучості
- інструменти без параметрів не провалюють перевірки суворої схеми
- результати replay і Compaction зберігають правдивий стан liveness
### PR D
- пакет сценаріїв зрозумілий і відтворюваний
- пакет включає mutating replay-safety lane, а не лише read-only flows
- набір сценаріїв зрозумілий і відтворюваний
- набір містить смугу mutating replay-safety, а не лише read-only потоки
- звіти читабельні для людей і автоматизації
- твердження про паритет підкріплені доказами, а не анекдотичні
@ -123,15 +128,15 @@ PR D — це доказовий шар. Він не повинен бути п
- `qa-suite-report.md` / `qa-suite-summary.json` для кожного запуску моделі
- `qa-agentic-parity-report.md` з агрегованим порівнянням і порівнянням на рівні сценаріїв
- `qa-agentic-parity-summary.json` з машиночитним вердиктом
- `qa-agentic-parity-summary.json` із машиночитаним вердиктом
## Release gate
## Gate релізу
Не стверджуйте про паритет GPT-5.4 або його перевагу над Opus 4.6, доки:
Не стверджуйте паритет або перевагу GPT-5.4 над Opus 4.6, доки:
- PR A, PR B і PR C не злиті
- PR D не запускає перший пакет сценаріїв паритету без помилок
- регресійні набори runtime-truthfulness лишаються зеленими
- PR D не запускає чисто набір паритету першої хвилі
- набори регресійних тестів правдивості runtime залишаються зеленими
- звіт про паритет не показує випадків fake-success і регресій у поведінці зупинки
```mermaid
@ -148,27 +153,27 @@ flowchart LR
H -- "no" --> J["Keep runtime fixes / review loop open"]
```
harness паритету — не єдине джерело доказів. Під час рев’ю чітко зберігайте цей поділ:
Каркас паритету — не єдине джерело доказів. Під час перегляду явно зберігайте цей поділ:
- PR D володіє порівнянням GPT-5.4 vs Opus 4.6 на основі сценаріїв
- детерміновані набори PR B і далі володіють доказами щодо auth/proxy/DNS і правдивості full-access
- PR D відповідає за порівняння GPT-5.4 vs Opus 4.6 на основі сценаріїв
- детерміновані набори PR B як і раніше відповідають за докази щодо auth/proxy/DNS і правдивості повного доступу
## Відображення цілі до доказів
## Відображення цілей на докази
| Елемент completion gate | Основний власник | Артефакт рев’ю |
| Пункт gate завершення | Основний власник | Артефакт перегляду |
| ---------------------------------------- | ---------------- | ------------------------------------------------------------------- |
| Жодних зупинок лише на плані | PR A | strict-agentic runtime tests і `approval-turn-tool-followthrough` |
| Жодного фальшивого прогресу чи фальшивого завершення інструменту | PR A + PR D | кількість fake-success у паритеті плюс деталі звіту на рівні сценаріїв |
| Жодних хибних підказок `/elevated full` | PR B | детерміновані набори runtime-truthfulness |
| Збої replay/liveness лишаються явними | PR C + PR D | набори lifecycle/replay плюс `compaction-retry-mutating-tool` |
| Немає зависань лише на плані | PR A | тести runtime strict-agentic і `approval-turn-tool-followthrough` |
| Немає фальшивого прогресу чи фальшивого завершення інструменту | PR A + PR D | кількість fake-success у паритеті плюс деталі звіту на рівні сценаріїв |
| Немає хибних підказок `/elevated full` | PR B | детерміновані набори правдивості runtime |
| Збої replay/liveness залишаються явними | PR C + PR D | набори lifecycle/replay плюс `compaction-retry-mutating-tool` |
| GPT-5.4 відповідає Opus 4.6 або перевершує його | PR D | `qa-agentic-parity-report.md` і `qa-agentic-parity-summary.json` |
## Скорочення для рев’ю: до vs після
## Коротка пам’ятка для рев’юера: до vs після
| Видима користувачу проблема до змін | Сигнал під час рев’ю після змін |
| ------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| GPT-5.4 зупинявся після планування | PR A показує поведінку act-or-block замість завершення лише на коментарі |
| Використання інструментів здавалося крихким із суворими схемами OpenAI/Codex | PR C зберігає передбачуваність реєстрації інструментів і викликів без параметрів |
| Підказки `/elevated full` іноді вводили в оману | PR B прив’язує підказки до реальних можливостей runtime і причин блокування |
| Довгі завдання могли зникати в неоднозначності replay/compaction | PR C видає явний стан paused, blocked, abandoned і replay-invalid |
| Твердження про паритет були анекдотичними | PR D створює звіт і JSON verdict з однаковим покриттям сценаріїв для обох моделей |
| Видима для користувача проблема до | Сигнал під час перегляду після |
| ----------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| GPT-5.4 зупинявся після планування | PR A показує поведінку act-or-block замість завершення лише на коментарі |
| Використання інструментів здавалося крихким із суворими схемами OpenAI/Codex | PR C зберігає передбачуваність реєстрації інструментів і виклику без параметрів |
| Підказки `/elevated full` інколи вводили в оману | PR B прив’язує підказки до фактичної можливості runtime і причин блокування |
| Довгі завдання могли зникати в неоднозначності replay/Compaction | PR C видає явний стан paused, blocked, abandoned і replay-invalid |
| Твердження про паритет були анекдотичними | PR D формує звіт плюс JSON-вердикт з однаковим покриттям сценаріїв на обох моделях |

View File

@ -1,64 +1,70 @@
---
read_when:
- Налагодження поведінки агента GPT-5.4 або Codex
- Порівняння агентної поведінки OpenClaw у різних передових моделях
- Огляд виправлень strict-agentic, tool-schema, elevation і replay
summary: Як OpenClaw усуває прогалини в агентному виконанні для GPT-5.4 і моделей у стилі Codex
title: GPT-5.4 / Агентний паритет Codex
x-i18n:
generated_at: "2026-04-11T13:24:07Z"
generated_at: "2026-04-21T21:37:37Z"
model: gpt-5.4
provider: openai
source_hash: 7ee6b925b8a0f8843693cea9d50b40544657b5fb8a9e0860e2ff5badb273acb6
source_hash: 77bc9b8fab289bd35185fa246113503b3f5c94a22bd44739be07d39ae6779056
source_path: help/gpt54-codex-agentic-parity.md
workflow: 15
---
# Паритет агентної поведінки GPT-5.4 / Codex в OpenClaw
# Агентний паритет GPT-5.4 / Codex в OpenClaw
OpenClaw уже добре працював із frontier-моделями, що використовують інструменти, але моделі у стилі GPT-5.4 і Codex все ще поступалися в кількох практичних аспектах:
OpenClaw уже добре працював із передовими моделями, що використовують інструменти, але GPT-5.4 і моделі у стилі Codex усе ще недопрацьовували в кількох практичних аспектах:
- вони могли зупинятися після планування замість виконання роботи
- вони могли неправильно використовувати суворі схеми інструментів OpenAI/Codex
- вони могли просити `/elevated full`, навіть коли повний доступ був неможливий
- вони могли втрачати стан довготривалих завдань під час replay або compaction
- вони могли запитувати `/elevated full`, навіть коли повний доступ був неможливий
- вони могли втрачати стан довготривалого завдання під час replay або Compaction
- твердження про паритет із Claude Opus 4.6 ґрунтувалися на анекдотичних випадках, а не на відтворюваних сценаріях
Ця програма паритету усуває ці прогалини у чотирьох окремих частинах, придатних для рев'ю.
Ця програма паритету усуває ці прогалини в чотирьох придатних для рев’ю зрізах.
## Що змінилося
### PR A: суворе агентне виконання
Ця частина додає контракт виконання `strict-agentic` з можливістю opt-in для вбудованих запусків Pi GPT-5.
Цей зріз додає контракт виконання `strict-agentic` з увімкненням за вибором для вбудованих запусків Pi GPT-5.
Коли його ввімкнено, OpenClaw більше не приймає ходи лише з планом як «достатньо хороше» завершення. Якщо модель лише каже, що вона збирається зробити, але фактично не використовує інструменти й не просувається вперед, OpenClaw повторює спробу з вказівкою діяти негайно, а потім завершує з явним blocked-станом замість того, щоб тихо завершити завдання.
Коли його ввімкнено, OpenClaw перестає вважати ходи лише з планом «достатньо хорошим» завершенням. Якщо модель лише каже, що вона збирається зробити, але фактично не використовує інструменти і не просувається вперед, OpenClaw повторює спробу зі спрямуванням діяти негайно, а потім завершує з явним заблокованим станом замість того, щоб мовчки завершити завдання.
Це найбільше покращує досвід GPT-5.4 у таких випадках:
Це найбільше покращує досвід із GPT-5.4 у таких випадках:
- короткі підтвердження на кшталт «ок, зроби це»
- короткі уточнення на кшталт «гаразд, зроби це»
- завдання з кодом, де перший крок очевидний
- потоки, де `update_plan` має бути відстеженням прогресу, а не текстом-заповнювачем
- потоки, де `update_plan` має відстежувати прогрес, а не бути заповнювальним текстом
### PR B: правдивість runtime
### PR B: правдивість середовища виконання
Ця частина змушує OpenClaw говорити правду про дві речі:
Цей зріз змушує OpenClaw говорити правду про дві речі:
- чому виклик provider/runtime завершився помилкою
- чому виклик провайдера/середовища виконання завершився помилкою
- чи справді доступний `/elevated full`
Це означає, що GPT-5.4 отримує кращі сигнали runtime щодо відсутнього scope, помилок оновлення auth, HTML 403 auth failures, проблем із proxy, DNS або timeout, а також заблокованих режимів повного доступу. Модель менше схильна вигадувати неправильний спосіб усунення проблеми або продовжувати просити режим дозволів, який runtime не може надати.
Це означає, що GPT-5.4 отримує кращі сигнали від середовища виконання щодо відсутньої області доступу, збоїв оновлення автентифікації, помилок автентифікації HTML 403, проблем із проксі, помилок DNS або тайм-аутів, а також заблокованих режимів повного доступу. Модель менш схильна вигадувати неправильний спосіб усунення проблеми або й надалі запитувати режим дозволів, який середовище виконання не може надати.
### PR C: коректність виконання
Ця частина покращує два види коректності:
Цей зріз покращує два види коректності:
- сумісність схем інструментів OpenAI/Codex, що належать provider
- видимість replay і життєвого циклу довгих завдань
- сумісність схем інструментів OpenAI/Codex, якими володіє провайдер
- відображення replay і життєздатності довгих завдань
Робота над сумісністю інструментів зменшує тертя зі схемами для суворої реєстрації інструментів OpenAI/Codex, особливо навколо інструментів без параметрів і очікувань суворого object-root. Робота над replay/liveness робить довготривалі завдання більш спостережуваними, тож paused, blocked і abandoned-стани стають видимими замість того, щоб зникати у загальному тексті помилки.
Робота над сумісністю інструментів зменшує тертя зі схемами для суворої реєстрації інструментів OpenAI/Codex, особливо навколо інструментів без параметрів і суворих очікувань щодо кореня-об’єкта. Робота над replay/життєздатністю робить довготривалі завдання більш спостережуваними, тож призупинені, заблоковані та покинуті стани видно, а не приховано за загальним текстом про помилку.
### PR D: harness паритету
### PR D: обв’язка паритету
Ця частина додає перший набір parity pack для QA-lab, щоб GPT-5.4 і Opus 4.6 можна було проганяти через ті самі сценарії й порівнювати за спільними доказами.
Цей зріз додає перший пакет паритету QA-lab, щоб GPT-5.4 і Opus 4.6 можна було проганяти через однакові сценарії та порівнювати за спільними доказами.
Parity pack — це рівень доказів. Сам по собі він не змінює поведінку runtime.
Пакет паритету — це рівень доказів. Сам по собі він не змінює поведінку середовища виконання.
Після того як у вас є два артефакти `qa-suite-summary.json`, згенеруйте порівняння release gate командою:
Після того як у вас є два артефакти `qa-suite-summary.json`, згенеруйте порівняння для релізного gate за допомогою:
```bash
pnpm openclaw qa parity-report \
@ -70,160 +76,160 @@ pnpm openclaw qa parity-report \
Ця команда записує:
- Markdown-звіт, читабельний для людини
- JSON-вердикт, читабельний для машини
- Markdown-звіт, придатний для читання людиною
- JSON-вердикт, придатний для читання машиною
- явний результат gate `pass` / `fail`
## Чому це практично покращує GPT-5.4
До цієї роботи GPT-5.4 в OpenClaw міг здаватися менш агентним, ніж Opus, у реальних сесіях кодування, тому що runtime допускав поведінки, які особливо шкідливі для моделей у стилі GPT-5:
До цієї роботи GPT-5.4 в OpenClaw міг здаватися менш агентним, ніж Opus, у реальних сесіях кодування, тому що середовище виконання допускало поведінку, яка особливо шкідлива для моделей у стилі GPT-5:
- ходи лише з коментарями
- тертя схем навколо інструментів
- нечіткий зворотний зв'язок щодо дозволів
- тихі збої replay або compaction
- нечіткий зворотний звязок щодо дозволів
- тихі збої replay або Compaction
Мета не в тому, щоб змусити GPT-5.4 імітувати Opus. Мета в тому, щоб дати GPT-5.4 контракт runtime, який винагороджує реальний прогрес, надає чистішу семантику інструментів і дозволів та перетворює режими збоїв на явні стани, читабельні і для машини, і для людини.
Мета не в тому, щоб змусити GPT-5.4 імітувати Opus. Мета в тому, щоб дати GPT-5.4 контракт середовища виконання, який винагороджує реальний прогрес, надає чистішу семантику інструментів і дозволів та перетворює режими збоїв на явні машино- і людиночитані стани.
Це змінює користувацький досвід із такого:
Це змінює користувацький досвід із:
- «модель мала хороший план, але зупинилася»
на такий:
на:
- «модель або подіяла, або OpenClaw показав точну причину, чому вона не змогла»
- «модель або виконала дію, або OpenClaw показав точну причину, чому вона не змогла цього зробити»
## До і після для користувачів GPT-5.4
| До цієї програми | Після PR A-D |
| --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| GPT-5.4 міг зупинитися після розумного плану, не зробивши наступний крок з інструментом | PR A перетворює «лише план» на «дій зараз або покажи blocked-стан» |
| Суворі схеми інструментів могли відхиляти інструменти без параметрів або у форматі OpenAI/Codex у заплутаний спосіб | PR C робить реєстрацію та виклик інструментів, що належать provider, більш передбачуваними |
| Підказки щодо `/elevated full` могли бути нечіткими або хибними в заблокованих runtime | PR B дає GPT-5.4 і користувачу правдиві підказки runtime та дозволів |
| Збої replay або compaction могли виглядати так, ніби завдання тихо зникло | PR C явно показує paused, blocked, abandoned і replay-invalid результати |
| «GPT-5.4 відчувається гірше за Opus» було здебільшого анекдотичним | PR D перетворює це на той самий набір сценаріїв, ті самі метрики й жорсткий gate pass/fail |
| До цієї програми | Після PR A-D |
| ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
| GPT-5.4 міг зупинитися після розумного плану, не переходячи до наступного кроку з інструментом | PR A перетворює «лише план» на «дій зараз або покажи заблокований стан» |
| Суворі схеми інструментів могли заплутано відхиляти інструменти без параметрів або інструменти у форматі OpenAI/Codex | PR C робить реєстрацію та виклик інструментів, якими володіє провайдер, більш передбачуваними |
| Підказки щодо `/elevated full` могли бути нечіткими або неправильними в заблокованих середовищах виконання | PR B дає GPT-5.4 і користувачу правдиві підказки від середовища виконання та щодо дозволів |
| Збої replay або Compaction могли виглядати так, ніби завдання просто тихо зникло | PR C явно показує результати paused, blocked, abandoned і replay-invalid |
| «GPT-5.4 відчувається гіршим за Opus» було здебільшого анекдотичним твердженням | PR D перетворює це на той самий пакет сценаріїв, ті самі метрики та жорсткий gate pass/fail |
## Архітектура
```mermaid
flowchart TD
A["Запит користувача"] --> B["Вбудований runtime Pi"]
A["Запит користувача"] --> B["Вбудоване середовище виконання Pi"]
B --> C["Контракт суворого агентного виконання"]
B --> D["Сумісність інструментів, що належать provider"]
B --> E["Правдивість runtime"]
B --> F["Replay і стан життєвого циклу"]
C --> G["Виклик інструмента або явний blocked-стан"]
B --> D["Сумісність інструментів, якими володіє провайдер"]
B --> E["Правдивість середовища виконання"]
B --> F["Стан replay і життєздатності"]
C --> G["Виклик інструмента або явний заблокований стан"]
D --> G
E --> G
F --> G
G --> H["Parity pack QA-lab"]
H --> I["Звіт за сценаріями та parity gate"]
G --> H["Пакет паритету QA-lab"]
H --> I["Звіт за сценарієм і gate паритету"]
```
## Потік релізу
```mermaid
flowchart LR
A["Об'єднані runtime-частини (PR A-C)"] --> B["Запустити parity pack GPT-5.4"]
A --> C["Запустити parity pack Opus 4.6"]
A["Об’єднані зрізи середовища виконання (PR A-C)"] --> B["Запустити пакет паритету GPT-5.4"]
A --> C["Запустити пакет паритету Opus 4.6"]
B --> D["qa-suite-summary.json"]
C --> E["qa-suite-summary.json"]
D --> F["openclaw qa parity-report"]
E --> F
F --> G["qa-agentic-parity-report.md"]
F --> H["qa-agentic-parity-summary.json"]
H --> I{"Gate pass?"}
I -- "так" --> J["Твердження про паритет, підкріплене доказами"]
I -- "ні" --> K["Залишити цикл runtime/review відкритим"]
H --> I{"Gate пройдено?"}
I -- "так" --> J["Твердження про паритет, підтверджене доказами"]
I -- "ні" --> K["Залишити цикл середовища виконання/рев’ю відкритим"]
```
## Набір сценаріїв
## Пакет сценаріїв
Поточний parity pack першої хвилі охоплює п'ять сценаріїв:
Наразі пакет паритету першої хвилі охоплює п’ять сценаріїв:
### `approval-turn-tool-followthrough`
Перевіряє, що модель не зупиняється на «Я це зроблю» після короткого підтвердження. Вона має виконати першу конкретну дію в тому ж самому ході.
Перевіряє, що модель не зупиняється на «Я це зроблю» після короткого схвалення. Вона має виконати першу конкретну дію в тому ж ході.
### `model-switch-tool-continuity`
Перевіряє, що робота з інструментами залишається узгодженою через межі перемикання моделі/runtime, а не скидається до коментарів чи не втрачає контекст виконання.
Перевіряє, що робота з використанням інструментів залишається зв’язною через межі перемикання моделі/середовища виконання, а не скидається до коментарів або не втрачає контекст виконання.
### `source-docs-discovery-report`
Перевіряє, що модель може читати вихідний код і документацію, синтезувати висновки й продовжувати завдання агентно, а не видавати коротке резюме й рано зупинятися.
Перевіряє, що модель може читати вихідний код і документацію, синтезувати висновки та продовжувати завдання агентно, а не видавати поверхневий підсумок і зупинятися надто рано.
### `image-understanding-attachment`
Перевіряє, що змішані завдання з вкладеннями залишаються виконуваними й не зводяться до розмитого опису.
Перевіряє, що задачі змішаного режиму з вкладеннями залишаються придатними до виконання та не зводяться до нечіткої оповіді.
### `compaction-retry-mutating-tool`
Перевіряє, що завдання з реальним mutating write зберігає явну ознаку небезпеки replay замість того, щоб тихо виглядати безпечним для replay, якщо виконання зазнає compaction, retry або втрачає стан відповіді під навантаженням.
Перевіряє, що завдання з реальною мутаційною операцією запису зберігає явну небезпеку replay, замість того щоб тихо виглядати replay-safe, якщо запуск зазнає Compaction, повторної спроби або втрати стану відповіді під тиском.
## Матриця сценаріїв
| Сценарій | Що він перевіряє | Хороша поведінка GPT-5.4 | Сигнал збою |
| ---------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `approval-turn-tool-followthrough` | Короткі підтвердження після плану | Одразу починає першу конкретну дію з інструментом замість повторення наміру | підтвердження лише з планом, без активності інструментів або blocked-хід без реального блокера |
| `model-switch-tool-continuity` | Перемикання runtime/моделі під час роботи з інструментами | Зберігає контекст завдання й продовжує діяти узгоджено | скидається до коментарів, втрачає контекст інструментів або зупиняється після перемикання |
| `source-docs-discovery-report` | Читання коду + синтез + дія | Знаходить джерела, використовує інструменти й створює корисний звіт без зависання | коротке резюме, відсутня робота з інструментами або зупинка на незавершеному ході |
| `image-understanding-attachment` | Агентна робота на основі вкладень | Інтерпретує вкладення, пов'язує його з інструментами й продовжує завдання | розмитий опис, вкладення проігноровано або немає конкретної наступної дії |
| `compaction-retry-mutating-tool` | Змінювальна робота під тиском compaction | Виконує реальний запис і зберігає явну ознаку небезпеки replay після побічного ефекту | mutating write відбувається, але безпечність replay мається на увазі, відсутня або суперечлива |
| Сценарій | Що він перевіряє | Хороша поведінка GPT-5.4 | Сигнал збою |
| ---------------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `approval-turn-tool-followthrough` | Короткі ходи схвалення після плану | Одразу починає першу конкретну дію з інструментом замість повторення наміру | подальший хід лише з планом, відсутність активності інструментів або заблокований хід без реального блокера |
| `model-switch-tool-continuity` | Перемикання середовища виконання/моделі під час використання інструментів | Зберігає контекст завдання і продовжує діяти зв’язно | скидається до коментарів, втрачає контекст інструментів або зупиняється після перемикання |
| `source-docs-discovery-report` | Читання джерел + синтез + дія | Знаходить джерела, використовує інструменти та створює корисний звіт без зависання | поверхневий підсумок, відсутня робота з інструментами або зупинка на незавершеному ході |
| `image-understanding-attachment` | Агентна робота на основі вкладення | Інтерпретує вкладення, пов’язує його з інструментами й продовжує завдання | нечітка оповідь, вкладення проігноровано або відсутня конкретна наступна дія |
| `compaction-retry-mutating-tool` | Мутаційна робота під тиском Compaction | Виконує реальний запис і зберігає явну небезпеку replay після побічного ефекту | відбувається мутаційний запис, але безпечність replay мається на увазі, відсутня або суперечлива |
## Release gate
GPT-5.4 можна вважати таким, що досяг паритету або перевершив його, лише коли об'єднаний runtime одночасно проходить parity pack і регресійні перевірки правдивості runtime.
GPT-5.4 можна вважати таким, що досяг паритету або перевершив його, лише тоді, коли об’єднане середовище виконання одночасно проходить пакет паритету та регресії правдивості середовища виконання.
Необхідні результати:
- відсутність зупинки на плані, коли наступна дія з інструментом очевидна
- відсутність фальшивого завершення без реального виконання
- відсутність неправильних підказок щодо `/elevated full`
- відсутність тихого abandon через replay або compaction
- метрики parity pack щонайменше такі самі сильні, як у погодженого baseline Opus 4.6
- жодного зависання на рівні лише плану, коли наступна дія з інструментом очевидна
- жодного фальшивого завершення без реального виконання
- жодних неправильних підказок щодо `/elevated full`
- жодного тихого покидання через replay або Compaction
- метрики пакета паритету не слабші за погоджений базовий рівень Opus 4.6
Для harness першої хвилі gate порівнює:
Для обв’язки першої хвилі gate порівнює:
- completion rate
- unintended-stop rate
- valid-tool-call rate
- fake-success count
- рівень завершення
- рівень ненавмисних зупинок
- рівень коректних викликів інструментів
- кількість фальшивих успіхів
Докази паритету навмисно розділено на два рівні:
- PR D доводить поведінку GPT-5.4 vs Opus 4.6 на тих самих сценаріях за допомогою QA-lab
- детерміновані набори PR B доводять правдивість auth, proxy, DNS і `/elevated full` поза межами harness
- PR D доводить поведінку GPT-5.4 проти Opus 4.6 в однакових сценаріях через QA-lab
- детерміновані набори PR B доводять правдивість auth, proxy, DNS і `/elevated full` поза межами обв’язки
## Матриця «ціль → доказ»
| Елемент completion gate | Власник PR | Джерело доказів | Сигнал проходження |
| ------------------------------------------------------ | ----------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------- |
| GPT-5.4 більше не зависає після планування | PR A | `approval-turn-tool-followthrough` плюс runtime-набори PR A | ходи з підтвердженням запускають реальну роботу або явний blocked-стан |
| GPT-5.4 більше не імітує прогрес або фальшиве завершення інструментів | PR A + PR D | результати сценаріїв у parity report і fake-success count | немає підозрілих pass-результатів і немає завершення лише з коментарями |
| GPT-5.4 більше не дає хибних підказок щодо `/elevated full` | PR B | детерміновані набори перевірки правдивості | причини блокування й підказки повного доступу залишаються точними щодо runtime |
| Збої replay/liveness залишаються явними | PR C + PR D | lifecycle/replay-набори PR C плюс `compaction-retry-mutating-tool` | змінювальна робота зберігає явну ознаку небезпеки replay замість того, щоб тихо зникати |
| GPT-5.4 відповідає або перевершує Opus 4.6 за погодженими метриками | PR D | `qa-agentic-parity-report.md` і `qa-agentic-parity-summary.json` | те саме покриття сценаріїв і відсутність регресу в completion, stop-behavior або коректному використанні інструментів |
| Пункт gate завершення | Відповідальний PR | Джерело доказу | Сигнал проходження |
| ------------------------------------------------------- | ----------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------- |
| GPT-5.4 більше не зависає після планування | PR A | `approval-turn-tool-followthrough` плюс набори середовища виконання PR A | ходи схвалення запускають реальну роботу або явний заблокований стан |
| GPT-5.4 більше не імітує прогрес або фальшиве завершення інструмента | PR A + PR D | результати сценаріїв у звіті паритету та кількість фальшивих успіхів | немає підозрілих результатів проходження і немає завершення лише коментарями |
| GPT-5.4 більше не дає хибних підказок щодо `/elevated full` | PR B | детерміновані набори правдивості | причини блокування та підказки щодо повного доступу залишаються точними відносно середовища виконання |
| Збої replay/життєздатності залишаються явними | PR C + PR D | набори життєвого циклу/replay PR C плюс `compaction-retry-mutating-tool` | мутаційна робота зберігає явну небезпеку replay замість того, щоб тихо зникати |
| GPT-5.4 відповідає або перевершує Opus 4.6 за погодженими метриками | PR D | `qa-agentic-parity-report.md` і `qa-agentic-parity-summary.json` | однакове покриття сценаріїв і відсутність регресії в завершенні, поведінці зупинки або коректному використанні інструментів |
## Як читати parity verdict
## Як читати вердикт паритету
Використовуйте verdict у `qa-agentic-parity-summary.json` як фінальне машиночитне рішення для parity pack першої хвилі.
Використовуйте вердикт у `qa-agentic-parity-summary.json` як остаточне машиночитане рішення для пакета паритету першої хвилі.
- `pass` означає, що GPT-5.4 покрив ті самі сценарії, що й Opus 4.6, і не погіршив погоджені агреговані метрики.
- `fail` означає, що спрацював принаймні один жорсткий gate: слабше completion, гірші unintended stops, слабше коректне використання інструментів, будь-який випадок fake-success або невідповідне покриття сценаріїв.
- «shared/base CI issue» саме по собі не є результатом паритету. Якщо шум CI поза межами PR D блокує прогін, verdict має чекати на чисте виконання merged-runtime, а не виводитися з логів епохи гілки.
- Правдивість auth, proxy, DNS і `/elevated full` як і раніше підтверджується детермінованими наборами PR B, тож фінальне твердження для релізу потребує обох умов: verdict паритету PR D із результатом pass і зелений статус покриття правдивості PR B.
- `pass` означає, що GPT-5.4 охопив ті самі сценарії, що й Opus 4.6, і не дав регресії за погодженими агрегованими метриками.
- `fail` означає, що спрацював принаймні один жорсткий gate: слабше завершення, гірші ненавмисні зупинки, слабше коректне використання інструментів, будь-який випадок фальшивого успіху або невідповідне покриття сценаріїв.
- «shared/base CI issue» сам по собі не є результатом паритету. Якщо шум CI поза межами PR D блокує прогін, вердикт має чекати на чисте виконання в об’єднаному середовищі виконання, а не виводитися з логів епохи гілки.
- Правдивість auth, proxy, DNS і `/elevated full` як і раніше походить із детермінованих наборів PR B, тому для фінального твердження про реліз потрібні обидва пункти: успішний вердикт паритету PR D і зелена правдивісна перевірка PR B.
## Кому слід вмикати `strict-agentic`
Використовуйте `strict-agentic`, коли:
- очікується, що агент діятиме негайно, якщо наступний крок очевидний
- GPT-5.4 або моделі сімейства Codex є основним runtime
- ви віддаєте перевагу явним blocked-станам замість «корисних» відповідей лише з підсумком
- очікується, що агент діятиме негайно, коли наступний крок очевидний
- GPT-5.4 або моделі сімейства Codex є основним середовищем виконання
- ви надаєте перевагу явним заблокованим станам замість «корисних» відповідей лише з підсумком
Залишайте контракт за замовчуванням, коли:
- вам потрібна наявна, менш сувора поведінка
- вам потрібна наявна м’якша поведінка
- ви не використовуєте моделі сімейства GPT-5
- ви тестуєте prompt, а не enforcement на рівні runtime
- ви тестуєте prompts, а не примусове дотримання на рівні середовища виконання

View File

@ -1,61 +1,58 @@
---
read_when:
- Проєктування або рефакторинг розуміння медіа
- Налаштування попередньої обробки вхідного аудіо/відео/зображень
summary: Розуміння вхідних зображень/аудіо/відео (необов’язково) з резервними варіантами через провайдера та CLI
- Налаштування попередньої обробки вхідних аудіо/відео/зображень
summary: Вхідне розуміння зображень/аудіо/відео (необов’язково) із запасними варіантами для провайдера та CLI
title: Розуміння медіа
x-i18n:
generated_at: "2026-04-05T18:09:57Z"
generated_at: "2026-04-21T21:37:36Z"
model: gpt-5.4
provider: openai
source_hash: fe36bd42250d48d12f4ff549e8644afa7be8e42ee51f8aff4f21f81b7ff060f4
source_hash: 0d80c9bcd965b521c3c782a76b9dd31eb6e6c635d8a1cc6895b6ccfaf5f9492e
source_path: nodes/media-understanding.md
workflow: 15
---
# Розуміння медіа - вхідні дані (2026-01-17)
# Розуміння медіа — вхідне (2026-01-17)
OpenClaw може **підсумовувати вхідні медіа** (зображення/аудіо/відео) до запуску конвеєра відповіді. Він автоматично визначає, коли доступні локальні інструменти або ключі провайдерів, і може бути вимкнений або налаштований. Якщо розуміння вимкнено, моделі, як і раніше, отримують оригінальні файли/URL.
OpenClaw може **узагальнювати вхідні медіа** (зображення/аудіо/відео) до запуску конвеєра відповіді. Він автоматично визначає, коли доступні локальні інструменти або ключі провайдера, і може бути вимкнений або налаштований. Якщо розуміння вимкнене, моделі все одно отримують вихідні файли/URL-адреси як зазвичай.
Поведінку медіа, специфічну для постачальника, реєструють плагіни постачальників, тоді як
core OpenClaw відповідає за спільну конфігурацію `tools.media`, порядок fallback і
інтеграцію з конвеєром відповідей.
Поведінка медіа, специфічна для постачальника, реєструється через плагіни постачальників, тоді як ядро OpenClaw володіє спільною конфігурацією `tools.media`, порядком запасних варіантів і інтеграцією з конвеєром відповіді.
## Цілі
- Необов’язково: попередньо стисло обробляти вхідні медіа в короткий текст для швидшої маршрутизації та кращого розбору команд.
- Завжди зберігати доставку оригінальних медіа до моделі.
- Підтримувати **API провайдерів** і **CLI fallback**.
- Дозволяти кілька моделей із впорядкованим fallback (помилка/розмір/тайм-аут).
- Необов’язково: попередньо зводити вхідні медіа до короткого тексту для швидшої маршрутизації та кращого розбору команд.
- Завжди зберігати передавання оригінальних медіа до моделі.
- Підтримувати **API провайдерів** і **запасні варіанти через CLI**.
- Дозволяти кілька моделей з упорядкованим запасним переходом (помилка/розмір/тайм-аут).
## Поведінка на високому рівні
1. Зібрати вхідні вкладення (`MediaPaths`, `MediaUrls`, `MediaTypes`).
2. Для кожної ввімкненої можливості (image/audio/video) вибрати вкладення згідно з політикою (типово: **перше**).
3. Вибрати перший придатний запис моделі (розмір + можливість + auth).
4. Якщо модель завершується помилкою або медіа надто велике, **перейти до наступного запису**.
2. Для кожної ввімкненої можливості (зображення/аудіо/відео) вибрати вкладення згідно з політикою (типово: **перше**).
3. Вибрати перший придатний запис моделі (розмір + можливість + автентифікація).
4. Якщо модель завершується помилкою або медіа завелике, **перейти до наступного запису**.
5. У разі успіху:
- `Body` стає блоком `[Image]`, `[Audio]` або `[Video]`.
- Для аудіо задається `{{Transcript}}`; під час розбору команди використовується текст підпису, якщо він є,
інакше — транскрипт.
- Підписи зберігаються як `User text:` усередині блока.
- Для аудіо встановлюється `{{Transcript}}`; розбір команд використовує текст підпису, якщо він є, інакше — транскрипт.
- Підписи зберігаються як `User text:` усередині блоку.
Якщо розуміння завершується помилкою або вимкнено, **потік відповіді продовжується** з оригінальним body + вкладеннями.
Якщо розуміння не вдається або вимкнене, **потік відповіді продовжується** з оригінальним тілом і вкладеннями.
## Огляд конфігурації
`tools.media` підтримує **спільні моделі** плюс перевизначення для кожної можливості:
`tools.media` підтримує **спільні моделі** та перевизначення для кожної можливості окремо:
- `tools.media.models`: спільний список моделей (використовуйте `capabilities` для обмеження).
- `tools.media.image` / `tools.media.audio` / `tools.media.video`:
- типові значення (`prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`)
- перевизначення провайдера (`baseUrl`, `headers`, `providerOptions`)
- параметри аудіо Deepgram через `tools.media.audio.providerOptions.deepgram`
- керування echo для транскриптів аудіо (`echoTranscript`, типово `false`; `echoFormat`)
- необов’язковий **список `models` для конкретної можливості** (має пріоритет перед спільними моделями)
- параметри Deepgram для аудіо через `tools.media.audio.providerOptions.deepgram`
- параметри повторного виведення транскрипту аудіо (`echoTranscript`, типово `false`; `echoFormat`)
- необов’язковий **список `models` для окремої можливості** (має пріоритет над спільними моделями)
- політика `attachments` (`mode`, `maxAttachments`, `prefer`)
- `scope` (необов’язкове gating за channel/chatType/session key)
- `tools.media.concurrency`: максимальна кількість паралельних запусків можливостей (типово **2**).
- `scope` (необов’язкове обмеження за channel/chatType/session key)
- `tools.media.concurrency`: максимальна кількість одночасних запусків можливостей (типово **2**).
```json5
{
@ -82,7 +79,7 @@ core OpenClaw відповідає за спільну конфігурацію
### Записи моделей
Кожен запис `models[]` може бути **provider** або **CLI**:
Кожен запис у `models[]` може бути **provider** або **CLI**:
```json5
{
@ -121,55 +118,50 @@ core OpenClaw відповідає за спільну конфігурацію
- `{{MediaDir}}` (каталог, що містить медіафайл)
- `{{OutputDir}}` (тимчасовий каталог, створений для цього запуску)
- `{{OutputBase}}` (базовий шлях до тимчасового файла без розширення)
- `{{OutputBase}}` (базовий шлях тимчасового файла, без розширення)
## Типові значення та обмеження
Рекомендовані типові значення:
- `maxChars`: **500** для image/video (коротко, зручно для команд)
- `maxChars`: **500** для зображень/відео (коротко, зручно для команд)
- `maxChars`: **не задано** для аудіо (повний транскрипт, якщо ви не встановите обмеження)
- `maxBytes`:
- image: **10MB**
- audio: **20MB**
- video: **50MB**
- зображення: **10MB**
- аудіо: **20MB**
- відео: **50MB**
Правила:
- Якщо медіа перевищує `maxBytes`, ця модель пропускається, і **пробується наступна модель**.
- Аудіофайли, менші за **1024 bytes**, вважаються порожніми/пошкодженими і пропускаються до транскрибування через provider/CLI.
- Якщо модель повертає більше ніж `maxChars`, результат обрізається.
- Для `prompt` типовим є просте “Describe the {media}.” плюс вказівка щодо `maxChars` (лише для image/video).
- Якщо активна основна image model уже нативно підтримує vision, OpenClaw
пропускає блок підсумку `[Image]` і натомість передає
оригінальне зображення в модель.
- Якщо `<capability>.enabled: true`, але моделі не налаштовано, OpenClaw пробує
**активну модель відповіді**, якщо її провайдер підтримує цю можливість.
- Якщо медіа перевищує `maxBytes`, цю модель пропускають і **пробують наступну модель**.
- Аудіофайли менші за **1024 байти** вважаються порожніми/пошкодженими та пропускаються до транскрибування через provider/CLI.
- Якщо модель повертає більше ніж `maxChars`, вивід обрізається.
- Типове значення `prompt` — просте «Describe the {media}.» плюс вказівка щодо `maxChars` (лише для зображень/відео).
- Якщо активна основна модель для зображень уже нативно підтримує vision, OpenClaw пропускає блок зведення `[Image]` і натомість передає оригінальне зображення до моделі.
- Явні запити `openclaw infer image describe --model <provider/model>` відрізняються: вони напряму запускають цей provider/model із підтримкою зображень, зокрема посилання Ollama, як-от `ollama/qwen2.5vl:7b`.
- Якщо `<capability>.enabled: true`, але моделі не налаштовані, OpenClaw намагається використати **активну модель відповіді**, якщо її провайдер підтримує цю можливість.
### Автовизначення розуміння медіа (типово)
Якщо `tools.media.<capability>.enabled` **не** встановлено в `false` і ви не
налаштували моделі, OpenClaw виконує автовизначення в такому порядку і **зупиняється на першому
працюючому варіанті**:
Якщо `tools.media.<capability>.enabled` **не** встановлено в `false` і ви не налаштували моделі, OpenClaw автоматично визначає варіант у такому порядку і **зупиняється на першому робочому варіанті**:
1. **Активна модель відповіді**, якщо її провайдер підтримує цю можливість.
2. **`agents.defaults.imageModel`** primary/fallback refs (лише для image).
3. **Локальні CLI** (лише для audio; якщо встановлено)
2. Основні/запасні посилання **`agents.defaults.imageModel`** (лише для зображень).
3. **Локальні CLI** (лише для аудіо; якщо встановлені)
- `sherpa-onnx-offline` (потребує `SHERPA_ONNX_MODEL_DIR` з encoder/decoder/joiner/tokens)
- `whisper-cli` (`whisper-cpp`; використовує `WHISPER_CPP_MODEL` або вбудовану tiny model)
- `whisper` (CLI Python; автоматично завантажує моделі)
- `whisper-cli` (`whisper-cpp`; використовує `WHISPER_CPP_MODEL` або вбудовану tiny-модель)
- `whisper` (Python CLI; автоматично завантажує моделі)
4. **Gemini CLI** (`gemini`) з використанням `read_many_files`
5. **Автентифікація провайдера**
- Налаштовані записи `models.providers.*`, що підтримують цю можливість,
пробуються до вбудованого порядку fallback.
- Провайдери конфігурації лише для image з image-capable model автоматично реєструються для
розуміння медіа, навіть якщо вони не є вбудованим vendor plugin.
- Вбудований порядок fallback:
- Audio: OpenAI → Groq → Deepgram → Google → Mistral
- Image: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
- Налаштовані записи `models.providers.*`, що підтримують цю можливість, перевіряються раніше за вбудований порядок запасних варіантів.
- Провайдери з конфігурації лише для зображень із моделлю, що підтримує зображення, автоматично реєструються для розуміння медіа, навіть якщо вони не є вбудованим плагіном постачальника.
- Розуміння зображень Ollama доступне за явного вибору, наприклад через `agents.defaults.imageModel` або `openclaw infer image describe --model ollama/<vision-model>`.
- Вбудований порядок запасних варіантів:
- Аудіо: OpenAI → Groq → Deepgram → Google → Mistral
- Зображення: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Відео: Google → Qwen → Moonshot
Щоб вимкнути автовизначення, задайте:
Щоб вимкнути автовизначення, встановіть:
```json5
{
@ -183,26 +175,23 @@ core OpenClaw відповідає за спільну конфігурацію
}
```
Примітка: визначення бінарників виконується best-effort у macOS/Linux/Windows; переконайтеся, що CLI є в `PATH` (ми розгортаємо `~`), або задайте явну CLI model з повним шляхом до команди.
Примітка: виявлення бінарних файлів виконується за принципом best-effort у macOS/Linux/Windows; переконайтеся, що CLI є в `PATH` (ми розгортаємо `~`), або задайте явну CLI-модель із повним шляхом до команди.
### Підтримка proxy environment (моделі провайдерів)
### Підтримка проксі-середовища (provider-моделі)
Коли ввімкнено розуміння медіа через провайдера для **audio** та **video**, OpenClaw
враховує стандартні змінні середовища вихідного проксі для HTTP-викликів провайдера:
Коли ввімкнене розуміння медіа **audio** і **video** на основі провайдера, OpenClaw враховує стандартні змінні середовища вихідного проксі для HTTP-викликів до провайдера:
- `HTTPS_PROXY`
- `HTTP_PROXY`
- `https_proxy`
- `http_proxy`
Якщо змінні середовища проксі не задано, розуміння медіа використовує прямий вихід.
Якщо значення проксі некоректне, OpenClaw записує попередження в журнал і повертається до прямого
отримання.
Якщо змінні середовища проксі не встановлені, розуміння медіа використовує прямий вихід у мережу.
Якщо значення проксі некоректно сформоване, OpenClaw записує попередження в журнал і повертається до прямого отримання.
## Можливості (необов’язково)
Якщо ви задаєте `capabilities`, запис виконується лише для цих типів медіа. Для спільних
списків OpenClaw може вивести типові значення:
Якщо ви задаєте `capabilities`, запис запускається лише для цих типів медіа. Для спільних списків OpenClaw може виводити типові значення:
- `openai`, `anthropic`, `minimax`: **image**
- `minimax-portal`: **image**
@ -214,60 +203,49 @@ core OpenClaw відповідає за спільну конфігурацію
- `zai`: **image**
- `groq`: **audio**
- `deepgram`: **audio**
- Будь-який каталог `models.providers.<id>.models[]` з image-capable model:
**image**
- Будь-який каталог `models.providers.<id>.models[]` із моделлю, що підтримує зображення: **image**
Для CLI-записів **задавайте `capabilities` явно**, щоб уникнути несподіваних збігів.
Якщо `capabilities` пропущено, запис придатний для списку, в якому він розміщений.
Для записів CLI **явно задавайте `capabilities`**, щоб уникнути неочікуваних збігів.
Якщо `capabilities` не вказано, запис придатний для списку, у якому він з’являється.
## Матриця підтримки провайдерів (інтеграції OpenClaw)
| Можливість | Інтеграція провайдера | Примітки |
| ---------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Image | OpenAI, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config providers | Vendor plugins реєструють підтримку image; MiniMax і MiniMax OAuth обидва використовують `MiniMax-VL-01`; image-capable config providers реєструються автоматично. |
| Audio | OpenAI, Groq, Deepgram, Google, Mistral | Транскрибування через провайдера (Whisper/Deepgram/Gemini/Voxtral). |
| Video | Google, Qwen, Moonshot | Розуміння video через vendor plugins; розуміння video у Qwen використовує стандартні ендпоїнти DashScope. |
| Можливість | Інтеграція провайдера | Примітки |
| ---------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Зображення | OpenAI, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config providers | Плагіни постачальників реєструють підтримку зображень; MiniMax і MiniMax OAuth обидва використовують `MiniMax-VL-01`; config providers із підтримкою зображень реєструються автоматично. |
| Аудіо | OpenAI, Groq, Deepgram, Google, Mistral | Транскрибування провайдера (Whisper/Deepgram/Gemini/Voxtral). |
| Відео | Google, Qwen, Moonshot | Розуміння відео провайдером через плагіни постачальників; розуміння відео Qwen використовує стандартні кінцеві точки DashScope. |
Примітка щодо MiniMax:
- Розуміння image у `minimax` і `minimax-portal` походить із plugin-owned
медіапровайдера `MiniMax-VL-01`.
- Вбудований текстовий каталог MiniMax як і раніше починається лише з тексту; явні
записи `models.providers.minimax` матеріалізують image-capable M2.7 chat refs.
- Розуміння зображень `minimax` і `minimax-portal` походить із медіапровайдера `MiniMax-VL-01`, що належить плагіну.
- Вбудований текстовий каталог MiniMax усе ще починається лише з тексту; явні записи `models.providers.minimax` матеріалізують M2.7 chat refs із підтримкою зображень.
## Рекомендації щодо вибору моделі
- Надавайте перевагу найсильнішій доступній моделі останнього покоління для кожної медіаможливості, коли важливі якість і безпека.
- Для агентів з увімкненими інструментами, які працюють із недовіреним вводом, уникайте старіших/слабших медіамоделей.
- Тримайте принаймні один fallback для кожної можливості для доступності (якісна модель + швидша/дешевша модель).
- CLI fallback (`whisper-cli`, `whisper`, `gemini`) корисні, коли API провайдерів недоступні.
- Примітка щодо `parakeet-mlx`: із `--output-dir` OpenClaw читає `<output-dir>/<media-basename>.txt`, коли формат виводу — `txt` (або не задано); формати, відмінні від `txt`, резервно використовують stdout.
- Віддавайте перевагу найсильнішій моделі останнього покоління, доступній для кожної медіаможливості, коли важливі якість і безпека.
- Для агентів з увімкненими інструментами, які обробляють недовірені вхідні дані, уникайте старіших/слабших медіамоделей.
- Тримайте принаймні один запасний варіант для кожної можливості задля доступності (якісна модель + швидша/дешевша модель).
- Запасні варіанти CLI (`whisper-cli`, `whisper`, `gemini`) корисні, коли API провайдерів недоступні.
- Примітка про `parakeet-mlx`: з `--output-dir` OpenClaw читає `<output-dir>/<media-basename>.txt`, коли формат виводу — `txt` (або не вказаний); формати, відмінні від `txt`, повертаються до stdout.
## Політика вкладень
Параметр `attachments` для кожної можливості керує тим, які вкладення обробляються:
`attachments` для кожної можливості визначає, які вкладення обробляються:
- `mode`: `first` (типово) або `all`
- `maxAttachments`: обмеження кількості оброблюваних вкладень (типово **1**)
- `maxAttachments`: обмежує кількість оброблюваних елементів (типово **1**)
- `prefer`: `first`, `last`, `path`, `url`
Коли `mode: "all"`, результати мають мітки `[Image 1/2]`, `[Audio 2/2]` тощо.
Коли `mode: "all"`, результати позначаються як `[Image 1/2]`, `[Audio 2/2]` тощо.
Поведінка витягування файлових вкладень:
Поведінка вилучення з файлових вкладень:
- Витягнутий текст файлу обгортається як **недовірений зовнішній вміст** перед тим, як
додається до медіапромпта.
- Вставлений блок використовує явні маркери меж на кшталт
`<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>` /
`<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>` і містить рядок метаданих
`Source: External`.
- Цей шлях витягування вкладень навмисно не містить довгого банера
`SECURITY NOTICE:`, щоб не роздувати медіапромпт; маркери меж
і метадані все одно зберігаються.
- Якщо файл не містить тексту, який можна витягти, OpenClaw вставляє `[No extractable text]`.
- Якщо PDF у цьому шляху резервно переходить до рендерингу сторінок у зображення, медіапромпт зберігає
заповнювач `[PDF content rendered to images; images not forwarded to model]`,
оскільки цей крок витягування вкладень передає текстові блоки, а не відрендерені зображення PDF.
- Вилучений текст файла обгортається як **недовірений зовнішній вміст**, перш ніж його буде додано до запиту медіа.
- Впроваджений блок використовує явні маркери меж, такі як `<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>` / `<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>`, і містить рядок метаданих `Source: External`.
- Цей шлях вилучення вкладень навмисно не включає довгий банер `SECURITY NOTICE:`, щоб не роздувати запит медіа; маркери меж і метадані все одно зберігаються.
- Якщо файл не має тексту, придатного до вилучення, OpenClaw вставляє `[No extractable text]`.
- Якщо PDF на цьому шляху повертається до зображень відрендерених сторінок, запит медіа зберігає заповнювач `[PDF content rendered to images; images not forwarded to model]`, оскільки цей крок вилучення вкладень передає текстові блоки, а не відрендерені зображення PDF.
## Приклади конфігурації
@ -308,7 +286,7 @@ core OpenClaw відповідає за спільну конфігурацію
}
```
### 2) Лише Audio + Video (image вимкнено)
### 2) Лише аудіо + відео (зображення вимкнено)
```json5
{
@ -348,7 +326,7 @@ core OpenClaw відповідає за спільну конфігурацію
}
```
### 3) Необов’язкове розуміння image
### 3) Необов’язкове розуміння зображень
```json5
{
@ -379,7 +357,7 @@ core OpenClaw відповідає за спільну конфігурацію
}
```
### 4) Єдиний мультимодальний запис (явні capabilities)
### 4) Один мультимодальний запис (явні можливості)
```json5
{
@ -419,21 +397,21 @@ core OpenClaw відповідає за спільну конфігурацію
## Вивід статусу
Коли виконується розуміння медіа, `/status` містить короткий підсумковий рядок:
Коли виконується розуміння медіа, `/status` містить короткий рядок зведення:
```
📎 Media: image ok (openai/gpt-5.4-mini) · audio skipped (maxBytes)
```
Він показує результат для кожної можливості та вибраний provider/model, якщо це застосовно.
Тут показано результат для кожної можливості та вибраний provider/model, якщо застосовно.
## Примітки
- Розуміння **best-effort**. Помилки не блокують відповіді.
- Вкладення все одно передаються моделям, навіть коли розуміння вимкнено.
- Використовуйте `scope`, щоб обмежити, де запускається розуміння (наприклад, лише в DM).
- Розуміння виконується **за принципом best-effort**. Помилки не блокують відповіді.
- Вкладення все одно передаються моделям, навіть коли розуміння вимкнене.
- Використовуйте `scope`, щоб обмежити, де запускається розуміння (наприклад, лише в особистих повідомленнях).
## Пов’язані документи
- [Конфігурація](/gateway/configuration)
- [Підтримка зображень і медіа](/nodes/images)
- [Конфігурація](/uk/gateway/configuration)
- [Підтримка зображень і медіа](/uk/nodes/images)

View File

@ -2,23 +2,24 @@
read_when:
- Ви хочете запустити OpenClaw з хмарними або локальними моделями через Ollama
- Вам потрібні вказівки з налаштування та конфігурації Ollama
- Ви хочете використовувати моделі бачення Ollama для розуміння зображень
summary: Запустіть OpenClaw з Ollama (хмарні та локальні моделі)
title: Ollama
x-i18n:
generated_at: "2026-04-21T20:52:29Z"
generated_at: "2026-04-21T21:37:37Z"
model: gpt-5.4
provider: openai
source_hash: 197612f2173409d186b915b838e5fdba2f594912672f3c450accb4877e732c9c
source_hash: 32623b6523f22930a5987fb22d2074f1e9bb274cc01ae1ad1837825cc04ec179
source_path: providers/ollama.md
workflow: 15
---
# Ollama
OpenClaw інтегрується з нативним API Ollama (`/api/chat`) для розміщених хмарних моделей і локальних/самостійно розміщених серверів Ollama. Ви можете використовувати Ollama у трьох режимах: `Cloud + Local` через доступний хост Ollama, `Cloud only` проти `https://ollama.com` або `Local only` проти доступного хоста Ollama.
OpenClaw інтегрується з нативним API Ollama (`/api/chat`) для розміщених хмарних моделей і локальних/самостійно розміщених серверів Ollama. Ви можете використовувати Ollama у трьох режимах: `Cloud + Local` через доступний хост Ollama, `Cloud only` з `https://ollama.com` або `Local only` через доступний хост Ollama.
<Warning>
**Користувачі віддаленого Ollama**: Не використовуйте OpenAI-сумісну URL-адресу `/v1` (`http://host:11434/v1`) з OpenClaw. Це порушує виклик інструментів, і моделі можуть виводити сирий JSON інструментів як звичайний текст. Натомість використовуйте URL нативного API Ollama: `baseUrl: "http://host:11434"` (без `/v1`).
**Користувачі віддаленого Ollama**: Не використовуйте OpenAI-сумісний URL `/v1` (`http://host:11434/v1`) з OpenClaw. Це ламає виклики інструментів, і моделі можуть виводити сирий JSON інструментів як звичайний текст. Натомість використовуйте URL нативного API Ollama: `baseUrl: "http://host:11434"` (без `/v1`).
</Warning>
## Початок роботи
@ -26,26 +27,26 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
Виберіть бажаний спосіб налаштування та режим.
<Tabs>
<Tab title="Onboarding (recommended)">
**Найкраще для:** найшвидшого шляху до робочого хмарного або локального налаштування Ollama.
<Tab title="Майстер початкового налаштування (рекомендовано)">
**Найкраще для:** найшвидшого шляху до працездатного хмарного або локального налаштування Ollama.
<Steps>
<Step title="Run onboarding">
<Step title="Запустіть майстер початкового налаштування">
```bash
openclaw onboard
```
Виберіть **Ollama** зі списку провайдерів.
Виберіть **Ollama** зі списку постачальників.
</Step>
<Step title="Choose your mode">
<Step title="Виберіть свій режим">
- **Cloud + Local** — локальний хост Ollama плюс хмарні моделі, спрямовані через цей хост
- **Cloud only** — розміщені моделі Ollama через `https://ollama.com`
- **Local only** — лише локальні моделі
</Step>
<Step title="Select a model">
`Cloud only` запитує `OLLAMA_API_KEY` і пропонує типові хмарні налаштування за замовчуванням. `Cloud + Local` і `Local only` запитують базову URL-адресу Ollama, виявляють доступні моделі та автоматично завантажують вибрану локальну модель, якщо вона ще недоступна. `Cloud + Local` також перевіряє, чи виконано вхід на цьому хості Ollama для доступу до хмари.
<Step title="Виберіть модель">
`Cloud only` запитує `OLLAMA_API_KEY` і пропонує типові розміщені хмарні значення. `Cloud + Local` і `Local only` запитують базовий URL Ollama, виявляють доступні моделі та автоматично завантажують вибрану локальну модель, якщо вона ще недоступна. `Cloud + Local` також перевіряє, чи виконано вхід на цьому хості Ollama для доступу до хмари.
</Step>
<Step title="Verify the model is available">
<Step title="Перевірте, що модель доступна">
```bash
openclaw models list --provider ollama
```
@ -60,7 +61,7 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
--accept-risk
```
За бажанням укажіть власну базову URL-адресу або модель:
За бажанням вкажіть власний базовий URL або модель:
```bash
openclaw onboard --non-interactive \
@ -72,45 +73,45 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
</Tab>
<Tab title="Manual setup">
<Tab title="Ручне налаштування">
**Найкраще для:** повного контролю над хмарним або локальним налаштуванням.
<Steps>
<Step title="Choose cloud or local">
- **Cloud + Local**: встановіть Ollama, увійдіть через `ollama signin` і спрямовуйте хмарні запити через цей хост
<Step title="Виберіть хмарний або локальний режим">
- **Cloud + Local**: установіть Ollama, увійдіть через `ollama signin` і спрямовуйте хмарні запити через цей хост
- **Cloud only**: використовуйте `https://ollama.com` з `OLLAMA_API_KEY`
- **Local only**: установіть Ollama з [ollama.com/download](https://ollama.com/download)
</Step>
<Step title="Pull a local model (local only)">
<Step title="Завантажте локальну модель (лише локальний режим)">
```bash
ollama pull gemma4
# or
# або
ollama pull gpt-oss:20b
# or
# або
ollama pull llama3.3
```
</Step>
<Step title="Enable Ollama for OpenClaw">
Для `Cloud only` використовуйте свій справжній `OLLAMA_API_KEY`. Для конфігурацій на основі хоста підійде будь-яке заповнювальне значення:
<Step title="Увімкніть Ollama для OpenClaw">
Для `Cloud only` використовуйте свій справжній `OLLAMA_API_KEY`. Для конфігурацій на основі хоста підійде будь-яке значення-заповнювач:
```bash
# Cloud
# Хмара
export OLLAMA_API_KEY="your-ollama-api-key"
# Local-only
# Лише локально
export OLLAMA_API_KEY="ollama-local"
# Or configure in your config file
# Або налаштуйте у своєму файлі конфігурації
openclaw config set models.providers.ollama.apiKey "OLLAMA_API_KEY"
```
</Step>
<Step title="Inspect and set your model">
<Step title="Перегляньте та встановіть свою модель">
```bash
openclaw models list
openclaw models set ollama/gemma4
```
Або встановіть модель за замовчуванням у конфігурації:
Або встановіть типову модель у конфігурації:
```json5
{
@ -131,11 +132,11 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
<Tabs>
<Tab title="Cloud + Local">
`Cloud + Local` використовує доступний хост Ollama як точку керування і для локальних, і для хмарних моделей. Це бажаний гібридний сценарій Ollama.
`Cloud + Local` використовує доступний хост Ollama як точку керування і для локальних, і для хмарних моделей. Це рекомендований Ollama гібридний сценарій.
Під час налаштування використовуйте **Cloud + Local**. OpenClaw запитує базову URL-адресу Ollama, виявляє локальні моделі з цього хоста та перевіряє, чи виконано вхід на хості для доступу до хмари через `ollama signin`. Якщо вхід на хості виконано, OpenClaw також пропонує типові розміщені хмарні моделі, як-от `kimi-k2.5:cloud`, `minimax-m2.7:cloud` і `glm-5.1:cloud`.
Під час налаштування використовуйте **Cloud + Local**. OpenClaw запитує базовий URL Ollama, виявляє локальні моделі з цього хоста та перевіряє, чи виконано вхід на хості для хмарного доступу через `ollama signin`. Якщо вхід на хості виконано, OpenClaw також пропонує типові розміщені хмарні варіанти, такі як `kimi-k2.5:cloud`, `minimax-m2.7:cloud` і `glm-5.1:cloud`.
Якщо вхід на хості ще не виконано, OpenClaw зберігає налаштування лише локальним, доки ви не виконаєте `ollama signin`.
Якщо вхід на хості ще не виконано, OpenClaw залишає налаштування лише локальним, доки ви не запустите `ollama signin`.
</Tab>
@ -144,35 +145,35 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
Під час налаштування використовуйте **Cloud only**. OpenClaw запитує `OLLAMA_API_KEY`, встановлює `baseUrl: "https://ollama.com"` і заповнює список розміщених хмарних моделей. Цей шлях **не** потребує локального сервера Ollama або `ollama signin`.
Список хмарних моделей, показаний під час `openclaw onboard`, заповнюється в реальному часі з `https://ollama.com/api/tags`, обмежується 500 записами, тому засіб вибору відображає поточний розміщений каталог, а не статичний набір. Якщо `ollama.com` недоступний або не повертає моделей під час налаштування, OpenClaw повертається до попередніх жорстко закодованих пропозицій, щоб onboarding усе одно завершився.
Список хмарних моделей, показаний під час `openclaw onboard`, заповнюється в реальному часі з `https://ollama.com/api/tags`, обмежується 500 записами, тому засіб вибору відображає поточний розміщений каталог, а не статичний початковий список. Якщо `ollama.com` недоступний або не повертає моделі під час налаштування, OpenClaw повертається до попередніх жорстко закодованих пропозицій, щоб початкове налаштування все одно завершилося.
</Tab>
<Tab title="Local only">
У режимі лише локального використання OpenClaw виявляє моделі з налаштованого екземпляра Ollama. Цей шлях призначений для локальних або самостійно розміщених серверів Ollama.
У режимі лише локально OpenClaw виявляє моделі з налаштованого екземпляра Ollama. Цей шлях призначений для локальних або самостійно розміщених серверів Ollama.
Наразі OpenClaw пропонує `gemma4` як локальну модель за замовчуванням.
Наразі OpenClaw пропонує `gemma4` як типову локальну модель.
</Tab>
</Tabs>
## Виявлення моделей (неявний провайдер)
## Виявлення моделей (неявний постачальник)
Коли ви встановлюєте `OLLAMA_API_KEY` (або профіль автентифікації) і **не** визначаєте `models.providers.ollama`, OpenClaw виявляє моделі з локального екземпляра Ollama за адресою `http://127.0.0.1:11434`.
| Поведінка | Докладно |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Запит до каталогу | Виконує запит до `/api/tags` |
| Виявлення можливостей | Використовує найкращі спроби пошуку `/api/show`, щоб прочитати `contextWindow` і виявити можливості (зокрема vision) |
| Vision-моделі | Моделі з можливістю `vision`, про яку повідомляє `/api/show`, позначаються як здатні працювати із зображеннями (`input: ["text", "image"]`), тому OpenClaw автоматично додає зображення до запиту |
| Виявлення міркування | Позначає `reasoning` за евристикою назви моделі (`r1`, `reasoning`, `think`) |
| Обмеження токенів | Встановлює `maxTokens` на типове максимальне обмеження токенів Ollama, яке використовує OpenClaw |
| Вартість | Встановлює всі значення вартості в `0` |
| Поведінка | Докладно |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Запит каталогу | Виконує запит до `/api/tags` |
| Виявлення можливостей | Використовує найкращі наявні пошуки `/api/show`, щоб зчитати `contextWindow` і виявити можливості (зокрема vision) |
| Vision-моделі | Моделі з можливістю `vision`, про яку повідомляє `/api/show`, позначаються як такі, що підтримують зображення (`input: ["text", "image"]`), тому OpenClaw автоматично додає зображення в запит |
| Виявлення reasoning | Позначає `reasoning` за евристикою назви моделі (`r1`, `reasoning`, `think`) |
| Обмеження токенів | Встановлює `maxTokens` на типове максимальне обмеження токенів Ollama, яке використовує OpenClaw |
| Вартість | Встановлює всі вартості в `0` |
Це дає змогу уникнути ручного додавання моделей і водночас зберігати каталог узгодженим із локальним екземпляром Ollama.
```bash
# See what models are available
# Подивитися, які моделі доступні
ollama list
openclaw models list
```
@ -186,27 +187,77 @@ ollama pull mistral
Нова модель буде автоматично виявлена й доступна для використання.
<Note>
Якщо ви явно задаєте `models.providers.ollama`, автовиявлення пропускається, і вам потрібно визначити моделі вручну. Див. розділ про явну конфігурацію нижче.
Якщо ви явно задаєте `models.providers.ollama`, автоматичне виявлення пропускається, і вам потрібно визначати моделі вручну. Див. розділ явної конфігурації нижче.
</Note>
## Vision і опис зображень
Вбудований Plugin Ollama реєструє Ollama як постачальника розуміння медіа, що підтримує зображення. Це дає OpenClaw змогу спрямовувати явні запити на опис зображень і налаштовані типові моделі для зображень через локальні або розміщені vision-моделі Ollama.
Для локального vision завантажте модель, яка підтримує зображення:
```bash
ollama pull qwen2.5vl:7b
export OLLAMA_API_KEY="ollama-local"
```
Потім перевірте через CLI infer:
```bash
openclaw infer image describe \
--file ./photo.jpg \
--model ollama/qwen2.5vl:7b \
--json
```
`--model` має бути повним посиланням `<provider/model>`. Якщо його задано, `openclaw infer image describe` запускає цю модель безпосередньо замість того, щоб пропускати опис, оскільки модель підтримує нативний vision.
Щоб зробити Ollama типовою моделлю розуміння зображень для вхідних медіа, налаштуйте `agents.defaults.imageModel`:
```json5
{
agents: {
defaults: {
imageModel: {
primary: "ollama/qwen2.5vl:7b",
},
},
},
}
```
Якщо ви визначаєте `models.providers.ollama.models` вручну, позначайте vision-моделі як такі, що підтримують введення зображень:
```json5
{
id: "qwen2.5vl:7b",
name: "qwen2.5vl:7b",
input: ["text", "image"],
contextWindow: 128000,
maxTokens: 8192,
}
```
OpenClaw відхиляє запити на опис зображень для моделей, які не позначені як такі, що підтримують зображення. За неявного виявлення OpenClaw зчитує це з Ollama, коли `/api/show` повідомляє про можливість vision.
## Конфігурація
<Tabs>
<Tab title="Basic (implicit discovery)">
Найпростіший спосіб увімкнення режиму лише локального використання — через змінну середовища:
<Tab title="Базова (неявне виявлення)">
Найпростіший шлях увімкнення режиму лише локально — через змінну середовища:
```bash
export OLLAMA_API_KEY="ollama-local"
```
<Tip>
Якщо встановлено `OLLAMA_API_KEY`, ви можете не вказувати `apiKey` у записі провайдера, і OpenClaw підставить його для перевірок доступності.
Якщо задано `OLLAMA_API_KEY`, ви можете не вказувати `apiKey` у записі постачальника, і OpenClaw підставить його для перевірок доступності.
</Tip>
</Tab>
<Tab title="Explicit (manual models)">
Використовуйте явну конфігурацію, коли вам потрібне розміщене хмарне налаштування, Ollama працює на іншому хості/порту, ви хочете примусово задати певні контекстні вікна або списки моделей, або вам потрібні повністю ручні визначення моделей.
<Tab title="Явна (ручні моделі)">
Використовуйте явну конфігурацію, коли вам потрібне розміщене хмарне налаштування, Ollama працює на іншому хості/порту, ви хочете примусово задати конкретні контекстні вікна або списки моделей, або вам потрібні повністю ручні визначення моделей.
```json5
{
@ -235,8 +286,8 @@ ollama pull mistral
</Tab>
<Tab title="Custom base URL">
Якщо Ollama працює на іншому хості або порту (явна конфігурація вимикає автовиявлення, тому визначайте моделі вручну):
<Tab title="Власний базовий URL">
Якщо Ollama працює на іншому хості або порту (явна конфігурація вимикає автоматичне виявлення, тому визначайте моделі вручну):
```json5
{
@ -244,8 +295,8 @@ ollama pull mistral
providers: {
ollama: {
apiKey: "ollama-local",
baseUrl: "http://ollama-host:11434", // No /v1 - use native Ollama API URL
api: "ollama", // Set explicitly to guarantee native tool-calling behavior
baseUrl: "http://ollama-host:11434", // Без /v1 - використовуйте URL нативного API Ollama
api: "ollama", // Явно задайте, щоб гарантувати нативну поведінку викликів інструментів
},
},
},
@ -253,7 +304,7 @@ ollama pull mistral
```
<Warning>
Не додавайте `/v1` до URL-адреси. Шлях `/v1` використовує OpenAI-сумісний режим, у якому виклик інструментів ненадійний. Використовуйте базову URL-адресу Ollama без суфікса шляху.
Не додавайте `/v1` до URL. Шлях `/v1` використовує OpenAI-сумісний режим, у якому виклики інструментів працюють ненадійно. Використовуйте базовий URL Ollama без суфікса шляху.
</Warning>
</Tab>
@ -278,13 +329,13 @@ ollama pull mistral
## Ollama Web Search
OpenClaw підтримує **Ollama Web Search** як вбудований провайдер `web_search`.
OpenClaw підтримує **Ollama Web Search** як вбудованого постачальника `web_search`.
| Властивість | Докладно |
| ----------- | --------------------------------------------------------------------------------------------------------------------- |
| Хост | Використовує ваш налаштований хост Ollama (`models.providers.ollama.baseUrl`, якщо задано, інакше `http://127.0.0.1:11434`) |
| Автентифікація | Без ключа |
| Вимога | Ollama має працювати, і в ньому має бути виконано вхід через `ollama signin` |
| Властивість | Докладно |
| ----------- | -------------------------------------------------------------------------------------------------------------------- |
| Хост | Використовує налаштований вами хост Ollama (`models.providers.ollama.baseUrl`, якщо задано, інакше `http://127.0.0.1:11434`) |
| Автентифікація | Без ключа |
| Вимога | Ollama має бути запущений, і в ньому має бути виконано вхід через `ollama signin` |
Виберіть **Ollama Web Search** під час `openclaw onboard` або `openclaw configure --section web`, або задайте:
@ -301,18 +352,18 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
```
<Note>
Повні відомості про налаштування та поведінку див. в [Ollama Web Search](/uk/tools/ollama-search).
Повні відомості про налаштування й поведінку див. у [Ollama Web Search](/uk/tools/ollama-search).
</Note>
## Розширена конфігурація
<AccordionGroup>
<Accordion title="Legacy OpenAI-compatible mode">
<Accordion title="Застарілий OpenAI-сумісний режим">
<Warning>
**Виклик інструментів у OpenAI-сумісному режимі ненадійний.** Використовуйте цей режим лише тоді, коли вам потрібен формат OpenAI для проксі й ви не залежите від нативної поведінки виклику інструментів.
**Виклик інструментів в OpenAI-сумісному режимі працює ненадійно.** Використовуйте цей режим лише якщо вам потрібен формат OpenAI для проксі й ви не залежите від нативної поведінки виклику інструментів.
</Warning>
Якщо вам потрібно використовувати натомість OpenAI-сумісну кінцеву точку (наприклад, за проксі, який підтримує лише формат OpenAI), явно задайте `api: "openai-completions"`:
Якщо вам потрібно натомість використовувати OpenAI-сумісну кінцеву точку (наприклад, за проксі, який підтримує лише формат OpenAI), явно задайте `api: "openai-completions"`:
```json5
{
@ -321,7 +372,7 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
ollama: {
baseUrl: "http://ollama-host:11434/v1",
api: "openai-completions",
injectNumCtxForOpenAICompat: true, // default: true
injectNumCtxForOpenAICompat: true, // типово: true
apiKey: "ollama-local",
models: [...]
}
@ -330,9 +381,9 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
}
```
Цей режим може не підтримувати одночасно потокову передачу й виклик інструментів. Може знадобитися вимкнути потокову передачу за допомогою `params: { streaming: false }` у конфігурації моделі.
Цей режим може не підтримувати одночасно потокову передачу та виклик інструментів. Можливо, вам доведеться вимкнути потокову передачу за допомогою `params: { streaming: false }` у конфігурації моделі.
Коли `api: "openai-completions"` використовується з Ollama, OpenClaw за замовчуванням додає `options.num_ctx`, щоб Ollama не переходив непомітно до контекстного вікна 4096. Якщо ваш проксі/вищий рівень відхиляє невідомі поля `options`, вимкніть цю поведінку:
Коли з Ollama використовується `api: "openai-completions"`, OpenClaw типово додає `options.num_ctx`, щоб Ollama не переходив непомітно на контекстне вікно 4096. Якщо ваш проксі/вищий рівень не приймає невідомі поля `options`, вимкніть цю поведінку:
```json5
{
@ -353,9 +404,9 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
</Accordion>
<Accordion title="Контекстні вікна">
Для автоматично виявлених моделей OpenClaw використовує контекстне вікно, про яке повідомляє Ollama, коли воно доступне, інакше повертається до типового контекстного вікна Ollama, яке використовує OpenClaw.
Для автоматично виявлених моделей OpenClaw використовує контекстне вікно, про яке повідомляє Ollama, коли воно доступне; інакше використовується типове контекстне вікно Ollama, яке використовує OpenClaw.
Ви можете перевизначити `contextWindow` і `maxTokens` у явній конфігурації провайдера:
Ви можете перевизначити `contextWindow` і `maxTokens` в явній конфігурації постачальника:
```json5
{
@ -377,32 +428,32 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
</Accordion>
<Accordion title="Моделі міркування">
OpenClaw типово вважає моделі з назвами на кшталт `deepseek-r1`, `reasoning` або `think` здатними до міркування.
<Accordion title="Моделі reasoning">
OpenClaw типово вважає моделі з назвами на кшталт `deepseek-r1`, `reasoning` або `think` такими, що підтримують reasoning.
```bash
ollama pull deepseek-r1:32b
```
Жодна додаткова конфігурація не потрібна -- OpenClaw позначає їх автоматично.
Додаткова конфігурація не потрібна — OpenClaw позначає їх автоматично.
</Accordion>
<Accordion title="Вартість моделей">
Ollama є безкоштовним і працює локально, тому вартість усіх моделей установлено на $0. Це стосується як автоматично виявлених, так і вручну визначених моделей.
Ollama безкоштовний і працює локально, тому вартість усіх моделей встановлено на рівні $0. Це стосується як автоматично виявлених, так і вручну визначених моделей.
</Accordion>
<Accordion title="Вбудовування пам’яті">
Вбудований Plugin Ollama реєструє провайдера вбудовування пам’яті для
[пошуку в пам’яті](/uk/concepts/memory). Він використовує налаштовану базову URL-адресу Ollama
Вбудований Plugin Ollama реєструє постачальника вбудовувань пам’яті для
[пошуку в пам’яті](/uk/concepts/memory). Він використовує налаштовані базовий URL Ollama
та API-ключ.
| Властивість | Значення |
| -------------- | -------------------- |
| Типова модель | `nomic-embed-text` |
| Автозавантаження | Так — модель вбудовування автоматично завантажується, якщо її немає локально |
| Властивість | Значення |
| --------------- | ------------------- |
| Типова модель | `nomic-embed-text` |
| Автозавантаження | Так — модель вбудовувань автоматично завантажується, якщо її немає локально |
Щоб вибрати Ollama як провайдера вбудовування для пошуку в пам’яті:
Щоб вибрати Ollama як постачальника вбудовувань для пошуку в пам’яті:
```json5
{
@ -417,20 +468,20 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
</Accordion>
<Accordion title="Конфігурація потокової передачі">
Інтеграція Ollama в OpenClaw за замовчуванням використовує **нативний API Ollama** (`/api/chat`), який повністю підтримує одночасно потокову передачу та виклик інструментів. Жодна спеціальна конфігурація не потрібна.
Інтеграція Ollama в OpenClaw типово використовує **нативний API Ollama** (`/api/chat`), який повністю підтримує одночасно потокову передачу та виклик інструментів. Жодна спеціальна конфігурація не потрібна.
<Tip>
Якщо вам потрібно використовувати OpenAI-сумісну кінцеву точку, див. розділ "Legacy OpenAI-compatible mode" вище. У цьому режимі потокова передача та виклик інструментів можуть не працювати одночасно.
Якщо вам потрібно використовувати OpenAI-сумісну кінцеву точку, див. розділ «Застарілий OpenAI-сумісний режим» вище. У цьому режимі потокова передача та виклик інструментів можуть не працювати одночасно.
</Tip>
</Accordion>
</AccordionGroup>
## Усунення неполадок
## Усунення несправностей
<AccordionGroup>
<Accordion title="Ollama не виявлено">
Переконайтеся, що Ollama запущено, що ви встановили `OLLAMA_API_KEY` (або профіль автентифікації), і що ви **не** визначили явний запис `models.providers.ollama`:
Переконайтеся, що Ollama запущено, що ви задали `OLLAMA_API_KEY` (або профіль автентифікації), і що ви **не** визначили явний запис `models.providers.ollama`:
```bash
ollama serve
@ -445,25 +496,25 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
</Accordion>
<Accordion title="Немає доступних моделей">
Якщо вашої моделі немає у списку, або завантажте модель локально, або визначте її явно в `models.providers.ollama`.
Якщо вашу модель не вказано в списку, або завантажте її локально, або визначте її явно в `models.providers.ollama`.
```bash
ollama list # See what's installed
ollama list # Подивитися, що встановлено
ollama pull gemma4
ollama pull gpt-oss:20b
ollama pull llama3.3 # Or another model
ollama pull llama3.3 # Або іншу модель
```
</Accordion>
<Accordion title="У з’єднанні відмовлено">
Переконайтеся, що Ollama працює на правильному порту:
<Accordion title="У підключенні відмовлено">
Перевірте, що Ollama запущено на правильному порту:
```bash
# Check if Ollama is running
# Перевірити, чи запущено Ollama
ps aux | grep ollama
# Or restart Ollama
# Або перезапустити Ollama
ollama serve
```
@ -471,22 +522,22 @@ OpenClaw підтримує **Ollama Web Search** як вбудований пр
</AccordionGroup>
<Note>
Більше довідки: [Усунення неполадок](/uk/help/troubleshooting) і [FAQ](/uk/help/faq).
Більше допомоги: [Усунення несправностей](/uk/help/troubleshooting) і [FAQ](/uk/help/faq).
</Note>
## Пов’язане
<CardGroup cols={2}>
<Card title=ровайдери моделей" href="/uk/concepts/model-providers" icon="layers">
Огляд усіх провайдерів, посилань на моделі та поведінки перемикання при відмові.
<Card title=остачальники моделей" href="/uk/concepts/model-providers" icon="layers">
Огляд усіх постачальників, посилань на моделі та поведінки перемикання на резервні варіанти.
</Card>
<Card title="Вибір моделі" href="/uk/concepts/models" icon="brain">
Як вибирати та налаштовувати моделі.
Як вибирати й налаштовувати моделі.
</Card>
<Card title="Ollama Web Search" href="/uk/tools/ollama-search" icon="magnifying-glass">
Повні відомості про налаштування та поведінку для вебпошуку на базі Ollama.
Повні відомості про налаштування й поведінку вебпошуку на основі Ollama.
</Card>
<Card title="Конфігурація" href="/uk/gateway/configuration" icon="gear">
Повний довідник із конфігурації.
Повна довідка з конфігурації.
</Card>
</CardGroup>