chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-06 00:38:53 +00:00
parent 1977213e1c
commit 73ad53da3b
11 changed files with 2315 additions and 2482 deletions

View File

@ -1,69 +1,116 @@
---
read_when:
- Ви хочете, щоб просування пам’яті виконувалося автоматично
- Ви хочете зрозуміти три фази dreaming
- Ви хочете зрозуміти, що робить кожна фаза dreaming
- Ви хочете налаштувати консолідацію, не засмічуючи `MEMORY.md`
summary: 'Фонова консолідація пам’яті з трьома кооперативними фазами: light, deep і REM'
title: Dreaming (експериментально)
summary: Фонове консолідування пам’яті з фазами light, deep і REM, а також Dream Diary
title: Dreaming (експериментальна функція)
x-i18n:
generated_at: "2026-04-05T23:42:30Z"
generated_at: "2026-04-06T00:33:27Z"
model: gpt-5.4
provider: openai
source_hash: 9ba56b20013aa53f5f440fd79ea14dc67a61c4fb63ebe91b3fd183d09a842912
source_hash: f27da718176bebf59fe8a80fddd4fb5b6d814ac5647f6c1e8344bcfb328db9de
source_path: concepts/dreaming.md
workflow: 15
---
# Dreaming (експериментально)
# Dreaming (експериментальна функція)
Dreaming — це система фонової консолідації пам’яті в `memory-core`. Вона
повторно переглядає те, що з’являлося під час розмов, і вирішує, що варто
зберегти як довготривалий контекст.
Dreaming — це система фонового консолідування пам’яті в `memory-core`.
Вона допомагає OpenClaw переносити сильні короткострокові сигнали в довготривалу пам’ять, водночас
зберігаючи цей процес зрозумілим і придатним для перевірки.
Dreaming використовує три кооперативні **фази**, а не конкуруючі режими. Кожна фаза має
окреме завдання, записує в окрему ціль і виконується за власним розкладом.
Dreaming є **опційною функцією** і за замовчуванням вимкнена.
## Три фази
## Що записує dreaming
### Light
Dreaming зберігає два типи результатів:
Light dreaming впорядковує недавній хаос. Вона сканує недавні сліди пам’яті, усуває дублікати
за схожістю Жаккара, кластеризує пов’язані записи та готує кандидатні
спогади у спільному файлі сліду dreaming (`DREAMS.md`), коли ввімкнено inline-зберігання.
- **Стан машини** у `memory/.dreams/` (сховище recall, сигнали фаз, контрольні точки ingestion, блокування).
- **Людинозчитуваний результат** у `DREAMS.md` (або наявному `dreams.md`) і необов’язкових файлах звітів фаз у `memory/dreaming/<phase>/YYYY-MM-DD.md`.
Light **не** записує нічого до `MEMORY.md`. Вона лише організовує та
готує. Уявіть: «що із сьогоднішнього може бути важливим пізніше?»
Просування до довготривалої пам’яті, як і раніше, записується лише в `MEMORY.md`.
### Deep
## Модель фаз
Deep dreaming вирішує, що стає довготривалою пам’яттю. Вона виконує справжню логіку
просування: зважене оцінювання за шістьма сигналами, порогові перевірки, кількість
згадувань, різноманітність унікальних запитів, згасання за давністю та фільтрацію за максимальним віком.
Dreaming використовує три взаємодоповнювальні фази:
Deep — це **єдина** фаза, якій дозволено записувати довготривалі факти до `MEMORY.md`.
Вона також відповідає за відновлення, коли пам’яті мало (рівень здоров’я падає нижче
налаштованого порога). Уявіть: «що є достатньо правдивим, щоб це зберегти?»
| Фаза | Призначення | Стійкий запис |
| ----- | ----------- | ------------- |
| Light | Сортує й підготовлює нещодавній короткостроковий матеріал | Ні |
| Deep | Оцінює та просуває довготривалі кандидати | Так (`MEMORY.md`) |
| REM | Осмислює теми та повторювані ідеї | Ні |
### REM
Ці фази є внутрішніми деталями реалізації, а не окремими користувацькими
«режимами».
REM dreaming шукає патерни та рефлексії. Вона аналізує недавні матеріали,
визначає повторювані теми через кластеризацію тегів понять і записує
нотатки вищого рівня та рефлексії до `DREAMS.md`, коли ввімкнено inline-зберігання.
### Фаза light
REM записує до `DREAMS.md` в inline-режимі, **а не** до `MEMORY.md`.
Її результат є інтерпретативним, а не канонічним. Уявіть: «який патерн я помічаю?»
Фаза light поглинає нещодавні щоденні сигнали пам’яті й сліди recall, усуває дублікати
та готує рядки-кандидати.
## Жорсткі межі
- Читає зі стану короткострокового recall і нещодавніх щоденних файлів пам’яті.
- Записує керований блок `## Light Sleep`, коли сховище включає вбудований результат.
- Фіксує сигнали підсилення для подальшого ранжування deep.
- Ніколи не записує в `MEMORY.md`.
| Фаза | Завдання | Записує до | НЕ записує до |
| ----- | ----------- | ------------------------ | ------------- |
| Light | Організація | `DREAMS.md` (inline-режим) | MEMORY.md |
| Deep | Збереження | MEMORY.md | -- |
| REM | Інтерпретація | `DREAMS.md` (inline-режим) | MEMORY.md |
### Фаза deep
Фаза deep вирішує, що стане довготривалою пам’яттю.
- Ранжує кандидатів за допомогою зваженого оцінювання та порогових перевірок.
- Вимагає проходження `minScore`, `minRecallCount` і `minUniqueQueries`.
- Перед записом повторно гідратує фрагменти з актуальних щоденних файлів, тому застарілі або видалені фрагменти пропускаються.
- Додає просунуті записи до `MEMORY.md`.
- Записує підсумок `## Deep Sleep` у `DREAMS.md` і за потреби записує `memory/dreaming/deep/YYYY-MM-DD.md`.
### Фаза REM
Фаза REM витягує закономірності та рефлексивні сигнали.
- Формує зведення тем і рефлексій із нещодавніх короткострокових слідів.
- Записує керований блок `## REM Sleep`, коли сховище включає вбудований результат.
- Фіксує сигнали підсилення REM, які використовуються в ранжуванні deep.
- Ніколи не записує в `MEMORY.md`.
## Dream Diary
Dreaming також веде описовий **Dream Diary** у `DREAMS.md`.
Після того як у кожній фазі накопичується достатньо матеріалу, `memory-core` запускає фоновий
хід субагента в режимі best-effort (з використанням типової runtime-моделі) і додає короткий запис щоденника.
Цей щоденник призначений для читання людьми в інтерфейсі Dreams, а не є джерелом просування.
## Сигнали ранжування deep
Ранжування deep використовує шість зважених базових сигналів плюс підсилення фаз:
| Сигнал | Вага | Опис |
| ------ | ---- | ---- |
| Частота | 0.24 | Скільки короткострокових сигналів накопичив запис |
| Релевантність | 0.30 | Середня якість отримання для запису |
| Різноманітність запитів | 0.15 | Окремі контексти запитів/днів, у яких він з’являвся |
| Актуальність | 0.15 | Оцінка свіжості з часовим згасанням |
| Консолідація | 0.10 | Сила повторення впродовж кількох днів |
| Концептуальна насиченість | 0.06 | Щільність concept-tag із фрагмента/шляху |
Влучання фаз light і REM додають невелике підсилення зі згасанням за давністю з
`memory/.dreams/phase-signals.json`.
## Планування
Коли цю функцію ввімкнено, `memory-core` автоматично керує одним cron-завданням для повного циклу
dreaming. Кожен цикл запускає фази по черзі: light -> REM -> deep.
Поведінка типової періодичності:
| Налаштування | За замовчуванням |
| ------------ | ---------------- |
| `dreaming.frequency` | `0 3 * * *` |
## Швидкий старт
Увімкнути всі три фази (рекомендовано):
Увімкніть dreaming:
```json
{
@ -81,7 +128,7 @@ REM записує до `DREAMS.md` в inline-режимі, **а не** до `ME
}
```
Увімкнути лише deep-просування:
Увімкніть dreaming із власною періодичністю циклу:
```json
{
@ -91,11 +138,8 @@ REM записує до `DREAMS.md` в inline-режимі, **а не** до `ME
"config": {
"dreaming": {
"enabled": true,
"phases": {
"light": { "enabled": false },
"deep": { "enabled": true },
"rem": { "enabled": false }
}
"timezone": "America/Los_Angeles",
"frequency": "0 */6 * * *"
}
}
}
@ -104,204 +148,56 @@ REM записує до `DREAMS.md` в inline-режимі, **а не** до `ME
}
```
## Конфігурація
Усі налаштування dreaming розташовані в `plugins.entries.memory-core.config.dreaming`
у `openclaw.json`. Повний список ключів дивіться в [довіднику з конфігурації Memory](/uk/reference/memory-config#dreaming-experimental).
### Глобальні налаштування
| Ключ | Тип | Типово | Опис |
| ---------------- | --------- | ---------- | ------------------------------------------------------------ |
| `enabled` | `boolean` | `true` | Головний перемикач для всіх фаз |
| `timezone` | `string` | не задано | Часовий пояс для оцінки розкладу та групування дат dreaming |
| `verboseLogging` | `boolean` | `false` | Виводити докладні журнали dreaming для кожного запуску |
| `storage.mode` | `string` | `"inline"` | Inline `DREAMS.md`, окремі звіти або обидва варіанти |
### Конфігурація фази Light
| Ключ | Тип | Типово | Опис |
| ------------------ | ---------- | ------------------------------- | --------------------------------- |
| `enabled` | `boolean` | `true` | Увімкнути фазу light |
| `cron` | `string` | `0 */6 * * *` | Розклад (типово: кожні 6 годин) |
| `lookbackDays` | `number` | `2` | Скільки днів слідів сканувати |
| `limit` | `number` | `100` | Макс. кількість кандидатів для підготовки за запуск |
| `dedupeSimilarity` | `number` | `0.9` | Поріг Жаккара для дедуплікації |
| `sources` | `string[]` | `["daily","sessions","recall"]` | Джерела даних для сканування |
### Конфігурація фази Deep
| Ключ | Тип | Типово | Опис |
| --------------------- | ---------- | ----------------------------------------------- | ------------------------------------ |
| `enabled` | `boolean` | `true` | Увімкнути фазу deep |
| `cron` | `string` | `0 3 * * *` | Розклад (типово: щодня о 3:00) |
| `limit` | `number` | `10` | Макс. кількість кандидатів для просування за цикл |
| `minScore` | `number` | `0.8` | Мінімальний зважений бал для просування |
| `minRecallCount` | `number` | `3` | Мінімальний поріг кількості згадувань |
| `minUniqueQueries` | `number` | `3` | Мінімальна кількість унікальних запитів |
| `recencyHalfLifeDays` | `number` | `14` | Кількість днів, за яку бал давності зменшується вдвічі |
| `maxAgeDays` | `number` | `30` | Максимальний вік щоденної нотатки для просування |
| `sources` | `string[]` | `["daily","memory","sessions","logs","recall"]` | Джерела даних |
### Конфігурація відновлення Deep
Відновлення запускається, коли рівень здоров’я довготривалої пам’яті падає нижче порога.
| Ключ | Тип | Типово | Опис |
| --------------------------------- | --------- | ------- | ------------------------------------------ |
| `recovery.enabled` | `boolean` | `true` | Увімкнути автоматичне відновлення |
| `recovery.triggerBelowHealth` | `number` | `0.35` | Поріг оцінки здоров’я для запуску відновлення |
| `recovery.lookbackDays` | `number` | `30` | Як далеко назад шукати матеріал для відновлення |
| `recovery.maxRecoveredCandidates` | `number` | `20` | Макс. кількість кандидатів для відновлення за запуск |
| `recovery.minRecoveryConfidence` | `number` | `0.9` | Мінімальна впевненість для кандидатів на відновлення |
| `recovery.autoWriteMinConfidence` | `number` | `0.97` | Поріг автозапису (без ручної перевірки) |
### Конфігурація фази REM
| Ключ | Тип | Типово | Опис |
| -------------------- | ---------- | --------------------------- | --------------------------------------- |
| `enabled` | `boolean` | `true` | Увімкнути фазу REM |
| `cron` | `string` | `0 5 * * 0` | Розклад (типово: щотижня, неділя 5:00) |
| `lookbackDays` | `number` | `7` | Скільки днів матеріалів аналізувати |
| `limit` | `number` | `10` | Макс. кількість патернів або тем для запису |
| `minPatternStrength` | `number` | `0.75` | Мінімальна сила спільної появи тегів |
| `sources` | `string[]` | `["memory","daily","deep"]` | Джерела даних для рефлексії |
### Перевизначення виконання
Кожна фаза приймає блок `execution` для перевизначення глобальних значень за замовчуванням:
| Ключ | Тип | Типово | Опис |
| ----------------- | -------- | ------------ | ----------------------------- |
| `speed` | `string` | `"balanced"` | `fast`, `balanced` або `slow` |
| `thinking` | `string` | `"medium"` | `low`, `medium` або `high` |
| `budget` | `string` | `"medium"` | `cheap`, `medium`, `expensive` |
| `model` | `string` | не задано | Перевизначити модель для цієї фази |
| `maxOutputTokens` | `number` | не задано | Обмежити кількість вихідних токенів |
| `temperature` | `number` | не задано | Температура семплювання (0-2) |
| `timeoutMs` | `number` | не задано | Тайм-аут фази в мілісекундах |
## Сигнали просування (фаза deep)
Deep dreaming поєднує шість зважених сигналів. Для просування потрібно, щоб усі налаштовані
порогові перевірки пройшли одночасно.
| Сигнал | Вага | Опис |
| ------------------- | ---- | -------------------------------------------------- |
| Частота | 0.24 | Як часто той самий запис згадувався |
| Релевантність | 0.30 | Середні бали згадування під час витягування |
| Різноманітність запитів | 0.15 | Кількість різних намірів запитів, у яких він з’являвся |
| Давність | 0.15 | Часове згасання (`recencyHalfLifeDays`, типово 14) |
| Консолідація | 0.10 | Винагорода за згадування, повторене в кілька днів |
| Концептуальна насиченість | 0.06 | Винагорода записам із багатшими похідними тегами понять |
## Команди чату
## Slash-команда
```
/dreaming status # Показати конфігурацію фаз і частоту запуску
/dreaming on # Увімкнути всі фази
/dreaming off # Вимкнути всі фази
/dreaming enable light|deep|rem # Увімкнути конкретну фазу
/dreaming disable light|deep|rem # Вимкнути конкретну фазу
/dreaming help # Показати довідку з використання
/dreaming status
/dreaming on
/dreaming off
/dreaming help
```
## CLI-команди
## Робочий процес CLI
Переглядайте та застосовуйте deep-просування з командного рядка:
Використовуйте просування через CLI для попереднього перегляду або ручного застосування:
```bash
# Preview promotion candidates
openclaw memory promote
# Apply promotions to MEMORY.md
openclaw memory promote --apply
# Limit preview count
openclaw memory promote --limit 5
# Include already-promoted entries
openclaw memory promote --include-promoted
# Check dreaming status
openclaw memory status --deep
```
Повний довідник щодо прапорців дивіться в [memory CLI](/cli/memory).
Ручна команда `memory promote` за замовчуванням використовує пороги фази deep, якщо їх не перевизначено
прапорцями CLI.
### Інструменти попереднього перегляду та пояснення
## Ключові значення за замовчуванням
Ще дві підкоманди допомагають переглядати поведінку просування та REM без будь-якого запису:
Усі налаштування розташовані в `plugins.entries.memory-core.config.dreaming`.
```bash
# Explain why a candidate would or would not promote
openclaw memory promote-explain "meeting notes"
| Ключ | За замовчуванням |
| ---- | ---------------- |
| `enabled` | `false` |
| `frequency` | `0 3 * * *` |
# Preview REM reflections, candidate truths, and deep promotions
openclaw memory rem-harness --json
```
Політика фаз, пороги й поведінка сховища є внутрішніми деталями реалізації
(не користувацькою конфігурацією).
Повний список параметрів дивіться в [memory CLI](/cli/memory).
## Як це працює
### Конвеєр фази Light
1. Прочитати записи короткострокового згадування з `memory/.dreams/short-term-recall.json`.
2. Відфільтрувати записи в межах `lookbackDays` від поточного часу.
3. Усунути дублікати за схожістю Жаккара (налаштовуваний поріг).
4. Відсортувати за середнім балом згадування та взяти до `limit` записів.
5. Записати підготовлених кандидатів до `DREAMS.md` у блоці `## Light Sleep`, якщо
ввімкнено inline-зберігання.
### Конвеєр фази Deep
1. Прочитати та ранжувати кандидатів короткострокового згадування за зваженими сигналами.
2. Застосувати порогові перевірки: `minScore`, `minRecallCount`, `minUniqueQueries`.
3. Відфільтрувати за `maxAgeDays` та застосувати згасання за давністю.
4. Виконати fan-out по налаштованих робочих просторах пам’яті.
5. Перед записом повторно прочитати актуальну щоденну нотатку (пропустити застарілі або видалені фрагменти).
6. Додати відповідні записи до `MEMORY.md` з часовими мітками просування.
7. Позначити просунуті записи, щоб виключити їх із майбутніх циклів.
8. Якщо рівень здоров’я нижчий за `recovery.triggerBelowHealth`, запустити етап відновлення.
### Конвеєр фази REM
1. Прочитати недавні сліди пам’яті в межах `lookbackDays`.
2. Кластеризувати теги понять за спільною появою.
3. Відфільтрувати патерни за `minPatternStrength`.
4. Записати теми та рефлексії до `DREAMS.md` у блоці `## REM Sleep`,
якщо ввімкнено inline-зберігання.
## Планування
Кожна фаза автоматично керує власним cron-завданням. Коли dreaming увімкнено,
`memory-core` узгоджує керовані cron-завдання під час запуску gateway. Вам не потрібно
створювати записи cron вручну.
| Фаза | Типовий розклад | Опис |
| ----- | --------------- | --------------------- |
| Light | `0 */6 * * *` | Кожні 6 годин |
| Deep | `0 3 * * *` | Щодня о 3:00 |
| REM | `0 5 * * 0` | Щотижня, неділя 5:00 |
Перевизначте будь-який розклад за допомогою ключа `cron` відповідної фази. Усі розклади враховують глобальне
налаштування `timezone`.
Повний список ключів дивіться в [довіднику з конфігурації Memory](/uk/reference/memory-config#dreaming-experimental).
## Інтерфейс Dreams
Коли dreaming увімкнено, бічна панель Gateway показує вкладку **Dreams** зі
статистикою пам’яті (кількість короткострокових записів, кількість довготривалих записів, кількість просунутих записів) і часом
наступного запланованого циклу. Щоденні лічильники враховують `dreaming.timezone`, якщо його задано,
і в іншому разі використовують налаштований часовий пояс користувача.
Коли функцію ввімкнено, вкладка **Dreams** у Gateway показує:
Ручні запуски `openclaw memory promote` типово використовують ті самі пороги фази deep,
тому заплановане й виконуване на вимогу просування залишаються узгодженими, якщо ви не передаєте
перевизначення CLI.
- поточний стан увімкнення dreaming
- статус на рівні фаз і наявність керованого циклу
- кількість короткострокових, довготривалих і просунутих сьогодні записів
- час наступного запланованого запуску
- розгортаний засіб читання Dream Diary на основі `doctor.memory.dreamDiary`
## Пов’язане
- [Memory](/uk/concepts/memory)
- [Memory Search](/uk/concepts/memory-search)
- [довідник з конфігурації Memory](/uk/reference/memory-config)
- [memory CLI](/cli/memory)
- [довідник з конфігурації Memory](/uk/reference/memory-config)

View File

@ -1,59 +1,60 @@
---
read_when:
- Ви хочете зрозуміти, як працює memory_search
- Ви хочете вибрати провайдера embeddings
- Ви хочете вибрати провайдера ембедингів
- Ви хочете налаштувати якість пошуку
summary: Як memory search знаходить релевантні нотатки за допомогою embeddings і гібридного пошуку
title: Пошук у пам’яті
summary: Як пошук пам’яті знаходить релевантні нотатки за допомогою ембедингів і гібридного пошуку
title: Пошук пам’яті
x-i18n:
generated_at: "2026-04-05T18:01:12Z"
generated_at: "2026-04-06T00:33:21Z"
model: gpt-5.4
provider: openai
source_hash: 87b1cb3469c7805f95bca5e77a02919d1e06d626ad3633bbc5465f6ab9db12a2
source_hash: b6541cd702bff41f9a468dad75ea438b70c44db7c65a4b793cbacaf9e583c7e9
source_path: concepts/memory-search.md
workflow: 15
---
# Пошук у пам’яті
# Пошук пам’яті
`memory_search` знаходить релевантні нотатки з ваших файлів пам’яті, навіть якщо
формулювання відрізняється від оригінального тексту. Він працює, індексуючи пам’ять у невеликі
фрагменти та шукаючи в них за допомогою embeddings, ключових слів або обох підходів.
формулювання відрізняється від початкового тексту. Це працює шляхом індексації пам’яті на малі
фрагменти та пошуку в них за допомогою ембедингів, ключових слів або обох підходів.
## Швидкий старт
Якщо у вас налаштовано API-ключ OpenAI, Gemini, Voyage або Mistral, пошук у пам’яті
працює автоматично. Щоб явно вказати провайдера:
Якщо у вас налаштовано API-ключ OpenAI, Gemini, Voyage або Mistral, пошук у
пам’яті працює автоматично. Щоб явно вказати провайдера:
```json5
{
agents: {
defaults: {
memorySearch: {
provider: "openai", // or "gemini", "local", "ollama", etc.
provider: "openai", // або "gemini", "local", "ollama" тощо
},
},
},
}
```
Для локальних embeddings без API-ключа використовуйте `provider: "local"` (потрібен
Для локальних ембедингів без API-ключа використовуйте `provider: "local"` (потрібен
node-llama-cpp).
## Підтримувані провайдери
| Провайдер | ID | Потрібен API-ключ | Примітки |
| --------- | --------- | ----------------- | -------------------------------- |
| OpenAI | `openai` | Так | Автовиявлення, швидко |
| Gemini | `gemini` | Так | Підтримує індексування зображень/аудіо |
| Voyage | `voyage` | Так | Автовиявлення |
| Mistral | `mistral` | Так | Автовиявлення |
| Ollama | `ollama` | Ні | Локальний, потрібно вказати явно |
| Local | `local` | Ні | Модель GGUF, завантаження ~0.6 ГБ |
| Провайдер | ID | Потрібен API-ключ | Примітки |
| --------- | --------- | ----------------- | ---------------------------------------------------- |
| OpenAI | `openai` | Так | Автовизначення, швидко |
| Gemini | `gemini` | Так | Підтримує індексацію зображень/аудіо |
| Voyage | `voyage` | Так | Автовизначення |
| Mistral | `mistral` | Так | Автовизначення |
| Bedrock | `bedrock` | Ні | Автовизначення, коли ланцюжок облікових даних AWS розв’язується |
| Ollama | `ollama` | Ні | Локально, потрібно вказати явно |
| Local | `local` | Ні | Модель GGUF, завантаження ~0.6 ГБ |
## Як працює пошук
OpenClaw запускає два шляхи пошуку паралельно й об’єднує результати:
OpenClaw паралельно запускає два шляхи пошуку та об’єднує результати:
```mermaid
flowchart LR
@ -66,39 +67,39 @@ flowchart LR
M --> R["Top Results"]
```
- **Векторний пошук** знаходить нотатки зі схожим змістом («gateway host» відповідає
«машина, на якій працює OpenClaw»).
- **Векторний пошук** знаходить нотатки зі схожим змістом ("gateway host" відповідає
"машина, на якій працює OpenClaw").
- **Пошук за ключовими словами BM25** знаходить точні збіги (ID, рядки помилок, ключі
конфігурації).
Якщо доступний лише один шлях (немає embeddings або FTS), окремо працює лише він.
Якщо доступний лише один шлях (немає ембедингів або немає FTS), інший не використовується.
## Поліпшення якості пошуку
## Покращення якості пошуку
Дві необов’язкові функції допомагають, коли у вас велика історія нотаток:
Дві необов’язкові можливості допомагають, коли у вас велика історія нотаток:
### Temporal decay
### Часове згасання
Старі нотатки поступово втрачають вагу в ранжуванні, щоб новіша інформація піднімалася вище.
Із типовим періодом напіврозпаду 30 днів нотатка з минулого місяця матиме 50% від
своєї початкової ваги. Evergreen-файли на кшталт `MEMORY.md` ніколи не піддаються зниженню ваги.
Старі нотатки поступово втрачають вагу в ранжуванні, тож новіша інформація з’являється першою.
За типовим періодом напіврозпаду 30 днів нотатка з минулого місяця отримує 50% від
своєї початкової ваги. Для незмінних файлів, як-от `MEMORY.md`, згасання ніколи не застосовується.
<Tip>
Увімкніть temporal decay, якщо ваш агент має щоденні нотатки за багато місяців і застаріла
Увімкніть часове згасання, якщо ваш агент має щоденні нотатки за багато місяців і застаріла
інформація постійно випереджає недавній контекст.
</Tip>
### MMR (різноманітність)
Зменшує кількість повторюваних результатів. Якщо п’ять нотаток згадують ту саму конфігурацію роутера, MMR
гарантує, що верхні результати охоплюватимуть різні теми замість повторень.
Зменшує кількість надлишкових результатів. Якщо п’ять нотаток згадують одну й ту саму конфігурацію маршрутизатора, MMR
гарантує, що верхні результати охоплюють різні теми, а не повторюються.
<Tip>
Увімкніть MMR, якщо `memory_search` постійно повертає майже однакові фрагменти з
Увімкніть MMR, якщо `memory_search` постійно повертає майже дубльовані фрагменти з
різних щоденних нотаток.
</Tip>
### Увімкнення обох
### Увімкнути обидва
```json5
{
@ -119,29 +120,30 @@ flowchart LR
## Мультимодальна пам’ять
З Gemini Embedding 2 ви можете індексувати зображення та аудіофайли разом із
Markdown. Пошукові запити лишаються текстовими, але зіставляються з візуальним та аудіовмістом. Див. [довідник конфігурації пам’яті](/reference/memory-config) для
З Gemini Embedding 2 ви можете індексувати зображення й аудіофайли разом із
Markdown. Пошукові запити залишаються текстовими, але вони зіставляються з візуальним і аудіовмістом. Див.
[довідник із конфігурації пам’яті](/uk/reference/memory-config) для
налаштування.
## Пошук у пам’яті сесій
## Пошук у пам’яті сеансу
За бажанням ви можете індексувати транскрипти сесій, щоб `memory_search` міг пригадувати
попередні розмови. Це вмикається окремо через
`memorySearch.experimental.sessionMemory`. Докладніше див. у
[довіднику конфігурації](/reference/memory-config).
Ви можете за бажанням індексувати стенограми сеансів, щоб `memory_search` міг згадувати
попередні розмови. Це вмикається явно через
`memorySearch.experimental.sessionMemory`. Див.
[довідник із конфігурації](/uk/reference/memory-config) для деталей.
## Усунення несправностей
**Немає результатів?** Виконайте `openclaw memory status`, щоб перевірити індекс. Якщо він порожній, запустіть
**Немає результатів?** Виконайте `openclaw memory status`, щоб перевірити індекс. Якщо він порожній, виконайте
`openclaw memory index --force`.
**Лише збіги за ключовими словами?** Можливо, ваш провайдер embeddings не налаштований. Перевірте
**Лише збіги за ключовими словами?** Можливо, ваш провайдер ембедингів не налаштований. Перевірте
`openclaw memory status --deep`.
**Не знаходиться текст CJK?** Перебудуйте індекс FTS за допомогою
`openclaw memory index --force`.
## Додаткове читання
## Подальше читання
- [Пам’ять](/concepts/memory) -- структура файлів, бекенди, інструменти
- [Довідник конфігурації пам’яті](/reference/memory-config) -- усі параметри конфігурації
- [Пам’ять](/uk/concepts/memory) -- структура файлів, бекенди, інструменти
- [Довідник із конфігурації пам’яті](/uk/reference/memory-config) -- усі параметри конфігурації

View File

@ -1,37 +1,39 @@
---
read_when:
- Ви хочете зрозуміти, як працює пам’ять
- Ви хочете знати, які файли пам’яті слід записувати
summary: Як OpenClaw запам’ятовує речі між сесіями
- Ви хочете знати, які файли пам’яті потрібно записувати
summary: Як OpenClaw запам’ятовує дані між сеансами
title: Огляд пам’яті
x-i18n:
generated_at: "2026-04-05T18:01:15Z"
generated_at: "2026-04-06T00:33:24Z"
model: gpt-5.4
provider: openai
source_hash: 2410deead2e7b7891ffc6a4aaf9c368a4b874dc2e850c18eb0e607da1ef75e1b
source_hash: d19d4fa9c4b3232b7a97f7a382311d2a375b562040de15e9fe4a0b1990b825e7
source_path: concepts/memory.md
workflow: 15
---
# Огляд пам’яті
OpenClaw запам’ятовує речі, записуючи **звичайні Markdown-файли** у робочому
просторі вашого агента. Модель лише «пам’ятає» те, що зберігається на диск — жодного
прихованого стану немає.
OpenClaw запам’ятовує дані, записуючи **звичайні файли Markdown** у робочому
просторі вашого агента. Модель «пам’ятає» лише те, що зберігається на диску
прихованого стану не існує.
## Як це працює
У вашого агента є два місця для зберігання пам’яті:
Ваш агент має три файли, пов’язані з пам’яттю:
- **`MEMORY.md`** — довгострокова пам’ять. Стійкі факти, уподобання та
рішення. Завантажується на початку кожної DM-сесії.
- **`MEMORY.md`** — довготривала пам’ять. Стійкі факти, уподобання та
рішення. Завантажується на початку кожного сеансу DM.
- **`memory/YYYY-MM-DD.md`** — щоденні нотатки. Поточний контекст і спостереження.
Нотатки за сьогодні й учора завантажуються автоматично.
Нотатки за сьогодні та вчора завантажуються автоматично.
- **`DREAMS.md`** (експериментально, необов’язково) — щоденник снів і зведення
проходів dreaming для перегляду людиною.
Ці файли зберігаються в робочому просторі агента (типово `~/.openclaw/workspace`).
<Tip>
Якщо ви хочете, щоб агент щось запам’ятав, просто попросіть його: «Запам’ятай, що я
Якщо ви хочете, щоб ваш агент щось запам’ятав, просто попросіть його: «Запам’ятай, що я
віддаю перевагу TypeScript». Він запише це у відповідний файл.
</Tip>
@ -39,73 +41,75 @@ OpenClaw запам’ятовує речі, записуючи **звичайн
Агент має два інструменти для роботи з пам’яттю:
- **`memory_search`** — знаходить релевантні нотатки за допомогою семантичного пошуку, навіть коли
формулювання відрізняється від оригінального.
- **`memory_search`** — знаходить релевантні нотатки за допомогою семантичного пошуку, навіть якщо
формулювання відрізняється від оригіналу.
- **`memory_get`** — читає конкретний файл пам’яті або діапазон рядків.
Обидва інструменти надаються активним плагіном пам’яті (типово: `memory-core`).
Обидва інструменти надаються активним plugin пам’яті (типово: `memory-core`).
## Пошук у пам’яті
Коли налаштовано провайдера embedding, `memory_search` використовує **гібридний
пошук** — поєднуючи векторну схожість (семантичне значення) з пошуком за ключовими словами
(точні терміни, як-от ID та символи коду). Це працює «з коробки», щойно у вас є
Коли налаштовано провайдера ембедингів, `memory_search` використовує **гібридний
пошук** — поєднуючи векторну схожість (семантичне значення) із зіставленням за ключовими словами
(точні терміни, як-от ID та символи коду). Це працює одразу після того, як у вас з’явиться
API-ключ будь-якого підтримуваного провайдера.
<Info>
OpenClaw автоматично визначає вашого провайдера embedding за доступними API-ключами. Якщо у
вас налаштовано ключ OpenAI, Gemini, Voyage або Mistral, пошук у пам’яті
OpenClaw автоматично визначає вашого провайдера ембедингів із доступних API-ключів. Якщо у вас
налаштовано ключ OpenAI, Gemini, Voyage або Mistral, пошук у пам’яті
вмикається автоматично.
</Info>
Докладніше про те, як працює пошук, параметри налаштування та налаштування провайдера див. у
[Пошук у пам’яті](/concepts/memory-search).
[Пошук у пам’яті](/uk/concepts/memory-search).
## Бекенди пам’яті
<CardGroup cols={3}>
<Card title="Вбудований (типово)" icon="database" href="/concepts/memory-builtin">
На основі SQLite. Працює «з коробки» з пошуком за ключовими словами, векторною схожістю та
<Card title="Вбудований (типово)" icon="database" href="/uk/concepts/memory-builtin">
На основі SQLite. Працює одразу з пошуком за ключовими словами, векторною схожістю та
гібридним пошуком. Без додаткових залежностей.
</Card>
<Card title="QMD" icon="search" href="/concepts/memory-qmd">
Локальний sidecar із пріоритетом локальної роботи, з reranking, розширенням запитів і можливістю індексувати
каталоги поза робочим простором.
<Card title="QMD" icon="search" href="/uk/concepts/memory-qmd">
Локальний sidecar із пріоритетом локальної роботи, із reranking, розширенням запитів і можливістю індексувати
каталоги поза межами робочого простору.
</Card>
<Card title="Honcho" icon="brain" href="/concepts/memory-honcho">
AI-native пам’ять між сесіями з моделюванням користувача, семантичним пошуком і
обізнаністю про кількох агентів. Потрібне встановлення плагіна.
<Card title="Honcho" icon="brain" href="/uk/concepts/memory-honcho">
AI-native пам’ять між сеансами з моделюванням користувача, семантичним пошуком і
обізнаністю про кількох агентів. Потрібне встановлення plugin.
</Card>
</CardGroup>
## Автоматичне скидання в пам’ять
## Автоматичне скидання пам’яті
Перш ніж [compaction](/concepts/compaction) підсумує вашу розмову, OpenClaw
Перед тим як [compaction](/uk/concepts/compaction) підсумує вашу розмову, OpenClaw
виконує тихий хід, який нагадує агенту зберегти важливий контекст у файли
пам’яті. Це типово ввімкнено — вам не потрібно нічого налаштовувати.
пам’яті. Це ввімкнено типово — вам не потрібно нічого налаштовувати.
<Tip>
Скидання в пам’ять запобігає втраті контексту під час compaction. Якщо у вашого агента є
важливі факти в розмові, які ще не записані у файл, вони
будуть автоматично збережені до того, як відбудеться підсумовування.
Скидання пам’яті запобігає втраті контексту під час compaction. Якщо у розмові вашого агента є
важливі факти, які ще не записані у файл, вони будуть автоматично збережені
перед створенням підсумку.
</Tip>
## Dreaming (експериментально)
Dreaming — це необов’язковий фоновий етап консолідації пам’яті. Він повторно переглядає
короткострокові згадки з щоденних файлів (`memory/YYYY-MM-DD.md`), оцінює їх і
переносить у довгострокову пам’ять (`MEMORY.md`) лише кваліфіковані елементи.
Dreaming — це необов’язковий фоновий процес консолідації пам’яті. Він збирає
короткострокові сигнали, оцінює кандидатів і просуває в довготривалу пам’ять
(`MEMORY.md`) лише відповідні елементи.
Його призначення — підтримувати високу цінність довгострокової пам’яті:
Його створено для того, щоб підтримувати високу значущість довготривалої пам’яті:
- **Добровільне ввімкнення**: типово вимкнено.
- **За розкладом**: коли ввімкнено, `memory-core` автоматично керує
періодичним tasks.
- **Порогова модель**: перенесення мають пройти перевірки за оцінкою, частотою
згадування та різноманітністю запитів.
- **За розкладом**: коли ввімкнено, `memory-core` автоматично керує одним повторюваним cron-завданням
для повного проходу dreaming.
- **З порогами**: просування мають пройти перевірки за оцінкою, частотою згадування та
різноманітністю запитів.
- **Доступне для перегляду**: підсумки фаз і записи щоденника записуються до `DREAMS.md`
для перегляду людиною.
Про поведінку режимів (`off`, `core`, `rem`, `deep`), сигнали оцінювання та параметри
налаштування див. [Dreaming (експериментально)](/concepts/dreaming).
Щоб дізнатися про поведінку фаз, сигнали оцінювання та подробиці Щоденника снів, див.
[Dreaming (експериментально)](/uk/concepts/dreaming).
## CLI
@ -117,12 +121,12 @@ openclaw memory index --force # Перебудувати індекс
## Подальше читання
- [Builtin Memory Engine](/concepts/memory-builtin) — типовий бекенд SQLite
- [QMD Memory Engine](/concepts/memory-qmd) — розширений локальний sidecar
- [Honcho Memory](/concepts/memory-honcho) — AI-native пам’ять між сесіями
- [Memory Search](/concepts/memory-search) — конвеєр пошуку, провайдери та
- [Вбудований рушій пам’яті](/uk/concepts/memory-builtin) — типовий бекенд SQLite
- [Рушій пам’яті QMD](/uk/concepts/memory-qmd) — розширений локальний sidecar
- [Пам’ять Honcho](/uk/concepts/memory-honcho) — AI-native пам’ять між сеансами
- [Пошук у пам’яті](/uk/concepts/memory-search) — конвеєр пошуку, провайдери та
налаштування
- [Dreaming (experimental)](/concepts/dreaming) — фонове перенесення
з короткострокового згадування в довгострокову пам’ять
- [Memory configuration reference](/reference/memory-config) — усі параметри конфігурації
- [Compaction](/concepts/compaction) — як compaction взаємодіє з пам’яттю
- [Dreaming (експериментально)](/uk/concepts/dreaming) — фонове просування
з короткострокового пригадування до довготривалої пам’яті
- [Довідник із конфігурації пам’яті](/uk/reference/memory-config) — усі параметри конфігурації
- [Compaction](/uk/concepts/compaction) — як compaction взаємодіє з пам’яттю

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,48 +2,46 @@
read_when:
- Ви хочете використовувати моделі Amazon Bedrock з OpenClaw
- Вам потрібно налаштувати облікові дані AWS/регіон для викликів моделей
summary: Використання моделей Amazon Bedrock (Converse API) з OpenClaw
summary: Використовуйте моделі Amazon Bedrock (Converse API) з OpenClaw
title: Amazon Bedrock
x-i18n:
generated_at: "2026-04-05T18:14:01Z"
generated_at: "2026-04-06T00:33:45Z"
model: gpt-5.4
provider: openai
source_hash: a751824b679a9340db714ee5227e8d153f38f6c199ca900458a4ec092b4efe54
source_hash: 70bb29fe9199084b1179ced60935b5908318f5b80ced490bf44a45e0467c4929
source_path: providers/bedrock.md
workflow: 15
---
# Amazon Bedrock
OpenClaw може використовувати моделі **Amazon Bedrock** через потоковий провайдер **Bedrock Converse** з piai. Автентифікація Bedrock використовує **стандартний ланцюжок облікових даних AWS SDK**, а не API-ключ.
OpenClaw може використовувати моделі **Amazon Bedrock** через потокового провайдера **Bedrock Converse** від piai. Автентифікація Bedrock використовує **стандартний ланцюжок облікових даних AWS SDK**, а не API-ключ.
## Що підтримує pi-ai
- Провайдер: `amazon-bedrock`
- API: `bedrock-converse-stream`
- Автентифікація: облікові дані AWS (змінні середовища, спільна конфігурація або роль екземпляра)
- Регіон: `AWS_REGION` або `AWS_DEFAULT_REGION` (за замовчуванням: `us-east-1`)
- Регіон: `AWS_REGION` або `AWS_DEFAULT_REGION` (типово: `us-east-1`)
## Автоматичне виявлення моделей
OpenClaw може автоматично виявляти моделі Bedrock, які підтримують **потокову передачу**
та **текстовий вивід**. Для виявлення використовуються `bedrock:ListFoundationModels` і
`bedrock:ListInferenceProfiles`, а результати кешуються (за замовчуванням: 1 година).
OpenClaw може автоматично виявляти моделі Bedrock, які підтримують **streaming** і **text output**. Виявлення використовує `bedrock:ListFoundationModels` і `bedrock:ListInferenceProfiles`, а результати кешуються (типово: 1 година).
Як вмикається неявний провайдер:
- Якщо `plugins.entries.amazon-bedrock.config.discovery.enabled` має значення `true`,
OpenClaw намагатиметься виконати виявлення навіть без маркера середовища AWS.
OpenClaw спробує виконати виявлення, навіть якщо немає маркера середовища AWS.
- Якщо `plugins.entries.amazon-bedrock.config.discovery.enabled` не задано,
OpenClaw автоматично додає
неявний провайдер Bedrock лише тоді, коли бачить один із таких маркерів автентифікації AWS:
неявний провайдер Bedrock лише тоді, коли бачить один із цих маркерів автентифікації AWS:
`AWS_BEARER_TOKEN_BEDROCK`, `AWS_ACCESS_KEY_ID` +
`AWS_SECRET_ACCESS_KEY` або `AWS_PROFILE`.
- Фактичний шлях автентифікації Bedrock під час виконання все одно використовує стандартний ланцюжок AWS SDK, тож
спільна конфігурація, SSO та автентифікація роллю екземпляра через IMDS можуть працювати, навіть якщо для виявлення
потрібно було явно увімкнути `enabled: true`.
- Фактичний шлях автентифікації під час виконання Bedrock все одно використовує стандартний ланцюжок AWS SDK, тому
спільна конфігурація, SSO та автентифікація ролі екземпляра через IMDS можуть працювати, навіть якщо для виявлення
потрібно було явно ввімкнути `enabled: true`.
Параметри config розміщені в `plugins.entries.amazon-bedrock.config.discovery`:
Параметри конфігурації розміщені в `plugins.entries.amazon-bedrock.config.discovery`:
```json5
{
@ -68,34 +66,34 @@ OpenClaw може автоматично виявляти моделі Bedrock,
Примітки:
- `enabled` за замовчуванням працює в автоматичному режимі. В автоматичному режимі OpenClaw вмикає
- `enabled` типово працює в автоматичному режимі. В автоматичному режимі OpenClaw вмикає
неявний провайдер Bedrock лише тоді, коли бачить підтримуваний маркер середовища AWS.
- `region` за замовчуванням бере значення з `AWS_REGION` або `AWS_DEFAULT_REGION`, потім `us-east-1`.
- `region` типово береться з `AWS_REGION` або `AWS_DEFAULT_REGION`, а потім `us-east-1`.
- `providerFilter` відповідає назвам провайдерів Bedrock (наприклад, `anthropic`).
- `refreshInterval` задається в секундах; установіть `0`, щоб вимкнути кешування.
- `defaultContextWindow` (за замовчуванням: `32000`) і `defaultMaxTokens` (за замовчуванням: `4096`)
використовуються для виявлених моделей (перевизначте їх, якщо знаєте ліміти своєї моделі).
- `defaultContextWindow` (типово: `32000`) і `defaultMaxTokens` (типово: `4096`)
використовуються для виявлених моделей (перевизначте, якщо знаєте ліміти своєї моделі).
- Для явних записів `models.providers["amazon-bedrock"]` OpenClaw усе одно може
завчасно визначати автентифікацію Bedrock за маркерами середовища AWS, такими як
`AWS_BEARER_TOKEN_BEDROCK`, без примусового повного завантаження runtime-автентифікації. Фактичний
шлях автентифікації під час виклику моделі все одно використовує стандартний ланцюжок AWS SDK.
`AWS_BEARER_TOKEN_BEDROCK`, без примусового повного завантаження автентифікації під час виконання. Фактичний
шлях автентифікації для викликів моделі все одно використовує стандартний ланцюжок AWS SDK.
## Onboarding
## Початкове налаштування
1. Переконайтеся, що облікові дані AWS доступні на **gateway host**:
1. Переконайтеся, що облікові дані AWS доступні на **хості шлюзу**:
```bash
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
# Optional:
# Необов’язково:
export AWS_SESSION_TOKEN="..."
export AWS_PROFILE="your-profile"
# Optional (Bedrock API key/bearer token):
# Необов’язково (API-ключ Bedrock/токен bearer):
export AWS_BEARER_TOKEN_BEDROCK="..."
```
2. Додайте провайдера Bedrock і модель до свого config (без `apiKey`):
2. Додайте провайдера Bedrock і модель до своєї конфігурації (`apiKey` не потрібен):
```json5
{
@ -129,7 +127,7 @@ export AWS_BEARER_TOKEN_BEDROCK="..."
## Ролі екземплярів EC2
Коли OpenClaw працює на екземплярі EC2 із приєднаною роллю IAM, AWS SDK
Під час запуску OpenClaw на екземплярі EC2 із приєднаною роллю IAM AWS SDK
може використовувати службу метаданих екземпляра (IMDS) для автентифікації. Для виявлення моделей Bedrock
OpenClaw автоматично вмикає неявний провайдер за маркерами середовища AWS
лише якщо ви явно не встановите
@ -140,20 +138,20 @@ OpenClaw автоматично вмикає неявний провайдер
- Установіть `plugins.entries.amazon-bedrock.config.discovery.enabled` у `true`.
- Установіть `plugins.entries.amazon-bedrock.config.discovery.region` (або експортуйте `AWS_REGION`).
- Вам **не** потрібен фіктивний API-ключ.
- `AWS_PROFILE=default` потрібен лише в тому разі, якщо вам спеціально потрібен маркер середовища
- Вам потрібен `AWS_PROFILE=default`, лише якщо ви спеціально хочете маркер середовища
для автоматичного режиму або поверхонь статусу.
```bash
# Recommended: explicit discovery enable + region
# Рекомендовано: явне ввімкнення виявлення + регіон
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
# Optional: add an env marker if you want auto mode without explicit enable
# Необов’язково: додайте маркер середовища, якщо хочете автоматичний режим без явного ввімкнення
export AWS_PROFILE=default
export AWS_REGION=us-east-1
```
**Необхідні дозволи IAM** для ролі екземпляра EC2:
**Потрібні дозволи IAM** для ролі екземпляра EC2:
- `bedrock:InvokeModel`
- `bedrock:InvokeModelWithResponseStream`
@ -165,7 +163,7 @@ export AWS_REGION=us-east-1
## Швидке налаштування (шлях AWS)
```bash
# 1. Create IAM role and instance profile
# 1. Створіть роль IAM і профіль екземпляра
aws iam create-role --role-name EC2-Bedrock-Access \
--assume-role-policy-document '{
"Version": "2012-10-17",
@ -184,65 +182,65 @@ aws iam add-role-to-instance-profile \
--instance-profile-name EC2-Bedrock-Access \
--role-name EC2-Bedrock-Access
# 2. Attach to your EC2 instance
# 2. Приєднайте до свого екземпляра EC2
aws ec2 associate-iam-instance-profile \
--instance-id i-xxxxx \
--iam-instance-profile Name=EC2-Bedrock-Access
# 3. On the EC2 instance, enable discovery explicitly
# 3. На екземплярі EC2 явно ввімкніть виявлення
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
# 4. Optional: add an env marker if you want auto mode without explicit enable
# 4. Необов’язково: додайте маркер середовища, якщо хочете автоматичний режим без явного ввімкнення
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc
# 5. Verify models are discovered
# 5. Перевірте, що моделі виявлено
openclaw models list
```
## Профілі інференсу
OpenClaw виявляє **регіональні та глобальні профілі інференсу** разом із
foundation-моделями. Коли профіль зіставляється з відомою foundation-моделлю,
профіль успадковує можливості цієї моделі (вікно контексту, max tokens,
reasoning, vision), а правильний регіон запиту Bedrock підставляється
базовими моделями. Коли профіль зіставляється з відомою базовою моделлю,
профіль успадковує можливості цієї моделі (контекстне вікно, максимальну кількість токенів,
reasoning, vision), і правильний регіон запиту Bedrock підставляється
автоматично. Це означає, що міжрегіональні профілі Claude працюють без ручного
перевизначення провайдера.
Ідентифікатори профілів інференсу мають вигляд `us.anthropic.claude-opus-4-6-v1:0` (регіональний)
або `anthropic.claude-opus-4-6-v1:0` (глобальний). Якщо базова модель уже
є в результатах виявлення, профіль успадковує повний набір її можливостей;
інакше застосовуються безпечні значення за замовчуванням.
або `anthropic.claude-opus-4-6-v1:0` (глобальний). Якщо базова модель уже є
в результатах виявлення, профіль успадковує повний набір її можливостей;
інакше застосовуються безпечні типові значення.
Додаткове налаштування не потрібне. Якщо виявлення ввімкнене і суб’єкт IAM
має дозвіл `bedrock:ListInferenceProfiles`, профілі з’являються поруч із
foundation-моделями в `openclaw models list`.
Додаткова конфігурація не потрібна. Якщо виявлення ввімкнено і принципал IAM
має дозвіл `bedrock:ListInferenceProfiles`, профілі з’являються разом із
базовими моделями в `openclaw models list`.
## Примітки
- Bedrock вимагає ввімкненого **доступу до моделі** у вашому обліковому записі AWS/регіоні.
- Для автоматичного виявлення потрібні дозволи `bedrock:ListFoundationModels` і
- Bedrock вимагає, щоб у вашому обліковому записі/регіоні AWS було ввімкнено **доступ до моделей**.
- Автоматичне виявлення потребує дозволів `bedrock:ListFoundationModels` і
`bedrock:ListInferenceProfiles`.
- Якщо ви покладаєтеся на автоматичний режим, установіть один із підтримуваних маркерів середовища автентифікації AWS на
gateway host. Якщо ви віддаєте перевагу автентифікації через IMDS/спільну конфігурацію без маркерів середовища, установіть
хості шлюзу. Якщо ви надаєте перевагу автентифікації через IMDS/спільну конфігурацію без маркерів середовища, установіть
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
- OpenClaw показує джерело облікових даних у такому порядку: `AWS_BEARER_TOKEN_BEDROCK`,
потім `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, потім `AWS_PROFILE`, а далі
потім `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, потім `AWS_PROFILE`, а потім
стандартний ланцюжок AWS SDK.
- Підтримка reasoning залежить від моделі; перевіряйте картку моделі Bedrock на предмет
- Підтримка reasoning залежить від моделі; перевіряйте картку моделі Bedrock щодо
актуальних можливостей.
- Якщо ви віддаєте перевагу керованому потоку ключів, ви також можете розмістити
сумісний з OpenAI проксі перед Bedrock і натомість налаштувати його як провайдера OpenAI.
OpenAIсумісний проксі перед Bedrock і натомість налаштувати його як провайдера OpenAI.
## Guardrails
Ви можете застосувати [Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html)
Ви можете застосовувати [Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html)
до всіх викликів моделей Bedrock, додавши об’єкт `guardrail` до
config plugin `amazon-bedrock`. Guardrails дають змогу застосовувати фільтрацію контенту,
конфігурації плагіна `amazon-bedrock`. Guardrails дають змогу застосовувати фільтрацію вмісту,
заборону тем, фільтри слів, фільтри чутливої інформації та перевірки
контекстного заземлення.
контекстного grounding.
```json5
{
@ -251,10 +249,10 @@ config plugin `amazon-bedrock`. Guardrails дають змогу застосо
"amazon-bedrock": {
config: {
guardrail: {
guardrailIdentifier: "abc123", // guardrail ID or full ARN
guardrailVersion: "1", // version number or "DRAFT"
streamProcessingMode: "sync", // optional: "sync" or "async"
trace: "enabled", // optional: "enabled", "disabled", or "enabled_full"
guardrailIdentifier: "abc123", // ID guardrail або повний ARN
guardrailVersion: "1", // номер версії або "DRAFT"
streamProcessingMode: "sync", // необов’язково: "sync" або "async"
trace: "enabled", // необов’язково: "enabled", "disabled" або "enabled_full"
},
},
},
@ -263,16 +261,44 @@ config plugin `amazon-bedrock`. Guardrails дають змогу застосо
}
```
- `guardrailIdentifier` (обов’язковий) приймає ID guardrail (наприклад, `abc123`) або
- `guardrailIdentifier` (обов’язково) приймає ID guardrail (наприклад, `abc123`) або
повний ARN (наприклад, `arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123`).
- `guardrailVersion` (обов’язковий) указує, яку опубліковану версію використовувати, або
- `guardrailVersion` (обов’язково) указує, яку опубліковану версію використовувати, або
`"DRAFT"` для робочої чернетки.
- `streamProcessingMode` (необов’язковий) визначає, чи виконується оцінювання guardrail
синхронно (`"sync"`) чи асинхронно (`"async"`) під час потокової передачі. Якщо
не вказано, Bedrock використовує свою стандартну поведінку.
- `trace` (необов’язковий) вмикає трасування guardrail у відповіді API. Установіть
`"enabled"` або `"enabled_full"` для налагодження; не вказуйте або встановіть `"disabled"` для
production.
- `streamProcessingMode` (необов’язково) визначає, чи виконуватиметься перевірка guardrail
синхронно (`"sync"`) чи асинхронно (`"async"`) під час streaming. Якщо
параметр пропущено, Bedrock використовує свою стандартну поведінку.
- `trace` (необов’язково) вмикає виведення трасування guardrail у відповіді API. Установіть
`"enabled"` або `"enabled_full"` для налагодження; у production пропустіть параметр або встановіть `"disabled"`.
Суб’єкт IAM, який використовує gateway, повинен мати дозвіл `bedrock:ApplyGuardrail`
додатково до стандартних дозволів на виклик.
Принципал IAM, який використовує шлюз, повинен мати дозвіл `bedrock:ApplyGuardrail`
на додачу до стандартних дозволів на виклик.
## Embeddings для пошуку в пам’яті
Bedrock також може виступати провайдером embeddings для
[пошуку в пам’яті](/uk/concepts/memory-search). Це налаштовується окремо від
провайдера інференсу — установіть `agents.defaults.memorySearch.provider` у `"bedrock"`:
```json5
{
agents: {
defaults: {
memorySearch: {
provider: "bedrock",
model: "amazon.titan-embed-text-v2:0", // типово
},
},
},
}
```
Embeddings Bedrock використовують той самий ланцюжок облікових даних AWS SDK, що й інференс (ролі
екземплярів, SSO, ключі доступу, спільна конфігурація та web identity). API-ключ не
потрібен. Коли `provider` має значення `"auto"`, Bedrock визначається автоматично, якщо цей
ланцюжок облікових даних успішно розв’язується.
Підтримувані моделі embeddings включають Amazon Titan Embed (v1, v2), Amazon Nova
Embed, Cohere Embed (v3, v4) і TwelveLabs Marengo. Див.
[Довідник з конфігурації пам’яті — Bedrock](/uk/reference/memory-config#bedrock-embedding-config)
для повного списку моделей і параметрів розмірності.

View File

@ -1,14 +1,14 @@
---
read_when:
- Ви хочете використовувати моделі OpenAI в OpenClaw
- Ви хочете автентифікацію через підписку Codex замість API-ключів
summary: Використовуйте OpenAI через API-ключі або підписку Codex в OpenClaw
- Ви хочете використовувати автентифікацію підписки Codex замість ключів API
summary: Використовуйте OpenAI через ключі API або підписку Codex в OpenClaw
title: OpenAI
x-i18n:
generated_at: "2026-04-06T00:04:42Z"
generated_at: "2026-04-06T00:33:55Z"
model: gpt-5.4
provider: openai
source_hash: d9a024b102f24a2f690efdbe633a01fbe00f500a74a8007af3245b8b948394ef
source_hash: 9e04db5787f6ed7b1eda04d965c10febae10809fc82ae4d9769e7163234471f5
source_path: providers/openai.md
workflow: 15
---
@ -16,17 +16,17 @@ x-i18n:
# OpenAI
OpenAI надає API для розробників для моделей GPT. Codex підтримує **вхід через ChatGPT** для доступу за підпискою
або **вхід через API key** для доступу з оплатою за використання. Для Codex cloud потрібен вхід через ChatGPT.
OpenAI прямо підтримує використання OAuth за підпискою у зовнішніх інструментах і робочих процесах, таких як OpenClaw.
або **вхід за ключем API** для доступу з оплатою за використання. Codex cloud вимагає входу через ChatGPT.
OpenAI явно підтримує використання OAuth підписки у зовнішніх інструментах/робочих процесах, таких як OpenClaw.
## Типова взаємодія
## Стиль взаємодії за замовчуванням
OpenClaw може додавати невелике специфічне для OpenAI накладання промпту як для запусків `openai/*`, так і для
`openai-codex/*`. Типово це накладання робить асистента доброзичливим,
співпрацюючим, лаконічним, прямим і трохи більш емоційно виразним,
не замінюючи базовий системний промпт OpenClaw. Доброзичливе накладання також
дозволяє зрідка використовувати emoji, коли це природно, водночас зберігаючи загальну
лаконічність відповіді.
OpenClaw може додавати невелике OpenAI-специфічне накладання prompt для запусків `openai/*` і
`openai-codex/*`. За замовчуванням це накладання зберігає стиль помічника теплим,
колаборативним, лаконічним, прямим і трохи емоційно виразнішим,
не замінюючи базовий системний prompt OpenClaw. Дружнє накладання також
дозволяє час від часу використовувати emoji, коли це природно, водночас зберігаючи
загальний вивід лаконічним.
Ключ конфігурації:
@ -34,8 +34,8 @@ OpenClaw може додавати невелике специфічне для
Дозволені значення:
- `"friendly"`: типове; увімкнути специфічне для OpenAI накладання.
- `"off"`: вимкнути накладання та використовувати лише базовий промпт OpenClaw.
- `"friendly"`: за замовчуванням; увімкнути OpenAI-специфічне накладання.
- `"off"`: вимкнути накладання та використовувати лише базовий prompt OpenClaw.
Область дії:
@ -43,8 +43,8 @@ OpenClaw може додавати невелике специфічне для
- Застосовується до моделей `openai-codex/*`.
- Не впливає на інших провайдерів.
Цю поведінку увімкнено типово. Залиште `"friendly"` явно, якщо хочете, щоб
це збереглося після майбутніх локальних змін конфігурації:
Ця поведінка увімкнена за замовчуванням. Залиште `"friendly"` явно, якщо хочете,
щоб це пережило майбутні локальні зміни конфігурації:
```json5
{
@ -60,9 +60,9 @@ OpenClaw може додавати невелике специфічне для
}
```
### Вимкнути накладання промпту OpenAI
### Вимкнення OpenAI prompt-накладання
Якщо ви хочете незмінений базовий промпт OpenClaw, встановіть для накладання значення `"off"`:
Якщо ви хочете використовувати незмінений базовий prompt OpenClaw, встановіть для накладання значення `"off"`:
```json5
{
@ -84,16 +84,16 @@ OpenClaw може додавати невелике специфічне для
openclaw config set plugins.entries.openai.config.personality off
```
## Варіант A: API key OpenAI (OpenAI Platform)
## Варіант A: ключ API OpenAI (OpenAI Platform)
**Найкраще підходить для:** прямого доступу до API та оплати за використання.
Отримайте свій API key на панелі керування OpenAI.
**Найкраще для:** прямого доступу до API та білінгу за використанням.
Отримайте свій ключ API на інформаційній панелі OpenAI.
### Налаштування CLI
```bash
openclaw onboard --auth-choice openai-api-key
# або неінтерактивно
# або без взаємодії
openclaw onboard --openai-api-key "$OPENAI_API_KEY"
```
@ -106,28 +106,28 @@ openclaw onboard --openai-api-key "$OPENAI_API_KEY"
}
```
У поточній документації OpenAI для моделей API вказано `gpt-5.4` і `gpt-5.4-pro` для прямого
використання API OpenAI. OpenClaw передає обидві через шлях Responses `openai/*`.
У поточній документації моделей API OpenAI вказані `gpt-5.4` і `gpt-5.4-pro` для прямого
використання API OpenAI. OpenClaw пересилає обидві через шлях Responses `openai/*`.
OpenClaw навмисно приховує застарілий рядок `openai/gpt-5.3-codex-spark`,
оскільки прямі виклики API OpenAI відхиляють його в реальному трафіку.
OpenClaw **не** показує `openai/gpt-5.3-codex-spark` на шляху прямого API OpenAI.
`pi-ai` усе ще постачається з вбудованим рядком для цієї моделі, але реальні запити до API OpenAI
зараз її відхиляють. В OpenClaw Spark розглядається лише як Codex.
OpenClaw **не** надає `openai/gpt-5.3-codex-spark` на шляху прямого API OpenAI.
`pi-ai` усе ще постачає вбудований рядок для цієї моделі, але реальні запити до API OpenAI
зараз її відхиляють. У OpenClaw Spark вважається доступним лише для Codex.
## Генерація зображень
Вбудований плагін `openai` також реєструє генерацію зображень через спільний
інструмент `image_generate`.
- Типова модель зображень: `openai/gpt-image-1`
- Генерація: до 4 зображень за запит
- Модель зображень за замовчуванням: `openai/gpt-image-1`
- Генерація: до 4 зображень на запит
- Режим редагування: увімкнено, до 5 еталонних зображень
- Підтримується `size`
- Поточне специфічне для OpenAI обмеження: OpenClaw наразі не передає перевизначення `aspectRatio` або
- Підтримує `size`
- Поточне OpenAI-специфічне застереження: OpenClaw наразі не пересилає перевизначення `aspectRatio` або
`resolution` до OpenAI Images API
Щоб використовувати OpenAI як типового провайдера зображень:
Щоб використовувати OpenAI як провайдера зображень за замовчуванням:
```json5
{
@ -142,22 +142,22 @@ OpenClaw **не** показує `openai/gpt-5.3-codex-spark` на шляху п
```
Див. [Генерація зображень](/uk/tools/image-generation) щодо параметрів спільного інструмента,
вибору провайдера та поведінки під час відмови.
вибору провайдера та поведінки failover.
## Генерація відео
Вбудований плагін `openai` також реєструє генерацію відео через спільний
інструмент `video_generate`.
- Типова модель відео: `openai/sora-2`
- Режими: текст-у-відео, зображення-у-відео та сценарії з одним еталонним відео/редагуванням
- Поточні обмеження: 1 зображення або 1 еталонне відео на вхід
- Поточне специфічне для OpenAI обмеження: OpenClaw наразі передає лише перевизначення
`size` для нативної генерації відео OpenAI. Непідтримувані необов’язкові перевизначення,
- Модель відео за замовчуванням: `openai/sora-2`
- Режими: текст-у-відео, зображення-у-відео та потоки посилання/редагування одного відео
- Поточні обмеження: 1 зображення або 1 відео як вхідне посилання
- Поточне OpenAI-специфічне застереження: OpenClaw наразі пересилає лише перевизначення `size`
для нативної генерації відео OpenAI. Непідтримувані необов’язкові перевизначення,
такі як `aspectRatio`, `resolution`, `audio` і `watermark`, ігноруються
та повертаються як попередження інструмента.
і повертаються як попередження інструмента.
Щоб використовувати OpenAI як типового провайдера відео:
Щоб використовувати OpenAI як провайдера відео за замовчуванням:
```json5
{
@ -172,12 +172,12 @@ OpenClaw **не** показує `openai/gpt-5.3-codex-spark` на шляху п
```
Див. [Генерація відео](/uk/tools/video-generation) щодо параметрів спільного інструмента,
вибору провайдера та поведінки під час відмови.
вибору провайдера та поведінки failover.
## Варіант B: підписка OpenAI Code (Codex)
**Найкраще підходить для:** використання доступу за підпискою ChatGPT/Codex замість API key.
Для Codex cloud потрібен вхід через ChatGPT, тоді як Codex CLI підтримує вхід через ChatGPT або API key.
**Найкраще для:** використання доступу за підпискою ChatGPT/Codex замість ключа API.
Codex cloud вимагає входу через ChatGPT, тоді як Codex CLI підтримує вхід через ChatGPT або ключ API.
### Налаштування CLI (Codex OAuth)
@ -197,41 +197,41 @@ openclaw models auth login --provider openai-codex
}
```
У поточній документації Codex від OpenAI `gpt-5.4` вказано як актуальну модель Codex. OpenClaw
У поточній документації Codex від OpenAI вказано `gpt-5.4` як поточну модель Codex. OpenClaw
відображає її як `openai-codex/gpt-5.4` для використання через OAuth ChatGPT/Codex.
Якщо під час онбордингу повторно використовується наявний вхід Codex CLI, ці облікові дані
залишаються під керуванням Codex CLI. Після завершення строку дії OpenClaw спочатку знову читає зовнішнє джерело Codex
і, коли провайдер може їх оновити, записує оновлені облікові дані
назад у сховище Codex замість того, щоб брати їх під свій контроль в окремій копії
Якщо під час onboarding повторно використовується наявний вхід Codex CLI, ці облікові дані
і далі керуються Codex CLI. Після завершення строку дії OpenClaw спочатку повторно зчитує зовнішнє джерело Codex
і, коли провайдер може його оновити, записує оновлені облікові дані
назад до сховища Codex замість того, щоб брати їх під керування в окремій копії
лише для OpenClaw.
Якщо ваш обліковий запис Codex має доступ до Codex Spark, OpenClaw також підтримує:
Якщо ваш обліковий запис Codex має право на Codex Spark, OpenClaw також підтримує:
- `openai-codex/gpt-5.3-codex-spark`
OpenClaw розглядає Codex Spark як доступний лише для Codex. Він не надає прямий
шлях API-key `openai/gpt-5.3-codex-spark`.
шлях за ключем API `openai/gpt-5.3-codex-spark`.
OpenClaw також зберігає `openai-codex/gpt-5.3-codex-spark`, коли його виявляє `pi-ai`.
Сприймайте його як залежний від прав доступу та експериментальний: Codex Spark
відрізняється від GPT-5.4 `/fast`, а доступність залежить від облікового запису Codex /
ChatGPT, у який виконано вхід.
Розглядайте його як такий, що залежить від прав доступу, й експериментальний: Codex Spark
окремий від GPT-5.4 `/fast`, а доступність залежить від облікового запису Codex /
ChatGPT, під яким виконано вхід.
### Обмеження розміру контекстного вікна Codex
### Ліміт вікна контексту Codex
OpenClaw розглядає метадані моделі Codex і ліміт контексту під час виконання як окремі
OpenClaw розглядає метадані моделі Codex і обмеження контексту під час виконання як окремі
значення.
Для `openai-codex/gpt-5.4`:
- нативне `contextWindow`: `1050000`
- типовий ліміт виконання `contextTokens`: `272000`
- обмеження `contextTokens` під час виконання за замовчуванням: `272000`
Це зберігає правдивість метаданих моделі, водночас залишаючи менше типове вікно
виконання, яке на практиці має кращі характеристики затримки та якості.
Це зберігає правдивість метаданих моделі, водночас залишаючи менше вікно за замовчуванням
під час виконання, яке на практиці має кращі характеристики затримки та якості.
Якщо вам потрібен інший фактичний ліміт, встановіть `models.providers.<provider>.models[].contextTokens`:
Якщо ви хочете інше фактичне обмеження, задайте `models.providers.<provider>.models[].contextTokens`:
```json5
{
@ -253,43 +253,42 @@ OpenClaw розглядає метадані моделі Codex і ліміт к
Використовуйте `contextWindow` лише тоді, коли ви оголошуєте або перевизначаєте нативні
метадані моделі. Використовуйте `contextTokens`, коли хочете обмежити бюджет контексту під час виконання.
### Типовий транспорт
### Транспорт за замовчуванням
OpenClaw використовує `pi-ai` для потокової передачі моделей. Для `openai/*`, і для
`openai-codex/*` типовим транспортом є `"auto"` (спочатку WebSocket, потім запасний
варіант SSE).
OpenClaw використовує `pi-ai` для потокової передачі моделі. Для `openai/*` і
`openai-codex/*` транспорт за замовчуванням — `"auto"` (спочатку WebSocket, потім
резервний перехід на SSE).
У режимі `"auto"` OpenClaw також повторює одну ранню WebSocket-помилку, яку можна повторити,
перш ніж перейти на SSE. Примусовий режим `"websocket"` і далі показує помилки транспорту
безпосередньо, а не приховує їх за запасним варіантом.
У режимі `"auto"` OpenClaw також повторює одну ранню придатну до повтору помилку WebSocket
перед переходом на SSE. Примусовий режим `"websocket"` і далі безпосередньо показує помилки транспорту
замість того, щоб приховувати їх за резервним переходом.
Після помилки WebSocket під час з’єднання або на ранньому етапі запиту в режимі `"auto"` OpenClaw позначає
WebSocket-шлях цієї сесії як деградований приблизно на 60 секунд і надсилає
наступні запити через SSE протягом періоду охолодження замість того, щоб постійно
перемикатися між транспортами.
Після помилки підключення або помилки WebSocket на ранньому ході в режимі `"auto"` OpenClaw позначає
шлях WebSocket для цього сеансу як деградований приблизно на 60 секунд і надсилає
наступні ходи через SSE під час охолодження замість безладного перемикання
між транспортами.
Для нативних endpoint-ів сімейства OpenAI (`openai/*`, `openai-codex/*` і Azure
OpenAI Responses) OpenClaw також додає стабільний стан ідентифікації сесії та запиту
до запитів, щоб повторні спроби, перепідключення та запасний варіант SSE лишалися прив’язаними до тієї самої
ідентичності розмови. На нативних маршрутах сімейства OpenAI це включає стабільні
заголовки ідентифікації запитів сесії/запиту та відповідні метадані транспорту.
Для нативних кінцевих точок сімейства OpenAI (`openai/*`, `openai-codex/*` і Azure
OpenAI Responses) OpenClaw також додає стабільний стан ідентичності сеансу та ходу
до запитів, щоб повтори, перепідключення та резервний перехід на SSE залишалися прив’язаними до тієї самої
ідентичності розмови. На нативних маршрутах сімейства OpenAI це включає стабільні заголовки
ідентичності запиту сеансу/ходу, а також відповідні метадані транспорту.
OpenClaw також нормалізує лічильники використання OpenAI для різних варіантів транспорту, перш ніж
вони потраплять на поверхні сесії/статусу. Нативний трафік OpenAI/Codex Responses може
повідомляти про використання як `input_tokens` / `output_tokens` або
`prompt_tokens` / `completion_tokens`; OpenClaw розглядає їх як ті самі лічильники вхідних
і вихідних токенів для `/status`, `/usage` і журналів сесій. Коли нативний
WebSocket-трафік не містить `total_tokens` (або вказує `0`), OpenClaw повертається до
нормалізованої суми вхідних і вихідних токенів, щоб відображення сесії/статусу лишалося заповненим.
OpenClaw також нормалізує лічильники використання OpenAI між варіантами транспорту перед тим,
як вони потрапляють до поверхонь сеансу/статусу. Нативний трафік OpenAI/Codex Responses може
повідомляти використання як `input_tokens` / `output_tokens` або
`prompt_tokens` / `completion_tokens`; OpenClaw розглядає їх як однакові лічильники
вхідних і вихідних токенів для `/status`, `/usage` і журналів сеансів. Коли нативний
трафік WebSocket не містить `total_tokens` (або повідомляє `0`), OpenClaw повертається до
нормалізованої суми вхідних і вихідних токенів, щоб відображення сеансу/статусу залишалися заповненими.
Ви можете встановити `agents.defaults.models.<provider/model>.params.transport`:
Ви можете задати `agents.defaults.models.<provider/model>.params.transport`:
- `"sse"`: примусово використовувати SSE
- `"websocket"`: примусово використовувати WebSocket
- `"auto"`: спробувати WebSocket, потім перейти на SSE
Для `openai/*` (Responses API) OpenClaw також типово вмикає попередній прогрів WebSocket
(`openaiWsWarmup: true`), коли використовується транспорт WebSocket.
Для `openai/*` (Responses API) OpenClaw також за замовчуванням увімкнув попередній прогрів WebSocket (`openaiWsWarmup: true`), коли використовується транспорт WebSocket.
Пов’язана документація OpenAI:
@ -313,12 +312,12 @@ WebSocket-трафік не містить `total_tokens` (або вказує `
}
```
### Попередній прогрів WebSocket OpenAI
### Попередній прогрів OpenAI WebSocket
У документації OpenAI прогрів описано як необов’язковий. OpenClaw типово вмикає його для
`openai/*`, щоб зменшити затримку першого запиту під час використання транспорту WebSocket.
У документації OpenAI попередній прогрів описано як необов’язковий. OpenClaw вмикає його за замовчуванням для
`openai/*`, щоб зменшити затримку першого ходу при використанні транспорту WebSocket.
### Вимкнути прогрів
### Вимкнення попереднього прогріву
```json5
{
@ -336,7 +335,7 @@ WebSocket-трафік не містить `total_tokens` (або вказує `
}
```
### Явно ввімкнути прогрів
### Явне увімкнення попереднього прогріву
```json5
{
@ -354,11 +353,11 @@ WebSocket-трафік не містить `total_tokens` (або вказує `
}
```
### Пріоритетна обробка OpenAI і Codex
### Пріоритетна обробка для OpenAI і Codex
API OpenAI надає пріоритетну обробку через `service_tier=priority`. У
OpenClaw встановіть `agents.defaults.models["<provider>/<model>"].params.serviceTier`,
щоб передавати це поле до нативних endpoint-ів OpenAI/Codex Responses.
OpenClaw задайте `agents.defaults.models["<provider>/<model>"].params.serviceTier`,
щоб передавати це поле далі на нативні кінцеві точки OpenAI/Codex Responses.
```json5
{
@ -383,31 +382,37 @@ OpenClaw встановіть `agents.defaults.models["<provider>/<model>"].para
Підтримувані значення: `auto`, `default`, `flex` і `priority`.
OpenClaw передає `params.serviceTier` і до прямих запитів `openai/*` Responses,
і до запитів `openai-codex/*` Codex Responses, коли ці моделі вказують
на нативні endpoint-и OpenAI/Codex.
OpenClaw пересилає `params.serviceTier` як у прямі запити Responses `openai/*`,
так і в запити Codex Responses `openai-codex/*`, коли ці моделі вказують
на нативні кінцеві точки OpenAI/Codex.
Важлива поведінка:
- прямий `openai/*` має вказувати на `api.openai.com`
- `openai-codex/*` має вказувати на `chatgpt.com/backend-api`
- якщо ви спрямовуєте будь-якого з цих провайдерів через інший base URL або проксі, OpenClaw залишає `service_tier` без змін
- прямий `openai/*` має бути спрямований на `api.openai.com`
- `openai-codex/*` має бути спрямований на `chatgpt.com/backend-api`
- якщо ви маршрутизуєте будь-якого з цих провайдерів через інший базовий URL або проксі, OpenClaw залишає `service_tier` без змін
### Швидкий режим OpenAI
OpenClaw надає спільний перемикач швидкого режиму як для сесій `openai/*`, так і для
OpenClaw надає спільний перемикач швидкого режиму для сеансів `openai/*` і
`openai-codex/*`:
- Чат/UI: `/fast status|on|off`
- Chat/UI: `/fast status|on|off`
- Конфігурація: `agents.defaults.models["<provider>/<model>"].params.fastMode`
Коли швидкий режим увімкнено, OpenClaw відображає його на пріоритетну обробку OpenAI:
- прямі виклики `openai/*` Responses до `api.openai.com` надсилають `service_tier = "priority"`
- виклики `openai-codex/*` Responses до `chatgpt.com/backend-api` також надсилають `service_tier = "priority"`
- наявні значення `service_tier` у корисному навантаженні зберігаються
- прямі виклики Responses `openai/*` до `api.openai.com` надсилають `service_tier = "priority"`
- виклики Responses `openai-codex/*` до `chatgpt.com/backend-api` також надсилають `service_tier = "priority"`
- наявні значення `service_tier` у payload зберігаються
- швидкий режим не переписує `reasoning` або `text.verbosity`
Зокрема для GPT 5.4 найпоширеніше налаштування таке:
- надіслати `/fast on` у сеансі, що використовує `openai/gpt-5.4` або `openai-codex/gpt-5.4`
- або задати `agents.defaults.models["openai/gpt-5.4"].params.fastMode = true`
- якщо ви також використовуєте Codex OAuth, задайте `agents.defaults.models["openai-codex/gpt-5.4"].params.fastMode = true` також
Приклад:
```json5
@ -431,48 +436,48 @@ OpenClaw надає спільний перемикач швидкого реж
}
```
Перевизначення на рівні сесії мають вищий пріоритет, ніж конфігурація. Очищення перевизначення сесії в UI сесій
повертає сесію до налаштованого типового значення.
Перевизначення сеансу мають пріоритет над конфігурацією. Очищення перевизначення сеансу в UI Sessions
повертає сеанс до налаштованого значення за замовчуванням.
### Нативні маршрути OpenAI проти OpenAI-compatible маршрутів
### Нативні OpenAI-маршрути проти OpenAI-сумісних маршрутів
OpenClaw по-різному обробляє прямі endpoint-и OpenAI, Codex і Azure OpenAI
порівняно із загальними OpenAI-compatible проксі `/v1`:
OpenClaw по-різному обробляє прямі кінцеві точки OpenAI, Codex і Azure OpenAI
порівняно з типовими OpenAI-сумісними проксі `/v1`:
- нативні маршрути `openai/*`, `openai-codex/*` і Azure OpenAI зберігають
`reasoning: { effort: "none" }` без змін, коли ви явно вимикаєте reasoning
- нативні маршрути сімейства OpenAI типово встановлюють strict mode для схем інструментів
- для нативних маршрутів сімейства OpenAI схеми інструментів за замовчуванням працюють у strict mode
- приховані заголовки атрибуції OpenClaw (`originator`, `version` і
`User-Agent`) додаються лише для перевірених нативних хостів OpenAI
(`api.openai.com`) і нативних хостів Codex (`chatgpt.com/backend-api`)
- нативні маршрути OpenAI/Codex зберігають формування запитів, доступне лише для OpenAI, таке як
`service_tier`, `store` у Responses, payload сумісності reasoning OpenAI і
підказки кешу промптів
- OpenAI-compatible маршрути проксі-зразка зберігають м’якшу поведінку сумісності й не
примушують strict mode для схем інструментів, нативне формування запитів або приховані
`User-Agent`) додаються лише на перевірених нативних хостах OpenAI
(`api.openai.com`) і нативних хостах Codex (`chatgpt.com/backend-api`)
- нативні маршрути OpenAI/Codex зберігають OpenAI-специфічне формування запиту, таке як
`service_tier`, `store` у Responses, OpenAI payload сумісності reasoning і
підказки для кешу prompt
- маршрути OpenAI-compatible у стилі проксі зберігають вільнішу поведінку сумісності й
не примушують strict-схеми інструментів, нативне формування запитів або приховані
заголовки атрибуції OpenAI/Codex
Azure OpenAI лишається в групі нативної маршрутизації щодо транспорту та поведінки
сумісності, але не отримує прихованих заголовків атрибуції OpenAI/Codex.
Azure OpenAI залишається в категорії нативної маршрутизації щодо транспорту та
поведінки сумісності, але не отримує приховані заголовки атрибуції OpenAI/Codex.
Це зберігає поточну нативну поведінку OpenAI Responses без нав’язування старих
OpenAI-compatible shim-ів стороннім бекендам `/v1`.
Це зберігає поточну поведінку нативного OpenAI Responses без примусового
накладання старих OpenAI-compatible shim на сторонні бекенди `/v1`.
### Серверна компактація OpenAI Responses
Для прямих моделей OpenAI Responses (`openai/*`, що використовують `api: "openai-responses"` з
`baseUrl` на `api.openai.com`), OpenClaw тепер автоматично вмикає підказки корисного навантаження
для серверної компактації OpenAI:
`baseUrl` на `api.openai.com`) OpenClaw тепер автоматично вмикає підказки payload для
серверної компактації OpenAI:
- Примусово встановлює `store: true` (якщо сумісність моделі не задає `supportsStore: false`)
- Вставляє `context_management: [{ type: "compaction", compact_threshold: ... }]`
- Примусово задає `store: true` (якщо compat моделі не задає `supportsStore: false`)
- Інжектує `context_management: [{ type: "compaction", compact_threshold: ... }]`
Типово `compact_threshold` становить `70%` від `contextWindow` моделі (або `80000`,
За замовчуванням `compact_threshold` становить `70%` від `contextWindow` моделі (або `80000`,
якщо значення недоступне).
### Явно ввімкнути серверну компактацію
### Явне увімкнення серверної компактації
Використовуйте це, якщо хочете примусово вставляти `context_management` для сумісних
Використовуйте це, коли хочете примусово інжектувати `context_management` для сумісних
моделей Responses (наприклад, Azure OpenAI Responses):
```json5
@ -491,7 +496,7 @@ OpenAI-compatible shim-ів стороннім бекендам `/v1`.
}
```
### Увімкнути з власним порогом
### Увімкнення з користувацьким порогом
```json5
{
@ -510,7 +515,7 @@ OpenAI-compatible shim-ів стороннім бекендам `/v1`.
}
```
### Вимкнути серверну компактацію
### Вимкнення серверної компактації
```json5
{
@ -528,11 +533,11 @@ OpenAI-compatible shim-ів стороннім бекендам `/v1`.
}
```
`responsesServerCompaction` керує лише вставлянням `context_management`.
Прямі моделі OpenAI Responses і далі примусово встановлюють `store: true`, якщо сумісність
не задає `supportsStore: false`.
`responsesServerCompaction` керує лише інжекцією `context_management`.
Прямі моделі OpenAI Responses і далі примусово задають `store: true`, якщо compat не встановлює
`supportsStore: false`.
## Примітки
- Посилання на моделі завжди використовують формат `provider/model` (див. [/concepts/models](/uk/concepts/models)).
- Докладніше про автентифікацію та правила повторного використання — у [/concepts/oauth](/uk/concepts/oauth).
- Посилання на моделі завжди використовують `provider/model` (див. [/concepts/models](/uk/concepts/models)).
- Докладно про автентифікацію та правила повторного використання — у [/concepts/oauth](/uk/concepts/oauth).

View File

@ -1,26 +1,26 @@
---
read_when:
- Ви хочете використовувати генерацію відео Runway в OpenClaw
- Вам потрібне налаштування ключа API / змінної середовища для Runway
- Вам потрібне налаштування ключа API/env для Runway
- Ви хочете зробити Runway типовим провайдером відео
summary: Налаштування генерації відео Runway в OpenClaw
title: Runway
x-i18n:
generated_at: "2026-04-06T00:19:38Z"
generated_at: "2026-04-06T00:33:10Z"
model: gpt-5.4
provider: openai
source_hash: 87092da3f1a3cb137b0a3dffe1241a5a3d84eb29fa7c3a6b1df9c2871f1c80b6
source_hash: bc615d1a26f7a4b890d29461e756690c858ecb05024cf3c4d508218022da6e76
source_path: providers/runway.md
workflow: 15
---
# Runway
OpenClaw постачається з вбудованим провайдером `runway` для хостингової генерації відео.
OpenClaw постачається зі вбудованим провайдером `runway` для хостингової генерації відео.
- Провайдер: `runway`
- Автентифікація: `RUNWAYML_API_SECRET` (канонічний; `RUNWAY_API_KEY` також працює)
- API: API генерації відео Runway на основі завдань
- Ідентифікатор провайдера: `runway`
- Автентифікація: `RUNWAYML_API_SECRET` (канонічний) або `RUNWAY_API_KEY`
- API: генерація відео Runway на основі завдань (опитування `GET /v1/tasks/{id}`)
## Швидкий старт
@ -30,33 +30,27 @@ OpenClaw постачається з вбудованим провайдером
openclaw onboard --auth-choice runway-api-key
```
2. Установіть типову модель відео:
2. Установіть Runway як типовий провайдер відео:
```json5
{
agents: {
defaults: {
videoGenerationModel: {
primary: "runway/gen4.5",
},
},
},
}
```bash
openclaw config set agents.defaults.videoGenerationModel.primary "runway/gen4.5"
```
## Генерація відео
3. Попросіть агента згенерувати відео. Runway буде використано автоматично.
Вбудований провайдер генерації відео `runway` типово використовує `runway/gen4.5`.
## Підтримувані режими
- Режими: text-to-video, single-image image-to-video та single-video video-to-video
- Виконання: асинхронне надсилання завдання + опитування через `GET /v1/tasks/{id}`
- Сесії агента: `video_generate` запускає фонове завдання, а пізніші виклики в межах тієї самої сесії тепер повертають статус активного завдання замість створення дубльованого запуску
- Перевірка статусу: `video_generate action=status`
- Локальні посилання на зображення/відео: підтримуються через data URI
- Поточне застереження для video-to-video: OpenClaw наразі вимагає `runway/gen4_aleph` для відеовходів
- Поточне застереження для text-to-video: OpenClaw наразі надає `16:9` і `9:16` для запусків лише з текстом
| Режим | Модель | Вхідні референси |
| -------------- | ------------------ | ----------------------- |
| Текст у відео | `gen4.5` (типово) | Немає |
| Зображення у відео | `gen4.5` | 1 локальне або віддалене зображення |
| Відео у відео | `gen4_aleph` | 1 локальне або віддалене відео |
Щоб використовувати Runway як типовий провайдер відео:
- Підтримуються посилання на локальні зображення та відео через URI даних.
- Для режиму відео у відео наразі потрібна саме модель `runway/gen4_aleph`.
- Для запусків лише з текстом наразі доступні співвідношення сторін `16:9` і `9:16`.
## Конфігурація
```json5
{
@ -72,5 +66,5 @@ openclaw onboard --auth-choice runway-api-key
## Пов’язане
- [Генерація відео](/uk/tools/video-generation)
- [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults)
- [Генерація відео](/uk/tools/video-generation) -- спільні параметри інструмента, вибір провайдера та асинхронна поведінка
- [Довідник з конфігурації](/uk/gateway/configuration-reference#agent-defaults)

View File

@ -1,70 +1,72 @@
---
read_when:
- Ви хочете налаштувати провайдерів пошуку в памʼяті або моделі ембедингів
- Ви хочете налаштувати провайдерів пошуку в памяті або моделі ембедингів
- Ви хочете налаштувати бекенд QMD
- Ви хочете налаштувати гібридний пошук, MMR або часове згасання
- Ви хочете увімкнути мультимодальне індексування памʼяті
summary: Усі параметри конфігурації для пошуку в памʼяті, провайдерів ембедингів, QMD, гібридного пошуку та мультимодального індексування
title: Довідник із конфігурації памʼяті
- Ви хочете ввімкнути мультимодальне індексування пам’яті
summary: Усі параметри конфігурації для пошуку в памяті, провайдерів ембедингів, QMD, гібридного пошуку та мультимодального індексування
title: Довідник із конфігурації памяті
x-i18n:
generated_at: "2026-04-05T23:00:17Z"
generated_at: "2026-04-06T00:34:15Z"
model: gpt-5.4
provider: openai
source_hash: 24dcdca7e2c29f27e61b0ed076574d6b473832f839cba2cc0c0d57e2ac17c196
source_hash: d2be752f3b08441807224b4c33f4b63aea2de6deb43ac42db7e34f8e837b0240
source_path: reference/memory-config.md
workflow: 15
---
# Довідник із конфігурації памʼяті
# Довідник із конфігурації памяті
На цій сторінці перелічено всі параметри конфігурації пошуку в памʼяті OpenClaw. Для
На цій сторінці наведено всі параметри конфігурації для пошуку в пам’яті OpenClaw. Для
концептуальних оглядів дивіться:
- [Огляд памʼяті](/uk/concepts/memory) -- як працює памʼять
- [Огляд пам’яті](/uk/concepts/memory) -- як працює пам’ять
- [Вбудований рушій](/uk/concepts/memory-builtin) -- типовий бекенд SQLite
- [Рушій QMD](/uk/concepts/memory-qmd) -- локально-орієнтований сайдкар
- [Пошук у памʼяті](/uk/concepts/memory-search) -- конвеєр пошуку та налаштування
- [Рушій QMD](/uk/concepts/memory-qmd) -- локальний sidecar
- [Пошук у памяті](/uk/concepts/memory-search) -- конвеєр пошуку та налаштування
Усі налаштування пошуку в памʼяті знаходяться в `agents.defaults.memorySearch` у
Усі налаштування пошуку в пам’яті розміщені в `agents.defaults.memorySearch` у
`openclaw.json`, якщо не зазначено інше.
---
## Вибір провайдера
| Ключ | Тип | Типово | Опис |
| ---------- | --------- | ---------------- | -------------------------------------------------------------------------------- |
| `provider` | `string` | автоматично виявлено | ID адаптера ембедингів: `openai`, `gemini`, `voyage`, `mistral`, `ollama`, `local` |
| `model` | `string` | типове значення провайдера | Назва моделі ембедингів |
| `fallback` | `string` | `"none"` | ID резервного адаптера, якщо основний завершується помилкою |
| `enabled` | `boolean` | `true` | Увімкнути або вимкнути пошук у памʼяті |
| Ключ | Тип | Типово | Опис |
| ---------- | --------- | ---------------- | ------------------------------------------------------------------------------------------- |
| `provider` | `string` | визначається автоматично | ID адаптера ембедингів: `openai`, `gemini`, `voyage`, `mistral`, `bedrock`, `ollama`, `local` |
| `model` | `string` | типове значення провайдера | Назва моделі ембедингів |
| `fallback` | `string` | `"none"` | ID резервного адаптера, якщо основний завершиться помилкою |
| `enabled` | `boolean` | `true` | Увімкнути або вимкнути пошук у пам’яті |
### Порядок автоматичного виявлення
### Порядок автовизначення
Коли `provider` не задано, OpenClaw вибирає перший доступний:
Коли `provider` не встановлено, OpenClaw вибирає перший доступний:
1. `local` -- якщо налаштовано `memorySearch.local.modelPath` і файл існує.
2. `openai` -- якщо вдається визначити ключ OpenAI.
3. `gemini` -- якщо вдається визначити ключ Gemini.
4. `voyage` -- якщо вдається визначити ключ Voyage.
5. `mistral` -- якщо вдається визначити ключ Mistral.
6. `bedrock` -- якщо спрацьовує ланцюжок облікових даних AWS SDK (роль екземпляра, ключі доступу, профіль, SSO, web identity або спільна конфігурація).
`ollama` підтримується, але не виявляється автоматично (задайте його явно).
`ollama` підтримується, але не визначається автоматично (встановіть його явно).
### Визначення API-ключа
### Визначення ключа API
Віддалені ембединги потребують API-ключа. OpenClaw визначає його з:
профілів автентифікації, `models.providers.*.apiKey` або змінних середовища.
Для віддалених ембедингів потрібен ключ API. Натомість Bedrock використовує типовий
ланцюжок облікових даних AWS SDK (ролі екземпляра, SSO, ключі доступу).
| Провайдер | Змінна середовища | Ключ конфігурації |
| -------- | ------------------------------ | --------------------------------- |
| OpenAI | `OPENAI_API_KEY` | `models.providers.openai.apiKey` |
| Gemini | `GEMINI_API_KEY` | `models.providers.google.apiKey` |
| Voyage | `VOYAGE_API_KEY` | `models.providers.voyage.apiKey` |
| Mistral | `MISTRAL_API_KEY` | `models.providers.mistral.apiKey` |
| Ollama | `OLLAMA_API_KEY` (заповнювач) | -- |
| Провайдер | Змінна середовища | Ключ конфігурації |
| --------- | ------------------------------ | -------------------------------- |
| OpenAI | `OPENAI_API_KEY` | `models.providers.openai.apiKey` |
| Gemini | `GEMINI_API_KEY` | `models.providers.google.apiKey` |
| Voyage | `VOYAGE_API_KEY` | `models.providers.voyage.apiKey` |
| Mistral | `MISTRAL_API_KEY` | `models.providers.mistral.apiKey` |
| Bedrock | ланцюжок облікових даних AWS | Ключ API не потрібен |
| Ollama | `OLLAMA_API_KEY` (заповнювач) | -- |
Codex OAuth охоплює лише chat/completions і не задовольняє запити
Codex OAuth покриває лише chat/completions і не задовольняє запити
на ембединги.
---
@ -76,8 +78,8 @@ Codex OAuth охоплює лише chat/completions і не задовольн
| Ключ | Тип | Опис |
| ---------------- | -------- | ------------------------------------------------ |
| `remote.baseUrl` | `string` | Користувацька базова URL-адреса API |
| `remote.apiKey` | `string` | Перевизначення API-ключа |
| `remote.headers` | `object` | Додаткові HTTP-заголовки (обʼєднуються з типовими значеннями провайдера) |
| `remote.apiKey` | `string` | Перевизначення ключа API |
| `remote.headers` | `object` | Додаткові HTTP-заголовки (обєднуються з типовими значеннями провайдера) |
```json5
{
@ -98,11 +100,11 @@ Codex OAuth охоплює лише chat/completions і не задовольн
---
## Конфігурація, специфічна для Gemini
## Конфігурація для Gemini
| Ключ | Тип | Типово | Опис |
| ---------------------- | -------- | ---------------------- | ------------------------------------------ |
| `model` | `string` | `gemini-embedding-001` | Також підтримує `gemini-embedding-2-preview` |
| `model` | `string` | `gemini-embedding-001` | Також підтримується `gemini-embedding-2-preview` |
| `outputDimensionality` | `number` | `3072` | Для Embedding 2: 768, 1536 або 3072 |
<Warning>
@ -111,44 +113,122 @@ Codex OAuth охоплює лише chat/completions і не задовольн
---
## Конфігурація ембедингів Bedrock
Bedrock використовує типовий ланцюжок облікових даних AWS SDK -- ключі API не потрібні.
Якщо OpenClaw працює на EC2 з роллю екземпляра, у якої ввімкнено Bedrock, просто встановіть
провайдера та модель:
```json5
{
agents: {
defaults: {
memorySearch: {
provider: "bedrock",
model: "amazon.titan-embed-text-v2:0",
},
},
},
}
```
| Ключ | Тип | Типово | Опис |
| ---------------------- | -------- | ------------------------------ | ------------------------------ |
| `model` | `string` | `amazon.titan-embed-text-v2:0` | Будь-який ID моделі ембедингів Bedrock |
| `outputDimensionality` | `number` | типове значення моделі | Для Titan V2: 256, 512 або 1024 |
### Підтримувані моделі
Підтримуються такі моделі (з визначенням сімейства та типовими
розмірностями):
| ID моделі | Провайдер | Типові розмірності | Налаштовувані розмірності |
| ------------------------------------------ | ---------- | ------------------ | ------------------------- |
| `amazon.titan-embed-text-v2:0` | Amazon | 1024 | 256, 512, 1024 |
| `amazon.titan-embed-text-v1` | Amazon | 1536 | -- |
| `amazon.titan-embed-g1-text-02` | Amazon | 1536 | -- |
| `amazon.titan-embed-image-v1` | Amazon | 1024 | -- |
| `amazon.nova-2-multimodal-embeddings-v1:0` | Amazon | 1024 | 256, 384, 1024, 3072 |
| `cohere.embed-english-v3` | Cohere | 1024 | -- |
| `cohere.embed-multilingual-v3` | Cohere | 1024 | -- |
| `cohere.embed-v4:0` | Cohere | 1536 | 256-1536 |
| `twelvelabs.marengo-embed-3-0-v1:0` | TwelveLabs | 512 | -- |
| `twelvelabs.marengo-embed-2-7-v1:0` | TwelveLabs | 1024 | -- |
Варіанти з суфіксом пропускної здатності (наприклад, `amazon.titan-embed-text-v1:2:8k`) успадковують
конфігурацію базової моделі.
### Автентифікація
Автентифікація Bedrock використовує стандартний порядок визначення облікових даних AWS SDK:
1. Змінні середовища (`AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`)
2. Кеш токенів SSO
3. Облікові дані токена web identity
4. Спільні файли облікових даних і конфігурації
5. Облікові дані метаданих ECS або EC2
Регіон визначається з `AWS_REGION`, `AWS_DEFAULT_REGION`, `baseUrl`
провайдера `amazon-bedrock` або типово використовується `us-east-1`.
### Дозволи IAM
Ролі або користувачу IAM потрібне таке:
```json
{
"Effect": "Allow",
"Action": "bedrock:InvokeModel",
"Resource": "*"
}
```
Для принципу найменших привілеїв обмежте `InvokeModel` конкретною моделлю:
```
arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0
```
---
## Конфігурація локальних ембедингів
| Ключ | Тип | Типово | Опис |
| --------------------- | -------- | ---------------------- | ------------------------------ |
| `local.modelPath` | `string` | автоматично завантажується | Шлях до файлу моделі GGUF |
| `local.modelPath` | `string` | завантажується автоматично | Шлях до файла моделі GGUF |
| `local.modelCacheDir` | `string` | типове значення node-llama-cpp | Каталог кешу для завантажених моделей |
Типова модель: `embeddinggemma-300m-qat-Q8_0.gguf` (~0.6 ГБ, завантажується автоматично).
Потребує нативного збирання: `pnpm approve-builds`, потім `pnpm rebuild node-llama-cpp`.
Типова модель: `embeddinggemma-300m-qat-Q8_0.gguf` (~0.6 GB, завантажується автоматично).
Потрібна нативна збірка: `pnpm approve-builds`, а потім `pnpm rebuild node-llama-cpp`.
---
## Конфігурація гібридного пошуку
Усе в `memorySearch.query.hybrid`:
Усе знаходиться в `memorySearch.query.hybrid`:
| Ключ | Тип | Типово | Опис |
| --------------------- | --------- | ------- | ---------------------------------- |
| `enabled` | `boolean` | `true` | Увімкнути гібридний пошук BM25 + векторний пошук |
| `vectorWeight` | `number` | `0.7` | Вага для векторних оцінок (0-1) |
| `textWeight` | `number` | `0.3` | Вага для оцінок BM25 (0-1) |
| `candidateMultiplier` | `number` | `4` | Множник розміру пулу кандидатів |
| --------------------- | --------- | ------ | ---------------------------------- |
| `enabled` | `boolean` | `true` | Увімкнути гібридний пошук BM25 + векторний |
| `vectorWeight` | `number` | `0.7` | Вага для векторних оцінок (0-1) |
| `textWeight` | `number` | `0.3` | Вага для оцінок BM25 (0-1) |
| `candidateMultiplier` | `number` | `4` | Множник розміру пулу кандидатів |
### MMR (різноманітність)
| Ключ | Тип | Типово | Опис |
| ------------- | --------- | ------- | -------------------------------------- |
| `mmr.enabled` | `boolean` | `false` | Увімкнути повторне ранжування MMR |
| Ключ | Тип | Типово | Опис |
| ------------- | --------- | ------ | ------------------------------------- |
| `mmr.enabled` | `boolean` | `false` | Увімкнути повторне ранжування MMR |
| `mmr.lambda` | `number` | `0.7` | 0 = максимальна різноманітність, 1 = максимальна релевантність |
### Часове згасання (новизна)
### Часове згасання (актуальність)
| Ключ | Тип | Типово | Опис |
| ---------------------------- | --------- | ------- | ----------------------------- |
| `temporalDecay.enabled` | `boolean` | `false` | Увімкнути підсилення за новизною |
| ---------------------------- | --------- | ------ | ----------------------------- |
| `temporalDecay.enabled` | `boolean` | `false` | Увімкнути буст актуальності |
| `temporalDecay.halfLifeDays` | `number` | `30` | Оцінка зменшується вдвічі кожні N днів |
Для постійно актуальних файлів (`MEMORY.md`, недатовані файли в `memory/`) згасання ніколи не застосовується.
До evergreen-файлів (`MEMORY.md`, файли без дати в `memory/`) згасання ніколи не застосовується.
### Повний приклад
@ -173,11 +253,11 @@ Codex OAuth охоплює лише chat/completions і не задовольн
---
## Додаткові шляхи памʼяті
## Додаткові шляхи памяті
| Ключ | Тип | Опис |
| ------------ | ---------- | ---------------------------------------- |
| `extraPaths` | `string[]` | Додаткові каталоги або файли для індексування |
| Ключ | Тип | Опис |
| ----------- | ---------- | ----------------------------------------- |
| `extraPaths` | `string[]` | Додаткові каталоги або файли для індексації |
```json5
{
@ -193,32 +273,32 @@ Codex OAuth охоплює лише chat/completions і не задовольн
Шляхи можуть бути абсолютними або відносними до робочого простору. Каталоги скануються
рекурсивно на наявність файлів `.md`. Обробка символьних посилань залежить від активного бекенда:
вбудований рушій ігнорує символьні посилання, тоді як QMD дотримується поведінки
базового сканера QMD.
вбудований рушій ігнорує символьні посилання, тоді як QMD наслідує поведінку
сканера QMD.
Для пошуку транскриптів між агентами в межах області агента використовуйте
Для пошуку стенограм між агентами в межах області агента використовуйте
`agents.list[].memorySearch.qmd.extraCollections` замість `memory.qmd.paths`.
Ці додаткові колекції мають ту саму форму `{ path, name, pattern? }`, але
обʼєднуються для кожного агента окремо й можуть зберігати явні спільні назви, коли шлях
вказує за межі поточного робочого простору.
Якщо той самий визначений шлях зʼявляється і в `memory.qmd.paths`, і в
обєднуються для кожного агента окремо й можуть зберігати явні спільні назви, коли шлях
вказує поза поточним робочим простором.
Якщо той самий визначений шлях зявляється і в `memory.qmd.paths`, і в
`memorySearch.qmd.extraCollections`, QMD зберігає перший запис і пропускає
дублікат.
---
## Мультимодальна памʼять (Gemini)
## Мультимодальна память (Gemini)
Індексуйте зображення й аудіо разом із Markdown за допомогою Gemini Embedding 2:
| Ключ | Тип | Типово | Опис |
| ------------------------- | ---------- | ---------- | -------------------------------------- |
| `multimodal.enabled` | `boolean` | `false` | Увімкнути мультимодальне індексування |
| Ключ | Тип | Типово | Опис |
| ------------------------- | ---------- | ---------- | ------------------------------------ |
| `multimodal.enabled` | `boolean` | `false` | Увімкнути мультимодальне індексування |
| `multimodal.modalities` | `string[]` | -- | `["image"]`, `["audio"]` або `["all"]` |
| `multimodal.maxFileBytes` | `number` | `10000000` | Максимальний розмір файлу для індексування |
| `multimodal.maxFileBytes` | `number` | `10000000` | Максимальний розмір файла для індексації |
Застосовується лише до файлів у `extraPaths`. Типові корені памʼяті залишаються лише для Markdown.
Потребує `gemini-embedding-2-preview`. `fallback` має бути `"none"`.
Застосовується лише до файлів у `extraPaths`. Типові корені памяті залишаються лише для Markdown.
Потрібен `gemini-embedding-2-preview`. `fallback` має бути `"none"`.
Підтримувані формати: `.jpg`, `.jpeg`, `.png`, `.webp`, `.gif`, `.heic`, `.heif`
(зображення); `.mp3`, `.wav`, `.ogg`, `.opus`, `.m4a`, `.aac`, `.flac` (аудіо).
@ -227,71 +307,71 @@ Codex OAuth охоплює лише chat/completions і не задовольн
## Кеш ембедингів
| Ключ | Тип | Типово | Опис |
| ------------------ | --------- | ------- | ------------------------------- |
| Ключ | Тип | Типово | Опис |
| ------------------ | --------- | ------ | -------------------------------- |
| `cache.enabled` | `boolean` | `false` | Кешувати ембединги фрагментів у SQLite |
| `cache.maxEntries` | `number` | `50000` | Максимальна кількість кешованих ембедингів |
Запобігає повторному створенню ембедингів для незміненого тексту під час переіндексування або оновлення транскриптів.
Запобігає повторному створенню ембедингів для незмінного тексту під час переіндексації або оновлення стенограм.
---
## Пакетне індексування
## Пакетна індексація
| Ключ | Тип | Типово | Опис |
| ----------------------------- | --------- | ------- | -------------------------- |
| ----------------------------- | --------- | ------ | -------------------------- |
| `remote.batch.enabled` | `boolean` | `false` | Увімкнути API пакетних ембедингів |
| `remote.batch.concurrency` | `number` | `2` | Паралельні пакетні завдання |
| `remote.batch.wait` | `boolean` | `true` | Очікувати завершення пакета |
| `remote.batch.pollIntervalMs` | `number` | -- | Інтервал опитування |
| `remote.batch.timeoutMinutes` | `number` | -- | Тайм-аут пакета |
| `remote.batch.pollIntervalMs` | `number` | -- | Інтервал опитування |
| `remote.batch.timeoutMinutes` | `number` | -- | Тайм-аут пакета |
Доступно для `openai`, `gemini` і `voyage`. Пакетний режим OpenAI зазвичай
найшвидший і найдешевший для великих зворотних заповнень.
---
## Пошук у памʼяті сеансів (експериментально)
## Пошук у пам’яті сесій (експериментально)
Індексуйте транскрипти сеансів і відображайте їх через `memory_search`:
Індексуйте стенограми сесій і показуйте їх через `memory_search`:
| Ключ | Тип | Типово | Опис |
| ----------------------------- | ---------- | ------------ | -------------------------------------- |
| `experimental.sessionMemory` | `boolean` | `false` | Увімкнути індексування сеансів |
| `sources` | `string[]` | `["memory"]` | Додайте `"sessions"`, щоб включити транскрипти |
| `sync.sessions.deltaBytes` | `number` | `100000` | Поріг байтів для переіндексування |
| `sync.sessions.deltaMessages` | `number` | `50` | Поріг повідомлень для переіндексування |
| `experimental.sessionMemory` | `boolean` | `false` | Увімкнути індексацію сесій |
| `sources` | `string[]` | `["memory"]` | Додайте `"sessions"`, щоб включити стенограми |
| `sync.sessions.deltaBytes` | `number` | `100000` | Поріг у байтах для переіндексації |
| `sync.sessions.deltaMessages` | `number` | `50` | Поріг у повідомленнях для переіндексації |
Індексування сеансів є опційним і виконується асинхронно. Результати можуть бути трохи
застарілими. Журнали сеансів зберігаються на диску, тому вважайте доступ до файлової системи
межею довіри.
Індексація сесій є опційною й виконується асинхронно. Результати можуть бути трохи
застарілими. Журнали сесій зберігаються на диску, тому ставтеся до доступу до файлової системи як до
межі довіри.
---
## Прискорення векторів SQLite (sqlite-vec)
| Ключ | Тип | Типово | Опис |
| ---------------------------- | --------- | ------- | --------------------------------- |
| `store.vector.enabled` | `boolean` | `true` | Використовувати sqlite-vec для векторних запитів |
| `store.vector.extensionPath` | `string` | вбудовано | Перевизначити шлях до sqlite-vec |
| ---------------------------- | --------- | ------ | --------------------------------- |
| `store.vector.enabled` | `boolean` | `true` | Використовувати sqlite-vec для векторних запитів |
| `store.vector.extensionPath` | `string` | bundled | Перевизначити шлях до sqlite-vec |
Коли sqlite-vec недоступний, OpenClaw автоматично повертається до
обчислення косинусної подібності в процесі.
Коли sqlite-vec недоступний, OpenClaw автоматично переходить до косинусної
схожості в процесі.
---
## Сховище індексу
| Ключ | Тип | Типово | Опис |
| --------------------- | -------- | ------------------------------------- | ----------------------------------------- |
| `store.path` | `string` | `~/.openclaw/memory/{agentId}.sqlite` | Розташування індексу (підтримує токен `{agentId}`) |
| `store.fts.tokenizer` | `string` | `unicode61` | Токенізатор FTS5 (`unicode61` або `trigram`) |
| Ключ | Тип | Типово | Опис |
| ------------------- | -------- | ------------------------------------- | ----------------------------------------- |
| `store.path` | `string` | `~/.openclaw/memory/{agentId}.sqlite` | Розташування індексу (підтримує токен `{agentId}`) |
| `store.fts.tokenizer` | `string` | `unicode61` | Токенізатор FTS5 (`unicode61` або `trigram`) |
---
## Конфігурація бекенда QMD
Задайте `memory.backend = "qmd"`, щоб увімкнути. Усі налаштування QMD знаходяться в
Установіть `memory.backend = "qmd"`, щоб увімкнути його. Усі налаштування QMD розміщені в
`memory.qmd`:
| Ключ | Тип | Типово | Опис |
@ -300,35 +380,35 @@ Codex OAuth охоплює лише chat/completions і не задовольн
| `searchMode` | `string` | `search` | Команда пошуку: `search`, `vsearch`, `query` |
| `includeDefaultMemory` | `boolean` | `true` | Автоматично індексувати `MEMORY.md` + `memory/**/*.md` |
| `paths[]` | `array` | -- | Додаткові шляхи: `{ name, path, pattern? }` |
| `sessions.enabled` | `boolean` | `false` | Індексувати транскрипти сеансів |
| `sessions.retentionDays` | `number` | -- | Термін зберігання транскриптів |
| `sessions.enabled` | `boolean` | `false` | Індексувати стенограми сесій |
| `sessions.retentionDays` | `number` | -- | Утримання стенограм |
| `sessions.exportDir` | `string` | -- | Каталог експорту |
### Розклад оновлення
### Розклад оновлень
| Ключ | Тип | Типово | Опис |
| ------------------------- | --------- | ------- | ---------------------------------- |
| `update.interval` | `string` | `5m` | Інтервал оновлення |
| `update.debounceMs` | `number` | `15000` | Затримка для змін файлів |
| `update.onBoot` | `boolean` | `true` | Оновлювати під час запуску |
| Ключ | Тип | Типово | Опис |
| ------------------------- | --------- | ------ | ----------------------------------- |
| `update.interval` | `string` | `5m` | Інтервал оновлення |
| `update.debounceMs` | `number` | `15000` | Debounce змін файлів |
| `update.onBoot` | `boolean` | `true` | Оновлювати під час запуску |
| `update.waitForBootSync` | `boolean` | `false` | Блокувати запуск до завершення оновлення |
| `update.embedInterval` | `string` | -- | Окрема частота для ембедингів |
| `update.commandTimeoutMs` | `number` | -- | Тайм-аут для команд QMD |
| `update.updateTimeoutMs` | `number` | -- | Тайм-аут для операцій оновлення QMD |
| `update.embedTimeoutMs` | `number` | -- | Тайм-аут для операцій ембедингів QMD |
| `update.embedInterval` | `string` | -- | Окремий інтервал для ембедингів |
| `update.commandTimeoutMs` | `number` | -- | Тайм-аут для команд QMD |
| `update.updateTimeoutMs` | `number` | -- | Тайм-аут для операцій оновлення QMD |
| `update.embedTimeoutMs` | `number` | -- | Тайм-аут для операцій ембедингів QMD |
### Обмеження
### Ліміти
| Ключ | Тип | Типово | Опис |
| ------------------------- | -------- | ------- | ---------------------------- |
| `limits.maxResults` | `number` | `6` | Максимальна кількість результатів пошуку |
| `limits.maxSnippetChars` | `number` | -- | Обмежити довжину фрагмента |
| `limits.maxInjectedChars` | `number` | -- | Обмежити загальну кількість вставлених символів |
| `limits.timeoutMs` | `number` | `4000` | Тайм-аут пошуку |
| Ключ | Тип | Типово | Опис |
| ------------------------- | -------- | ------ | ------------------------------- |
| `limits.maxResults` | `number` | `6` | Максимальна кількість результатів пошуку |
| `limits.maxSnippetChars` | `number` | -- | Обмеження довжини фрагмента |
| `limits.maxInjectedChars` | `number` | -- | Обмеження загальної кількості вставлених символів |
| `limits.timeoutMs` | `number` | `4000` | Тайм-аут пошуку |
### Область дії
Керує тим, які сеанси можуть отримувати результати пошуку QMD. Та сама схема, що й у
Керує тим, які сесії можуть отримувати результати пошуку QMD. Та сама схема, що й у
[`session.sendPolicy`](/uk/gateway/configuration-reference#session):
```json5
@ -344,18 +424,18 @@ Codex OAuth охоплює лише chat/completions і не задовольн
}
```
Типове значення -- лише DM. `match.keyPrefix` відповідає нормалізованому ключу сеансу;
Типове значення -- лише DM. `match.keyPrefix` відповідає нормалізованому ключу сесії;
`match.rawKeyPrefix` відповідає сирому ключу, включно з `agent:<id>:`.
### Цитування
### Цитати
`memory.citations` застосовується до всіх бекендів:
| Значення | Поведінка |
| ---------------- | --------------------------------------------------- |
| `auto` (типово) | Додавати нижній колонтитул `Source: <path#line>` у фрагменти |
| `auto` (типово) | Додавати нижній колонтитул `Source: <path#line>` до фрагментів |
| `on` | Завжди додавати нижній колонтитул |
| `off` | Не додавати нижній колонтитул (шлях однаково передається агенту внутрішньо) |
| `off` | Не додавати нижній колонтитул (шлях усе одно передається агенту внутрішньо) |
### Повний приклад QMD
@ -383,92 +463,19 @@ Codex OAuth охоплює лише chat/completions і не задовольн
## Dreaming (експериментально)
Dreaming налаштовується в `plugins.entries.memory-core.config.dreaming`,
а не в `agents.defaults.memorySearch`. Dreaming використовує три кооперативні
фази (light, deep, REM), кожна з яких має власний розклад і конфігурацію. Для
концептуальних деталей і команд чату дивіться [Dreaming](/uk/concepts/dreaming).
а не в `agents.defaults.memorySearch`.
### Глобальні налаштування
Dreaming виконується як один запланований прохід і використовує внутрішні фази light/deep/REM як
деталь реалізації.
| Ключ | Тип | Типово | Опис |
| ------------------------- | --------- | ---------- | ------------------------------------------------------------ |
| `enabled` | `boolean` | `true` | Головний перемикач для всіх фаз |
| `timezone` | `string` | не задано | Часовий пояс для обчислення розкладу та групування дат у dreaming |
| `verboseLogging` | `boolean` | `false` | Виводити докладні журнали dreaming для кожного запуску |
| `storage.mode` | `string` | `"inline"` | Вбудований `DREAMS.md`, окремі звіти або обидва варіанти |
| `storage.separateReports` | `boolean` | `false` | Записувати окремі файли звітів для кожної фази |
Для концептуальної поведінки та slash-команд дивіться [Dreaming](/uk/concepts/dreaming).
### Легка фаза (`phases.light`)
### Налаштування користувача
Сканує нещодавні трасування, усуває дублікати та додає кандидатів у `DREAMS.md`, коли
увімкнено вбудоване зберігання.
**Не** записує до `MEMORY.md`.
| Ключ | Тип | Типово | Опис |
| ------------------ | ---------- | ------------------------------- | ---------------------------- |
| `enabled` | `boolean` | `true` | Увімкнути легку фазу |
| `cron` | `string` | `0 */6 * * *` | Розклад (кожні 6 годин) |
| `lookbackDays` | `number` | `2` | Кількість днів трасувань для сканування |
| `limit` | `number` | `100` | Максимальна кількість кандидатів для додавання |
| `dedupeSimilarity` | `number` | `0.9` | Поріг Jaccard для усунення дублікатів |
| `sources` | `string[]` | `["daily","sessions","recall"]` | Джерела даних |
### Глибока фаза (`phases.deep`)
Просуває кваліфікованих кандидатів до `MEMORY.md`. Це **єдина** фаза, що
записує довготривалі факти. Також відповідає за відновлення, коли памʼяті недостатньо.
| Ключ | Тип | Типово | Опис |
| --------------------- | ---------- | ----------------------------------------------- | ------------------------------------ |
| `enabled` | `boolean` | `true` | Увімкнути глибоку фазу |
| `cron` | `string` | `0 3 * * *` | Розклад (щодня о 3:00) |
| `limit` | `number` | `10` | Максимум кандидатів для просування за цикл |
| `minScore` | `number` | `0.8` | Мінімальна зважена оцінка для просування |
| `minRecallCount` | `number` | `3` | Мінімальний поріг кількості recall |
| `minUniqueQueries` | `number` | `3` | Мінімальна кількість різних запитів |
| `recencyHalfLifeDays` | `number` | `14` | Кількість днів, за які оцінка новизни зменшується вдвічі |
| `maxAgeDays` | `number` | `30` | Максимальний вік щоденної нотатки для просування |
| `sources` | `string[]` | `["daily","memory","sessions","logs","recall"]` | Джерела даних |
#### Глибоке відновлення (`phases.deep.recovery`)
| Ключ | Тип | Типово | Опис |
| ------------------------ | --------- | ------- | ----------------------------------------- |
| `enabled` | `boolean` | `true` | Увімкнути автоматичне відновлення |
| `triggerBelowHealth` | `number` | `0.35` | Поріг оцінки стану для запуску відновлення |
| `lookbackDays` | `number` | `30` | Наскільки далеко назад шукати матеріали для відновлення |
| `maxRecoveredCandidates` | `number` | `20` | Максимум кандидатів для відновлення за запуск |
| `minRecoveryConfidence` | `number` | `0.9` | Мінімальна впевненість для кандидатів на відновлення |
| `autoWriteMinConfidence` | `number` | `0.97` | Поріг автозапису (без ручної перевірки) |
### Фаза REM (`phases.rem`)
Записує теми, роздуми та нотатки про шаблони в `DREAMS.md`, коли
увімкнено вбудоване зберігання.
**Не** записує до `MEMORY.md`.
| Ключ | Тип | Типово | Опис |
| -------------------- | ---------- | --------------------------- | ---------------------------------- |
| `enabled` | `boolean` | `true` | Увімкнути фазу REM |
| `cron` | `string` | `0 5 * * 0` | Розклад (щотижня, неділя 5:00) |
| `lookbackDays` | `number` | `7` | Кількість днів матеріалу для рефлексії |
| `limit` | `number` | `10` | Максимальна кількість шаблонів або тем для запису |
| `minPatternStrength` | `number` | `0.75` | Мінімальна сила співзустрічальності тегів |
| `sources` | `string[]` | `["memory","daily","deep"]` | Джерела даних для рефлексії |
### Перевизначення виконання
Кожна фаза приймає блок `execution`. Також є глобальний
блок `execution.defaults`, від якого фази успадковують значення.
| Ключ | Тип | Типово | Опис |
| ----------------- | -------- | ------------ | ------------------------------ |
| `speed` | `string` | `"balanced"` | `fast`, `balanced` або `slow` |
| `thinking` | `string` | `"medium"` | `low`, `medium` або `high` |
| `budget` | `string` | `"medium"` | `cheap`, `medium` або `expensive` |
| `model` | `string` | не задано | Перевизначити модель для цієї фази |
| `maxOutputTokens` | `number` | не задано | Обмежити вихідні токени |
| `temperature` | `number` | не задано | Температура семплювання (0-2) |
| `timeoutMs` | `number` | не задано | Тайм-аут фази в мілісекундах |
| Ключ | Тип | Типово | Опис |
| ----------- | --------- | ----------- | --------------------------------------------------- |
| `enabled` | `boolean` | `false` | Повністю увімкнути або вимкнути dreaming |
| `frequency` | `string` | `0 3 * * *` | Необов’язкова cron-частота для повного циклу dreaming |
### Приклад
@ -480,12 +487,7 @@ Dreaming налаштовується в `plugins.entries.memory-core.config.dre
config: {
dreaming: {
enabled: true,
timezone: "America/New_York",
phases: {
light: { cron: "0 */4 * * *", lookbackDays: 3 },
deep: { minScore: 0.85, recencyHalfLifeDays: 21 },
rem: { lookbackDays: 14 },
},
frequency: "0 3 * * *",
},
},
},
@ -493,3 +495,9 @@ Dreaming налаштовується в `plugins.entries.memory-core.config.dre
},
}
```
Примітки:
- Dreaming записує машинний стан у `memory/.dreams/`.
- Dreaming записує зрозумілий людині наративний вивід у `DREAMS.md` (або наявний `dreams.md`).
- Політика й пороги фаз light/deep/REM є внутрішньою поведінкою, а не користувацькою конфігурацією.

View File

@ -2,37 +2,37 @@
read_when:
- Використання або налаштування команд чату
- Налагодження маршрутизації команд або дозволів
summary: 'Команди зі слешем: текстові проти нативних, config і підтримувані команди'
title: Команди зі слешем
summary: 'Слеш-команди: текстові та нативні, конфігурація й підтримувані команди'
title: Слеш-команди
x-i18n:
generated_at: "2026-04-05T18:21:36Z"
generated_at: "2026-04-06T00:34:40Z"
model: gpt-5.4
provider: openai
source_hash: 13c6a4648d48e47469e7b2c16f135b3e58e3c39f859960df882c7af370c083bd
source_hash: 417e35b9ddd87f25f6c019111b55b741046ea11039dde89210948185ced5696d
source_path: tools/slash-commands.md
workflow: 15
---
# Команди зі слешем
# Слеш-команди
Команди обробляються Gateway. Більшість команд потрібно надсилати як **окреме** повідомлення, яке починається з `/`.
Чат-команда bash лише для host використовує `! <cmd>``/bash <cmd>` як псевдонімом).
Команда чату bash лише для хоста використовує `! <cmd>` (із псевдонімом `/bash <cmd>`).
Є дві пов’язані системи:
- **Команди**: окремі повідомлення `/...`.
- **Директиви**: `/think`, `/fast`, `/verbose`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`.
- Директиви вилучаються з повідомлення до того, як його побачить модель.
- У звичайних повідомленнях чату (не лише з директивами) вони трактуються як «вбудовані підказки» і **не** зберігають налаштування сесії.
- У повідомленнях лише з директивами (повідомлення містить лише директиви) вони зберігаються в сесії та відповідають підтвердженням.
- Директиви видаляються з повідомлення до того, як його побачить модель.
- У звичайних повідомленнях чату (не лише з директивами) вони трактуються як «вбудовані підказки» і **не** зберігають налаштування сеансу.
- У повідомленнях лише з директивами (повідомлення містить тільки директиви) вони зберігаються в сеансі й повертають підтвердження.
- Директиви застосовуються лише для **авторизованих відправників**. Якщо задано `commands.allowFrom`, це єдиний
allowlist, який використовується; інакше авторизація надходить із allowlist каналів/pairing разом із `commands.useAccessGroups`.
список дозволу, який використовується; інакше авторизація визначається списками дозволу/спарюванням каналу та `commands.useAccessGroups`.
Для неавторизованих відправників директиви трактуються як звичайний текст.
Також є кілька **вбудованих скорочень** (лише для allowlisted/авторизованих відправників): `/help`, `/commands`, `/status`, `/whoami` (`/id`).
Вони виконуються негайно, вилучаються до того, як повідомлення побачить модель, а решта тексту продовжує проходити звичайним потоком.
Також є кілька **вбудованих скорочень** (лише для відправників зі списку дозволу/авторизованих): `/help`, `/commands`, `/status`, `/whoami` (`/id`).
Вони запускаються негайно, видаляються до того, як модель побачить повідомлення, а решта тексту продовжує оброблятися у звичайному потоці.
## Config
## Конфігурація
```json5
{
@ -57,24 +57,24 @@ x-i18n:
```
- `commands.text` (типово `true`) вмикає розбір `/...` у повідомленнях чату.
- На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо ви встановите `false`.
- На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо встановити `false`.
- `commands.native` (типово `"auto"`) реєструє нативні команди.
- Auto: увімкнено для Discord/Telegram; вимкнено для Slack (доки ви не додасте slash commands); ігнорується для провайдерів без нативної підтримки.
- Використовуйте `channels.discord.commands.native`, `channels.telegram.commands.native` або `channels.slack.commands.native`, щоб перевизначити це для конкретного провайдера (bool або `"auto"`).
- `false` очищає раніше зареєстровані команди в Discord/Telegram під час запуску. Команди Slack керуються в застосунку Slack і не видаляються автоматично.
- `commands.nativeSkills` (типово `"auto"`) реєструє нативно команди **skill**, коли це підтримується.
- Auto: увімкнено для Discord/Telegram; вимкнено для Slack (у Slack потрібно створювати окрему slash command для кожної skill).
- Використовуйте `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` або `channels.slack.commands.nativeSkills`, щоб перевизначити це для конкретного провайдера (bool або `"auto"`).
- `commands.bash` (типово `false`) вмикає `! <cmd>` для запуску shell-команд на host (`/bash <cmd>` — псевдонім; потребує allowlist для `tools.elevated`).
- `commands.bashForegroundMs` (типово `2000`) керує тим, скільки часу bash чекає перед переходом у фоновий режим (`0` одразу переводить у фон).
- Auto: увімкнено для Discord/Telegram; вимкнено для Slack (доки ви не додасте слеш-команди); ігнорується для провайдерів без нативної підтримки.
- Щоб перевизначити для окремого провайдера, задайте `channels.discord.commands.native`, `channels.telegram.commands.native` або `channels.slack.commands.native` (bool або `"auto"`).
- `false` очищає раніше зареєстровані команди в Discord/Telegram під час запуску. Команди Slack керуються в застосунку Slack і автоматично не видаляються.
- `commands.nativeSkills` (типово `"auto"`) нативно реєструє команди **Skills**, якщо це підтримується.
- Auto: увімкнено для Discord/Telegram; вимкнено для Slack (у Slack потрібно створювати окрему слеш-команду для кожного skill).
- Щоб перевизначити для окремого провайдера, задайте `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` або `channels.slack.commands.nativeSkills` (bool або `"auto"`).
- `commands.bash` (типово `false`) вмикає `! <cmd>` для виконання shell-команд хоста (`/bash <cmd>` є псевдонімом; потрібні списки дозволу `tools.elevated`).
- `commands.bashForegroundMs` (типово `2000`) визначає, як довго bash чекає перед переходом у фоновий режим (`0` одразу переводить у фон).
- `commands.config` (типово `false`) вмикає `/config` (читання/запис `openclaw.json`).
- `commands.mcp` (типово `false`) вмикає `/mcp` (читання/запис config MCP під керуванням OpenClaw у `mcp.servers`).
- `commands.plugins` (типово `false`) вмикає `/plugins` (виявлення/стан plugin плюс керування встановленням і вмиканням/вимиканням).
- `commands.debug` (типово `false`) вмикає `/debug` (перевизначення лише для runtime).
- `commands.allowFrom` (необов’язково) задає allowlist для авторизації команд окремо для кожного провайдера. Якщо його налаштовано, це
єдине джерело авторизації для команд і директив (`commands.useAccessGroups`
та allowlist каналів/pairing ігноруються). Використовуйте `"*"` як глобальне значення за замовчуванням; ключі для конкретних провайдерів його перевизначають.
- `commands.useAccessGroups` (типово `true`) застосовує allowlist/політики для команд, коли `commands.allowFrom` не задано.
- `commands.mcp` (типово `false`) вмикає `/mcp` (читання/запис керованої OpenClaw конфігурації MCP у `mcp.servers`).
- `commands.plugins` (типово `false`) вмикає `/plugins` (виявлення/статус plugins, а також встановлення й елементи керування увімкненням/вимкненням).
- `commands.debug` (типово `false`) вмикає `/debug` (перевизначення лише під час виконання).
- `commands.allowFrom` (необов’язково) задає список дозволу для авторизації команд окремо для кожного провайдера. Якщо його налаштовано, це
єдине джерело авторизації для команд і директив (списки дозволу/спарювання каналу та `commands.useAccessGroups`
ігноруються). Використовуйте `"*"` для глобального значення за замовчуванням; ключі окремих провайдерів мають пріоритет.
- `commands.useAccessGroups` (типово `true`) застосовує списки дозволу/політики для команд, коли `commands.allowFrom` не задано.
## Список команд
@ -84,33 +84,33 @@ x-i18n:
- `/commands`
- `/tools [compact|verbose]` (показує, що поточний агент може використовувати прямо зараз; `verbose` додає описи)
- `/skill <name> [input]` (запустити skill за назвою)
- `/status` (показати поточний стан; включає використання/квоту провайдера для поточного провайдера моделі, коли доступно)
- `/tasks` (перелічити фонові завдання для поточної сесії; показує деталі активних і нещодавніх завдань із локальними для агента резервними підрахунками)
- `/allowlist` (переглянути/додати/видалити записи allowlist)
- `/approve <id> <decision>` (обробити запити схвалення exec; використовуйте повідомлення про очікуване схвалення для доступних рішень)
- `/context [list|detail|json]` (пояснює «контекст»; `detail` показує розмір для кожного файла + кожного інструмента + кожної skill + системного запиту)
- `/btw <question>` (поставити тимчасове побічне запитання про поточну сесію без зміни майбутнього контексту сесії; див. [/tools/btw](/tools/btw))
- `/export-session [path]` (псевдонім: `/export`) (експортувати поточну сесію в HTML із повним системним запитом)
- `/status` (показати поточний стан; містить використання/квоту провайдера для поточного провайдера моделі, якщо доступно)
- `/tasks` (показати фонові завдання для поточного сеансу; відображає активні та нещодавні деталі завдань із локальними для агента резервними лічильниками)
- `/allowlist` (перегляд/додавання/видалення записів списку дозволу)
- `/approve <id> <decision>` (розв’язати запити на погодження exec; використовуйте повідомлення з очікуваним погодженням для доступних рішень)
- `/context [list|detail|json]` (пояснює «контекст»; `detail` показує розмір для кожного файла + кожного інструмента + кожного skill + системного prompt)
- `/btw <question>` (поставити тимчасове побічне запитання про поточний сеанс без зміни майбутнього контексту сеансу; див. [/tools/btw](/uk/tools/btw))
- `/export-session [path]` (псевдонім: `/export`) (експортувати поточний сеанс у HTML з повним системним prompt)
- `/whoami` (показати ваш sender id; псевдонім: `/id`)
- `/session idle <duration|off>` (керування автоматичним зняттям фокусу через неактивність для прив’язок сфокусованих потоків)
- `/session max-age <duration|off>` (керування жорстким автоматичним зняттям фокусу за максимальним віком для прив’язок сфокусованих потоків)
- `/subagents list|kill|log|info|send|steer|spawn` (переглянути, керувати або запускати sub-agent для поточної сесії)
- `/acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions` (перегляд і керування runtime-сесіями ACP)
- `/agents` (перелічити агентів, прив’язаних до потоку для цієї сесії)
- `/focus <target>` (Discord: прив’язати цей потік або новий потік до цілі session/subagent)
- `/unfocus` (Discord: прибрати поточну прив’язку потоку)
- `/kill <id|#|all>` (негайно перервати один або всі запущені sub-agent для цієї сесії; без повідомлення-підтвердження)
- `/steer <id|#> <message>` (негайно перенаправити запущений sub-agent: під час виконання, якщо можливо, інакше перервати поточну роботу та перезапустити з повідомленням steer)
- `/session idle <duration|off>` (керування автоматичним зняттям фокуса через неактивність для прив’язок сфокусованих гілок)
- `/session max-age <duration|off>` (керування жорстким автоматичним зняттям фокуса за максимальним віком для прив’язок сфокусованих гілок)
- `/subagents list|kill|log|info|send|steer|spawn` (перегляд, керування або запуск виконань субагентів для поточного сеансу)
- `/acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions` (перегляд і керування сеансами середовища виконання ACP)
- `/agents` (показати агентів, прив’язаних до гілок, для цього сеансу)
- `/focus <target>` (Discord: прив’язати цю гілку або нову гілку до цілі сеансу/субагента)
- `/unfocus` (Discord: прибрати поточну прив’язку гілки)
- `/kill <id|#|all>` (негайно перервати один або всі запущені субагенти для цього сеансу; без повідомлення-підтвердження)
- `/steer <id|#> <message>` (негайно спрямувати запущений субагент: під час виконання, якщо можливо, інакше перервати поточну роботу й перезапустити з повідомленням спрямування)
- `/tell <id|#> <message>` (псевдонім для `/steer`)
- `/config show|get|set|unset` (зберегти config на диск, лише для власника; потребує `commands.config: true`)
- `/mcp show|get|set|unset` (керування config сервера OpenClaw MCP, лише для власника; потребує `commands.mcp: true`)
- `/plugins list|show|get|install|enable|disable` (перегляд виявлених plugin, встановлення нових і перемикання стану ввімкнення; запис лише для власника; потребує `commands.plugins: true`)
- `/plugin` — псевдонім для `/plugins`.
- `/config show|get|set|unset` (зберегти конфігурацію на диск, лише для власника; потребує `commands.config: true`)
- `/mcp show|get|set|unset` (керування конфігурацією MCP-сервера OpenClaw, лише для власника; потребує `commands.mcp: true`)
- `/plugins list|show|get|install|enable|disable` (перегляд виявлених plugins, встановлення нових і перемикання стану ввімкнення; запис лише для власника; потребує `commands.plugins: true`)
- `/plugin` є псевдонімом для `/plugins`.
- `/plugin install <spec>` приймає ті самі специфікації plugin, що й `openclaw plugins install`: локальний шлях/архів, npm-пакет або `clawhub:<pkg>`.
- Записи enable/disable усе ще відповідають підказкою про перезапуск. На gateway переднього плану з watch OpenClaw може виконати цей перезапуск автоматично відразу після запису.
- `/debug show|set|unset|reset` (перевизначення runtime, лише для власника; потребує `commands.debug: true`)
- `/usage off|tokens|full|cost` (нижній колонтитул використання для кожної відповіді або локальний підсумок витрат)
- `/tts off|always|inbound|tagged|status|provider|limit|summary|audio` (керування TTS; див. [/tts](/tools/tts))
- Записи для увімкнення/вимкнення все одно повертають підказку про перезапуск. У gateway переднього плану з наглядом OpenClaw може автоматично виконати цей перезапуск одразу після запису.
- `/debug show|set|unset|reset` (перевизначення під час виконання, лише для власника; потребує `commands.debug: true`)
- `/usage off|tokens|full|cost` (нижній колонтитул використання для кожної відповіді або локальний підсумок вартості)
- `/tts off|always|inbound|tagged|status|provider|limit|summary|audio` (керування TTS; див. [/tts](/uk/tools/tts))
- Discord: нативна команда — `/voice` (Discord резервує `/tts`); текстова `/tts` усе одно працює.
- `/stop`
- `/restart`
@ -120,80 +120,80 @@ x-i18n:
- `/activation mention|always` (лише для груп)
- `/send on|off|inherit` (лише для власника)
- `/reset` або `/new [model]` (необов’язкова підказка моделі; решта передається далі)
- `/think <off|minimal|low|medium|high|xhigh>` (динамічні варіанти за моделлю/провайдером; псевдоніми: `/thinking`, `/t`)
- `/fast status|on|off` (без аргументу показує поточний ефективний стан fast mode)
- `/think <off|minimal|low|medium|high|xhigh>` (динамічні варіанти залежно від моделі/провайдера; псевдоніми: `/thinking`, `/t`)
- `/fast status|on|off` (якщо опустити аргумент, показує поточний ефективний стан швидкого режиму)
- `/verbose on|full|off` (псевдонім: `/v`)
- `/reasoning on|off|stream` (псевдонім: `/reason`; коли ввімкнено, надсилає окреме повідомлення з префіксом `Reasoning:`; `stream` = лише чернетка Telegram)
- `/elevated on|off|ask|full` (псевдонім: `/elev`; `full` пропускає схвалення exec)
- `/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>` (надішліть `/exec`, щоб побачити поточне значення)
- `/elevated on|off|ask|full` (псевдонім: `/elev`; `full` пропускає погодження exec)
- `/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>` (надішліть `/exec`, щоб показати поточне)
- `/model <name>` (псевдонім: `/models`; або `/<alias>` з `agents.defaults.models.*.alias`)
- `/queue <mode>` (плюс параметри на кшталт `debounce:2s cap:25 drop:summarize`; надішліть `/queue`, щоб побачити поточні налаштування)
- `/bash <command>` (лише для host; псевдонім для `! <command>`; потребує `commands.bash: true` + allowlist для `tools.elevated`)
- `/dreaming [on|off|status|help]` або `/dreaming [enable|disable] [light|deep|rem]` (перемкнути фази dreaming або показати стан; див. [Dreaming](/uk/concepts/dreaming))
- `/bash <command>` (лише для хоста; псевдонім для `! <command>`; потребує `commands.bash: true` + списків дозволу `tools.elevated`)
- `/dreaming [on|off|status|help]` (перемкнути глобальний dreaming або показати стан; див. [Dreaming](/uk/concepts/dreaming))
Лише текстові:
- `/compact [instructions]` (див. [/concepts/compaction](/uk/concepts/compaction))
- `! <command>` (лише для host; по одній за раз; використовуйте `!poll` + `!stop` для довготривалих завдань)
- `! <command>` (лише для хоста; по одній за раз; використовуйте `!poll` + `!stop` для довготривалих завдань)
- `!poll` (перевірити вивід / стан; приймає необов’язковий `sessionId`; `/bash poll` також працює)
- `!stop` (зупинити запущене завдання bash; приймає необов’язковий `sessionId`; `/bash stop` також працює)
Примітки:
- Команди приймають необов’язковий `:` між командою й аргументами (наприклад, `/think: high`, `/send: on`, `/help:`).
- `/new <model>` приймає псевдонім моделі, `provider/model` або назву провайдера (нечіткий збіг); якщо збігів немає, текст трактується як тіло повідомлення.
- Для повного розбору використання провайдера використовуйте `openclaw status --usage`.
- Команди приймають необов’язковий `:` між командою та аргументами (наприклад, `/think: high`, `/send: on`, `/help:`).
- `/new <model>` приймає псевдонім моделі, `provider/model` або назву провайдера (нечіткий збіг); якщо збігу немає, текст трактується як тіло повідомлення.
- Для повного розподілу використання провайдера використовуйте `openclaw status --usage`.
- `/allowlist add|remove` потребує `commands.config=true` і враховує канал `configWrites`.
- У каналах з кількома обліковими записами `/allowlist --account <id>`, націлений на config, і `/config set channels.<provider>.accounts.<id>...` також враховують `configWrites` цільового облікового запису.
- `/usage` керує нижнім колонтитулом використання для кожної відповіді; `/usage cost` друкує локальний підсумок витрат із логів сесій OpenClaw.
- `/restart` увімкнено за замовчуванням; установіть `commands.restart: false`, щоб вимкнути його.
- Нативна команда лише для Discord: `/vc join|leave|status` керує голосовими каналами (потребує `channels.discord.voice` і нативних команд; недоступна як текст).
- Команди прив’язки потоків Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) потребують, щоб ефективні прив’язки потоків були ввімкнені (`session.threadBindings.enabled` та/або `channels.discord.threadBindings.enabled`).
- Довідка щодо команд ACP і поведінка runtime: [ACP Agents](/tools/acp-agents).
- У каналах з кількома обліковими записами `/allowlist --account <id>`, націлений на конфігурацію, і `/config set channels.<provider>.accounts.<id>...` також враховують `configWrites` цільового облікового запису.
- `/usage` керує нижнім колонтитулом використання для кожної відповіді; `/usage cost` виводить локальний підсумок вартості з журналів сеансів OpenClaw.
- `/restart` увімкнено типово; задайте `commands.restart: false`, щоб вимкнути його.
- Нативна команда лише для Discord: `/vc join|leave|status` керує голосовими каналами (потребує `channels.discord.voice` і нативних команд; недоступна як текстова).
- Команди прив’язки гілок Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) потребують, щоб ефективні прив’язки гілок були ввімкнені (`session.threadBindings.enabled` та/або `channels.discord.threadBindings.enabled`).
- Довідник команд ACP і поведінка середовища виконання: [ACP Agents](/uk/tools/acp-agents).
- `/verbose` призначено для налагодження та додаткової видимості; у звичайному використанні тримайте його **вимкненим**.
- `/fast on|off` зберігає перевизначення сесії. Використовуйте параметр `inherit` в UI Sessions, щоб очистити його та повернутися до типових значень config.
- `/fast` залежить від провайдера: OpenAI/OpenAI Codex маплять його на `service_tier=priority` у нативних endpoint Responses, тоді як прямі публічні запити Anthropic, включно з трафіком з OAuth-автентифікацією, надісланим до `api.anthropic.com`, маплять його на `service_tier=auto` або `standard_only`. Див. [OpenAI](/uk/providers/openai) і [Anthropic](/uk/providers/anthropic).
- Підсумки збоїв інструментів усе ще показуються, коли це доречно, але детальний текст збоїв включається лише коли `/verbose` має значення `on` або `full`.
- `/reasoning` (і `/verbose`) ризиковані в групових налаштуваннях: вони можуть розкрити внутрішні міркування або вивід інструментів, які ви не хотіли показувати. Краще залишати їх вимкненими, особливо в групових чатах.
- `/model` негайно зберігає нову модель сесії.
- Якщо агент неактивний, наступний запуск одразу її використовує.
- `/fast on|off` зберігає перевизначення для сеансу. Використовуйте опцію `inherit` в інтерфейсі Sessions, щоб очистити його й повернутися до значень конфігурації за замовчуванням.
- `/fast` залежить від провайдера: OpenAI/OpenAI Codex зіставляють його з `service_tier=priority` у нативних ендпоінтах Responses, тоді як прямі публічні запити Anthropic, включно з трафіком з OAuth-аутентифікацією, надісланим до `api.anthropic.com`, зіставляють його з `service_tier=auto` або `standard_only`. Див. [OpenAI](/uk/providers/openai) і [Anthropic](/uk/providers/anthropic).
- Підсумки збоїв інструментів усе ще показуються, коли це доречно, але докладний текст збою включається лише коли `/verbose` має значення `on` або `full`.
- `/reasoning` (і `/verbose`) ризиковані в групових налаштуваннях: вони можуть розкрити внутрішні міркування або вивід інструментів, який ви не планували показувати. Краще залишати їх вимкненими, особливо в групових чатах.
- `/model` негайно зберігає нову модель сеансу.
- Якщо агент простоює, наступний запуск використає її одразу.
- Якщо виконання вже активне, OpenClaw позначає живе перемикання як очікуване й перезапускає на новій моделі лише в чистій точці повторної спроби.
- Якщо активність інструмента або вивід відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої можливості повторної спроби або до наступного ходу користувача.
- **Швидкий шлях:** повідомлення лише з командами від allowlisted відправників обробляються негайно (обхід черги + моделі).
- **Обмеження групових згадок:** повідомлення лише з командами від allowlisted відправників обходять вимоги щодо згадки.
- **Вбудовані скорочення (лише для allowlisted відправників):** деякі команди також працюють, коли вбудовані у звичайне повідомлення, і вилучаються до того, як модель побачить решту тексту.
- Приклад: `hey /status` викликає відповідь зі статусом, а решта тексту продовжує проходити звичайним потоком.
- Якщо активність інструментів або вивід відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої можливості повторної спроби або наступного ходу користувача.
- **Швидкий шлях:** повідомлення лише з командами від відправників зі списку дозволу обробляються негайно (в обхід черги й моделі).
- **Керування згадками в групі:** повідомлення лише з командами від відправників зі списку дозволу обходять вимоги щодо згадок.
- **Вбудовані скорочення (лише для відправників зі списку дозволу):** деякі команди також працюють, коли вбудовані у звичайне повідомлення, і видаляються до того, як модель побачить решту тексту.
- Приклад: `hey /status` запускає відповідь про стан, а решта тексту продовжує оброблятися у звичайному потоці.
- Наразі: `/help`, `/commands`, `/status`, `/whoami` (`/id`).
- Неавторизовані повідомлення лише з командами мовчки ігноруються, а вбудовані токени `/...` трактуються як звичайний текст.
- **Команди skill:** skill із `user-invocable` надаються як slash commands. Назви санітизуються до `a-z0-9_` (максимум 32 символи); колізії отримують числові суфікси (наприклад, `_2`).
- `/skill <name> [input]` запускає skill за назвою (корисно, коли обмеження нативних команд не дозволяють окремі команди для кожної skill).
- За замовчуванням команди skill пересилаються до моделі як звичайний запит.
- Skill можуть необов’язково оголошувати `command-dispatch: tool`, щоб маршрутизувати команду безпосередньо до інструмента (детерміновано, без моделі).
- Неавторизовані повідомлення лише з командами тихо ігноруються, а вбудовані токени `/...` трактуються як звичайний текст.
- **Skill-команди:** skills з `user-invocable` доступні як слеш-команди. Назви санітизуються до `a-z0-9_` (максимум 32 символи); у разі колізій додаються числові суфікси (наприклад, `_2`).
- `/skill <name> [input]` запускає skill за назвою (корисно, коли обмеження нативних команд не дозволяють команди для кожного skill окремо).
- Типово skill-команди пересилаються моделі як звичайний запит.
- Skills можуть необов’язково оголошувати `command-dispatch: tool`, щоб маршрутити команду безпосередньо до інструмента (детерміновано, без моделі).
- Приклад: `/prose` (plugin OpenProse) — див. [OpenProse](/uk/prose).
- **Аргументи нативних команд:** Discord використовує автодоповнення для динамічних параметрів (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти, а ви пропускаєте аргумент.
- **Аргументи нативних команд:** Discord використовує автодоповнення для динамічних параметрів (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти, а ви не вказали аргумент.
## `/tools`
`/tools` відповідає на питання про runtime, а не про config: **що цей агент може використовувати прямо зараз у
`/tools` відповідає на запитання про середовище виконання, а не про конфігурацію: **що цей агент може використовувати прямо зараз у
цій розмові**.
- Типовий `/tools` компактний і оптимізований для швидкого перегляду.
- Типовий `/tools` є компактним і оптимізованим для швидкого перегляду.
- `/tools verbose` додає короткі описи.
- Поверхні нативних команд, що підтримують аргументи, надають той самий перемикач режиму `compact|verbose`.
- Результати прив’язані до сесії, тож зміна агента, каналу, потоку, авторизації відправника або моделі може
- Поверхні з нативними командами, які підтримують аргументи, надають той самий перемикач режиму `compact|verbose`.
- Результати прив’язані до сеансу, тому зміна агента, каналу, гілки, авторизації відправника або моделі може
змінити вивід.
- `/tools` включає інструменти, які реально доступні під час runtime, зокрема core-інструменти, інструменти
підключених plugin і інструменти, що належать каналам.
- `/tools` містить інструменти, які реально доступні під час виконання, включно з основними інструментами, підключеними
інструментами plugin і інструментами, що належать каналу.
Для редагування профілів і перевизначень використовуйте панель Tools у Control UI або поверхні config/catalog, а не
трактуйте `/tools` як статичний каталог.
Для редагування профілю та перевизначень використовуйте панель Tools у Control UI або поверхні конфігурації/каталогу,
а не трактуйте `/tools` як статичний каталог.
## Поверхні використання (що де показується)
- **Використання/квота провайдера** (наприклад: «Claude 80% left») з’являється в `/status` для поточного провайдера моделі, коли відстеження використання ввімкнене. OpenClaw нормалізує вікна провайдерів до `% left`; для MiniMax поля відсотка, що показують лише залишок, інвертуються перед показом, а відповіді `model_remains` віддають перевагу запису chat-model разом із міткою плану, прив’язаною до моделі.
- **Рядки токенів/кешу** в `/status` можуть резервно братися з найновішого запису використання транскрипту, коли поточний знімок сесії містить мало даних. Наявні ненульові поточні значення все ще мають пріоритет, а резервний перехід до транскрипту також може відновити мітку активної моделі runtime плюс більший загальний обсяг, орієнтований на запит, коли збережені підсумки відсутні або менші.
- **Токени/вартість для кожної відповіді** керуються через `/usage off|tokens|full` (додається до звичайних відповідей).
- `/model status` стосується **моделей/автентифікації/endpoint**, а не використання.
- **Використання/квота провайдера** (наприклад, «Claude 80% left») показується в `/status` для поточного провайдера моделі, коли ввімкнено відстеження використання. OpenClaw нормалізує вікна провайдерів до `% left`; для MiniMax відсоткові поля лише залишку інвертуються перед показом, а відповіді `model_remains` віддають перевагу запису chat-model плюс мітці плану, прив’язаній до моделі.
- **Рядки token/cache** у `/status` можуть брати резервні значення з останнього запису використання в транскрипті, коли живий знімок сеансу є неповним. Наявні ненульові живі значення все одно мають пріоритет, а резерв із транскрипту також може відновити мітку активної моделі середовища виконання та більший загальний обсяг, орієнтований на prompt, коли збережені підсумки відсутні або менші.
- **Tokens/cost для кожної відповіді** керуються через `/usage off|tokens|full` (додаються до звичайних відповідей).
- `/model status` стосується **моделей/аутентифікації/ендпоінтів**, а не використання.
## Вибір моделі (`/model`)
@ -213,13 +213,13 @@ x-i18n:
Примітки:
- `/model` і `/model list` показують компактний нумерований вибір (сімейство моделей + доступні провайдери).
- У Discord `/model` і `/models` відкривають інтерактивний вибір із випадними списками провайдера та моделі плюс кроком Submit.
- `/model <#>` вибирає з цього списку (і за можливості віддає перевагу поточному провайдеру).
- `/model status` показує детальний вигляд, включно з налаштованим endpoint провайдера (`baseUrl`) і режимом API (`api`), коли доступно.
- У Discord `/model` і `/models` відкривають інтерактивний вибір із випадними списками провайдера та моделі й кроком Submit.
- `/model <#>` вибирає з цього списку (і, якщо можливо, віддає перевагу поточному провайдеру).
- `/model status` показує докладний вигляд, зокрема налаштований ендпоінт провайдера (`baseUrl`) і режим API (`api`), якщо доступно.
## Перевизначення налагодження
`/debug` дозволяє встановлювати **перевизначення лише для runtime** (пам’ять, а не диск). Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.debug: true`.
`/debug` дає змогу задавати перевизначення конфігурації **лише під час виконання** (у пам’яті, не на диску). Лише для власника. Типово вимкнено; увімкніть через `commands.debug: true`.
Приклади:
@ -233,12 +233,12 @@ x-i18n:
Примітки:
- Перевизначення застосовуються негайно до нових читань config, але **не** записуються в `openclaw.json`.
- Використовуйте `/debug reset`, щоб очистити всі перевизначення й повернутися до config на диску.
- Перевизначення застосовуються негайно до нових читань конфігурації, але **не** записуються в `openclaw.json`.
- Використовуйте `/debug reset`, щоб очистити всі перевизначення й повернутися до конфігурації на диску.
## Оновлення config
## Оновлення конфігурації
`/config` записує у ваш config на диску (`openclaw.json`). Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.config: true`.
`/config` записує у вашу конфігурацію на диску (`openclaw.json`). Лише для власника. Типово вимкнено; увімкніть через `commands.config: true`.
Приклади:
@ -252,12 +252,12 @@ x-i18n:
Примітки:
- Config перевіряється перед записом; недійсні зміни відхиляються.
- Оновлення `/config` зберігаються після перезапуску.
- Перед записом конфігурація проходить валідацію; недійсні зміни відхиляються.
- Оновлення `/config` зберігаються після перезапусків.
## Оновлення MCP
`/mcp` записує визначення серверів MCP під керуванням OpenClaw у `mcp.servers`. Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.mcp: true`.
`/mcp` записує визначення MCP-серверів, керованих OpenClaw, у `mcp.servers`. Лише для власника. Типово вимкнено; увімкніть через `commands.mcp: true`.
Приклади:
@ -270,12 +270,12 @@ x-i18n:
Примітки:
- `/mcp` зберігає config у config OpenClaw, а не в налаштуваннях проєкту під керуванням Pi.
- Адаптери runtime вирішують, які транспорти справді можна виконати.
- `/mcp` зберігає конфігурацію в конфігурації OpenClaw, а не в налаштуваннях проєкту, що належать Pi.
- Адаптери середовища виконання вирішують, які транспорти реально можна виконати.
## Оновлення plugin
## Оновлення plugins
`/plugins` дозволяє операторам переглядати виявлені plugin і перемикати стан ввімкнення в config. Потоки лише для читання можуть використовувати `/plugin` як псевдонім. За замовчуванням вимкнено; увімкніть через `commands.plugins: true`.
`/plugins` дає операторам змогу переглядати виявлені plugins і перемикати стан увімкнення в конфігурації. Для сценаріїв лише читання можна використовувати `/plugin` як псевдонім. Типово вимкнено; увімкніть через `commands.plugins: true`.
Приклади:
@ -289,30 +289,30 @@ x-i18n:
Примітки:
- `/plugins list` і `/plugins show` використовують реальне виявлення plugin на основі поточного workspace плюс config на диску.
- `/plugins enable|disable` оновлює лише config plugin; воно не встановлює й не видаляє plugin.
- Після змін enable/disable перезапустіть gateway, щоб застосувати їх.
- `/plugins list` і `/plugins show` використовують реальне виявлення plugins для поточного workspace і конфігурації на диску.
- `/plugins enable|disable` оновлює лише конфігурацію plugin; команди не встановлюють і не видаляють plugins.
- Після змін увімкнення/вимкнення перезапустіть gateway, щоб застосувати їх.
## Примітки щодо поверхонь
## Примітки про поверхні
- **Текстові команди** виконуються в звичайній сесії чату (DM використовують `main`, групи мають власну сесію).
- **Нативні команди** використовують ізольовані сесії:
- **Текстові команди** виконуються у звичайному сеансі чату (DM ділять `main`, групи мають власний сеанс).
- **Нативні команди** використовують ізольовані сеанси:
- Discord: `agent:<agentId>:discord:slash:<userId>`
- Slack: `agent:<agentId>:slack:slash:<userId>` (префікс налаштовується через `channels.slack.slashCommand.sessionPrefix`)
- Telegram: `telegram:slash:<userId>` (націлюється на сесію чату через `CommandTargetSessionKey`)
- **`/stop`** націлюється на активну сесію чату, щоб можна було перервати поточне виконання.
- **Slack:** `channels.slack.slashCommand` усе ще підтримується для однієї команди у стилі `/openclaw`. Якщо ви ввімкнете `commands.native`, ви маєте створити одну slash command Slack для кожної вбудованої команди (з тими самими назвами, що й `/help`). Меню аргументів команд для Slack доставляються як ефемерні кнопки Block Kit.
- Нативний виняток Slack: зареєструйте `/agentstatus` (а не `/status`), тому що Slack резервує `/status`. Текстова `/status` у повідомленнях Slack усе одно працює.
- Telegram: `telegram:slash:<userId>` (націлюється на сеанс чату через `CommandTargetSessionKey`)
- **`/stop`** націлюється на активний сеанс чату, щоб можна було перервати поточне виконання.
- **Slack:** `channels.slack.slashCommand` усе ще підтримується для однієї команди у стилі `/openclaw`. Якщо ви вмикаєте `commands.native`, потрібно створити одну слеш-команду Slack для кожної вбудованої команди (з тими самими назвами, що й у `/help`). Меню аргументів команд для Slack доставляються як тимчасові кнопки Block Kit.
- Виняток для нативної команди Slack: зареєструйте `/agentstatus` (а не `/status`), тому що Slack резервує `/status`. Текстова `/status` у повідомленнях Slack усе одно працює.
## Побічні запитання BTW
`/btw` — це швидке **побічне запитання** про поточну сесію.
`/btw` — це швидке **побічне запитання** про поточний сеанс.
На відміну від звичайного чату:
- воно використовує поточну сесію як фоновий контекст,
- воно виконується як окремий **одноразовий виклик без інструментів**,
- воно не змінює майбутній контекст сесії,
- воно використовує поточний сеанс як фоновий контекст,
- воно виконується як окремий одноразовий виклик **без інструментів**,
- воно не змінює майбутній контекст сеансу,
- воно не записується в історію транскрипту,
- воно доставляється як живий побічний результат, а не як звичайне повідомлення асистента.
@ -325,4 +325,5 @@ x-i18n:
/btw what are we doing right now?
```
Повну поведінку та подробиці UX клієнта див. у [BTW Side Questions](/tools/btw).
Див. [BTW Side Questions](/uk/tools/btw), щоб ознайомитися з повною поведінкою та
деталями UX клієнта.

View File

@ -2,108 +2,164 @@
read_when:
- Генерація відео через агента
- Налаштування провайдерів і моделей для генерації відео
- Розуміння параметрів інструмента video_generate
summary: Створюйте відео за допомогою налаштованих провайдерів, таких як Alibaba, OpenAI, Google, Qwen, MiniMax і Runway
- Розуміння параметрів інструмента `video_generate`
summary: Генеруйте відео з тексту, зображень або наявних відео за допомогою 10 бекендів провайдерів
title: Генерація відео
x-i18n:
generated_at: "2026-04-06T00:20:03Z"
generated_at: "2026-04-06T00:34:01Z"
model: gpt-5.4
provider: openai
source_hash: 9917245069c39676a7e33afe4800d9c528300e8489a35a28aa6c0356d65b2282
source_hash: 62ed5a9d246f17507c5a6f3db07ecc2f86d1c4cf32f82796c287d298181c7931
source_path: tools/video-generation.md
workflow: 15
---
# Генерація відео
Інструмент `video_generate` дає змогу агенту створювати відео за допомогою ваших налаштованих провайдерів. У сеансах агента OpenClaw запускає генерацію відео як фонове завдання, відстежує її в журналі завдань, а потім знову активує агента, коли кліп буде готовий, щоб агент міг надіслати завершене відео назад в оригінальний канал.
Агенти OpenClaw можуть генерувати відео з текстових запитів, еталонних зображень або наявних відео. Підтримуються десять бекендів провайдерів, кожен із різними варіантами моделей, режимами введення та наборами можливостей. Агент автоматично вибирає правильного провайдера на основі вашої конфігурації та доступних API-ключів.
<Note>
Інструмент з’являється лише тоді, коли доступний принаймні один провайдер генерації відео. Якщо ви не бачите `video_generate` серед інструментів вашого агента, налаштуйте `agents.defaults.videoGenerationModel` або задайте API-ключ провайдера.
</Note>
<Note>
У сеансах агента `video_generate` одразу повертає id завдання/run id. Фактичне завдання провайдера продовжується у фоновому режимі. Коли воно завершується, OpenClaw надсилає в той самий сеанс внутрішню подію завершення, щоб агент міг надіслати звичайне подальше повідомлення разом із вкладенням згенерованого відео.
Інструмент `video_generate` з’являється лише тоді, коли доступний принаймні один провайдер генерації відео. Якщо ви не бачите його серед інструментів агента, задайте API-ключ провайдера або налаштуйте `agents.defaults.videoGenerationModel`.
</Note>
## Швидкий старт
1. Задайте API-ключ принаймні для одного провайдера (наприклад, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `MODELSTUDIO_API_KEY`, `QWEN_API_KEY` або `RUNWAYML_API_SECRET`).
2. За бажанням задайте бажану модель:
1. Задайте API-ключ для будь-якого підтримуваного провайдера:
```bash
export GEMINI_API_KEY="your-key"
```
2. За бажанням закріпіть типову модель:
```bash
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
```
3. Попросіть агента:
> Згенеруй 5-секундне кінематографічне відео з дружнім лобстером, який серфить на заході сонця.
Агент автоматично викликає `video_generate`. Дозволений список інструментів не потрібен.
## Що відбувається під час генерації відео
Генерація відео є асинхронною. Коли агент викликає `video_generate` у межах сеансу:
1. OpenClaw надсилає запит провайдеру й одразу повертає ID завдання.
2. Провайдер обробляє завдання у фоновому режимі (зазвичай від 30 секунд до 5 хвилин залежно від провайдера та роздільної здатності).
3. Коли відео готове, OpenClaw пробуджує той самий сеанс внутрішньою подією завершення.
4. Агент публікує готове відео назад у вихідну розмову.
Поки завдання виконується, повторні виклики `video_generate` у тому самому сеансі повертають поточний стан завдання замість запуску нової генерації. Використовуйте `openclaw tasks list` або `openclaw tasks show <taskId>`, щоб перевірити прогрес із CLI.
Поза межами запусків агента, прив’язаних до сеансу, (наприклад, під час прямих викликів інструмента) інструмент переходить до вбудованої генерації та повертає кінцевий шлях до медіафайлу в тому самому ході.
## Підтримувані провайдери
| Провайдер | Типова модель | Текст | Еталонне зображення | Еталонне відео | API-ключ |
| --------- | ------------------------------ | ----- | ------------------- | ---------------- | -------------------- |
| Alibaba | `wan2.6-t2v` | Так | Так (віддалений URL) | Так (віддалений URL) | `MODELSTUDIO_API_KEY` |
| BytePlus | `seedance-1-0-lite-t2v-250428` | Так | 1 зображення | Ні | `BYTEPLUS_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | Так | 1 зображення | Ні | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | Так | 1 зображення | 1 відео | `GEMINI_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | Так | 1 зображення | Ні | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | Так | 1 зображення | 1 відео | `OPENAI_API_KEY` |
| Qwen | `wan2.6-t2v` | Так | Так (віддалений URL) | Так (віддалений URL) | `QWEN_API_KEY` |
| Runway | `gen4.5` | Так | 1 зображення | 1 відео | `RUNWAYML_API_SECRET` |
| Together | `Wan-AI/Wan2.2-T2V-A14B` | Так | 1 зображення | Ні | `TOGETHER_API_KEY` |
| xAI | `grok-imagine-video` | Так | 1 зображення | 1 відео | `XAI_API_KEY` |
Деякі провайдери приймають додаткові або альтернативні змінні середовища для API-ключів. Докладніше див. на окремих [сторінках провайдерів](#related).
Запустіть `video_generate action=list`, щоб переглянути доступних провайдерів і моделі під час виконання.
## Параметри інструмента
### Обов’язкові
| Параметр | Тип | Опис |
| -------- | ------ | --------------------------------------------------------------------------- |
| `prompt` | string | Текстовий опис відео для генерації (обов’язковий для `action: "generate"`) |
### Вхідні дані контенту
| Параметр | Тип | Опис |
| -------- | -------- | ------------------------------------ |
| `image` | string | Одне еталонне зображення (шлях або URL) |
| `images` | string[] | Кілька еталонних зображень (до 5) |
| `video` | string | Одне еталонне відео (шлях або URL) |
| `videos` | string[] | Кілька еталонних відео (до 4) |
### Керування стилем
| Параметр | Тип | Опис |
| ---------------- | ------- | ------------------------------------------------------------------------ |
| `aspectRatio` | string | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
| `resolution` | string | `480P`, `720P` або `1080P` |
| `durationSeconds` | number | Цільова тривалість у секундах (округлюється до найближчого значення, яке підтримує провайдер) |
| `size` | string | Підказка розміру, якщо провайдер це підтримує |
| `audio` | boolean | Увімкнути згенероване аудіо, якщо підтримується |
| `watermark` | boolean | Увімкнути або вимкнути водяний знак провайдера, якщо підтримується |
### Додатково
| Параметр | Тип | Опис |
| --------- | ------ | ----------------------------------------------- |
| `action` | string | `"generate"` (типово), `"status"` або `"list"` |
| `model` | string | Перевизначення провайдера/моделі (наприклад, `runway/gen4.5`) |
| `filename` | string | Підказка для імені вихідного файла |
Не всі провайдери підтримують усі параметри. Непідтримувані перевизначення ігноруються за принципом best-effort і повідомляються як попередження в результаті інструмента. Жорсткі обмеження можливостей (наприклад, надто багато еталонних входів) призводять до помилки ще до надсилання.
## Дії
- **generate** (типово) — створити відео за вказаним запитом і необов’язковими еталонними входами.
- **status** — перевірити стан поточного відеозавдання для поточного сеансу без запуску нового.
- **list** — показати доступних провайдерів, моделі та їхні можливості.
## Вибір моделі
Під час генерації відео OpenClaw визначає модель у такому порядку:
1. **Параметр інструмента `model`** — якщо агент задає його у виклику.
2. **`videoGenerationModel.primary`** — із конфігурації.
3. **`videoGenerationModel.fallbacks`** — пробуються по черзі.
4. **Автовизначення** — використовує провайдерів із чинною автентифікацією, починаючи з поточного типового провайдера, а потім решту провайдерів в алфавітному порядку.
Якщо один провайдер завершується помилкою, автоматично пробується наступний кандидат. Якщо помиляються всі кандидати, помилка містить подробиці кожної спроби.
```json5
{
agents: {
defaults: {
videoGenerationModel: {
primary: "qwen/wan2.6-t2v",
primary: "google/veo-3.1-fast-generate-preview",
fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"],
},
},
},
}
```
3. Попросіть агента: _"Згенеруй 5-секундне кінематографічне відео дружнього омара, який катається на серфі на заході сонця."_
## Примітки щодо провайдерів
Агент викликає `video_generate` автоматично. Додавати його до списку дозволених інструментів не потрібно — його ввімкнено за замовчуванням, коли провайдер доступний.
| Провайдер | Примітки |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Alibaba | Використовує асинхронну кінцеву точку DashScope/Model Studio. Еталонні зображення та відео мають бути віддаленими URL `http(s)`. |
| BytePlus | Лише одне еталонне зображення. |
| fal | Використовує потік на основі черги для довготривалих завдань. Лише одне еталонне зображення. |
| Google | Використовує Gemini/Veo. Підтримує одне еталонне зображення або одне еталонне відео. |
| MiniMax | Лише одне еталонне зображення. |
| OpenAI | Передається лише перевизначення `size`. Інші перевизначення стилю (`aspectRatio`, `resolution`, `audio`, `watermark`) ігноруються з попередженням. |
| Qwen | Такий самий бекенд DashScope, як і в Alibaba. Еталонні входи мають бути віддаленими URL `http(s)`; локальні файли відхиляються одразу. |
| Runway | Підтримує локальні файли через data URI. Для video-to-video потрібна `runway/gen4_aleph`. Для запусків лише з текстом доступні співвідношення сторін `16:9` і `9:16`. |
| Together | Лише одне еталонне зображення. |
| xAI | Підтримує потоки text-to-video, image-to-video і віддалене редагування/розширення відео. |
Для прямих синхронних контекстів без запуску агента на основі сеансу інструмент однаково повертається до вбудованої генерації та повертає фінальний шлях до медіафайлу в результаті інструмента.
## Конфігурація
## Підтримувані провайдери
| Провайдер | Модель за замовчуванням | Вхідні референси | API-ключ |
| --------- | ------------------------------- | ----------------- | ---------------------------------------------------------- |
| Alibaba | `wan2.6-t2v` | Так, віддалені URL | `MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY`, `QWEN_API_KEY` |
| BytePlus | `seedance-1-0-lite-t2v-250428` | 1 зображення | `BYTEPLUS_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | 1 зображення | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | 1 зображення або 1 відео | `GEMINI_API_KEY`, `GOOGLE_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | 1 зображення | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | 1 зображення або 1 відео | `OPENAI_API_KEY` |
| Qwen | `wan2.6-t2v` | Так, віддалені URL | `QWEN_API_KEY`, `MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY` |
| Runway | `gen4.5` | 1 зображення або 1 відео | `RUNWAYML_API_SECRET`, `RUNWAY_API_KEY` |
| Together | `Wan-AI/Wan2.2-T2V-A14B` | 1 зображення | `TOGETHER_API_KEY` |
| xAI | `grok-imagine-video` | 1 зображення або 1 відео | `XAI_API_KEY` |
Використовуйте `action: "list"`, щоб переглянути доступні провайдери та моделі під час виконання:
```
/tool video_generate action=list
```
## Параметри інструмента
| Параметр | Тип | Опис |
| ---------------- | -------- | ------------------------------------------------------------------------------------------------- |
| `prompt` | string | Запит для генерації відео (обов’язковий для `action: "generate"`) |
| `action` | string | `"generate"` (типово), `"status"` для поточного завдання сеансу або `"list"` для перегляду провайдерів |
| `model` | string | Перевизначення провайдера/моделі, наприклад `qwen/wan2.6-t2v` |
| `image` | string | Шлях або URL одного референсного зображення |
| `images` | string[] | Кілька референсних зображень (до 5) |
| `video` | string | Шлях або URL одного референсного відео |
| `videos` | string[] | Кілька референсних відео (до 4) |
| `size` | string | Підказка щодо розміру, якщо провайдер це підтримує |
| `aspectRatio` | string | Співвідношення сторін: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
| `resolution` | string | Підказка щодо роздільної здатності: `480P`, `720P` або `1080P` |
| `durationSeconds` | number | Цільова тривалість у секундах. OpenClaw може округлити її до найближчого значення, підтримуваного провайдером |
| `audio` | boolean | Увімкнути генерацію аудіо, якщо провайдер це підтримує |
| `watermark` | boolean | Увімкнути або вимкнути водяний знак провайдера, якщо підтримується |
| `filename` | string | Підказка щодо імені вихідного файлу |
Не всі провайдери підтримують усі параметри. Непідтримувані необов’язкові перевизначення ігноруються в міру можливості та повертаються в результаті інструмента як попередження. Жорсткі обмеження можливостей, як-от надто велика кількість референсних вхідних даних, усе ж спричиняють помилку до надсилання. Коли провайдер або модель підтримує лише дискретний набір тривалостей відео, OpenClaw округлює `durationSeconds` до найближчого підтримуваного значення та повідомляє нормалізовану тривалість у результаті інструмента.
## Асинхронна поведінка
- Запуски агента з підтримкою сеансів: `video_generate` створює фонове завдання, одразу повертає відповідь про запуск/завдання та пізніше надсилає готове відео в подальшому повідомленні агента.
- Запобігання дублюванню: поки це фонове завдання все ще має стан `queued` або `running`, подальші виклики `video_generate` у тому самому сеансі повертають стан завдання замість запуску нової генерації.
- Перевірка стану: використовуйте `action: "status"`, щоб переглянути активне відеозавдання, пов’язане з поточним сеансом, без запуску нового.
- Відстеження завдань: використовуйте `openclaw tasks list` / `openclaw tasks show <taskId>`, щоб переглядати статуси queued, running і terminal для генерації.
- Активація після завершення: OpenClaw вставляє внутрішню подію завершення назад у той самий сеанс, щоб модель могла сама написати видиме для користувача подальше повідомлення.
- Підказка для запиту: пізніші користувацькі/ручні ходи в тому самому сеансі отримують невелику підказку під час виконання, коли завдання відео вже виконується, щоб модель не викликала `video_generate` повторно навмання.
- Резервний режим без сеансу: прямі/локальні контексти без реального сеансу агента все одно виконуються вбудовано та повертають фінальний результат відео в тому самому ході.
## Налаштування
### Вибір моделі
Установіть типову модель генерації відео у вашій конфігурації OpenClaw:
```json5
{
@ -118,45 +174,25 @@ x-i18n:
}
```
### Порядок вибору провайдера
Або через CLI:
Під час генерації відео OpenClaw намагається використати провайдерів у такому порядку:
1. Параметр **`model`** з виклику інструмента (якщо агент його вказує)
2. **`videoGenerationModel.primary`** з конфігурації
3. **`videoGenerationModel.fallbacks`** у заданому порядку
4. **Автовизначення** — використовує лише типові значення провайдерів, підкріплені автентифікацією:
- спочатку поточний типовий провайдер
- решта зареєстрованих провайдерів генерації відео в порядку id провайдера
Якщо провайдер завершується помилкою, автоматично пробується наступний кандидат. Якщо завершується помилкою все, помилка містить подробиці про кожну спробу.
## Примітки щодо провайдерів
- Alibaba використовує асинхронний відеоендпойнт DashScope / Model Studio і наразі вимагає віддалених URL `http(s)` для референсних ресурсів.
- Google використовує Gemini/Veo і підтримує одне референсне зображення або відео.
- MiniMax, Together, BytePlus і fal наразі підтримують одне референсне зображення.
- OpenAI використовує нативний відеоендпойнт і наразі типово використовує `sora-2`.
- Qwen підтримує референсні зображення/відео, але вихідний відеоендпойнт DashScope наразі вимагає для них віддалені URL `http(s)`.
- Runway використовує нативний API асинхронних завдань з опитуванням `GET /v1/tasks/{id}` і наразі типово використовує `gen4.5`.
- xAI використовує нативний API відео xAI і підтримує сценарії text-to-video, image-to-video, а також віддалене редагування/подовження відео.
- fal використовує чергу fal для відео завдань із тривалим виконанням замість одного блокувального запиту інференсу.
## Референсні входи Qwen
Вбудований провайдер Qwen підтримує text-to-video, а також режими з референсними зображеннями/відео, але вихідний відеоендпойнт DashScope наразі вимагає **віддалені URL `http(s)`** для референсних вхідних даних. Локальні шляхи до файлів і завантажені буфери відхиляються одразу, а не тихо ігноруються.
```bash
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"
```
## Пов’язані матеріали
- [Огляд інструментів](/uk/tools) — усі доступні інструменти агента
- [Фонові завдання](/uk/automation/tasks) — відстеження завдань для відокремлених запусків `video_generate`
- [Alibaba Model Studio](/uk/providers/alibaba) — пряме налаштування провайдера Wan
- [Google (Gemini)](/uk/providers/google) — налаштування провайдера Veo
- [MiniMax](/uk/providers/minimax) — налаштування провайдера Hailuo
- [OpenAI](/uk/providers/openai) — налаштування провайдера Sora
- [Qwen](/uk/providers/qwen) — налаштування та обмеження, специфічні для Qwen
- [Runway](/uk/providers/runway) — налаштування Runway і поточні примітки щодо моделей/вхідних даних
- [Together AI](/uk/providers/together) — налаштування провайдера Together Wan
- [xAI](/uk/providers/xai) — налаштування провайдера відео Grok
- [Довідник з конфігурації](/uk/gateway/configuration-reference#agent-defaults) — конфігурація `videoGenerationModel`
- [Моделі](/uk/concepts/models) — конфігурація моделей і резервне перемикання
- [Огляд інструментів](/uk/tools)
- [Фонові завдання](/uk/automation/tasks) — відстеження завдань для асинхронної генерації відео
- [Alibaba Model Studio](/uk/providers/alibaba)
- [BytePlus](/providers/byteplus)
- [fal](/uk/providers/fal)
- [Google (Gemini)](/uk/providers/google)
- [MiniMax](/uk/providers/minimax)
- [OpenAI](/uk/providers/openai)
- [Qwen](/uk/providers/qwen)
- [Runway](/uk/providers/runway)
- [Together AI](/uk/providers/together)
- [xAI](/uk/providers/xai)
- [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults)
- [Моделі](/uk/concepts/models)