chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-10 12:47:30 +00:00
parent d030417e94
commit fd06e1e407
2 changed files with 246 additions and 243 deletions

View File

@ -1,41 +1,41 @@
---
read_when:
- Вам потрібен надійний резервний варіант, коли API-провайдери не працюють
- Ви використовуєте Codex CLI або інші локальні AI CLI і хочете повторно використовувати їх
- Ви хочете зрозуміти MCP-місток local loopback для доступу CLI бекенда до інструментів
summary: 'CLI бекенди: локальний резервний AI CLI з необов’язковим MCP-містком для інструментів'
title: CLI бекенди
- Ви хочете надійний резервний варіант, коли постачальники API зазнають збою
- Ви використовуєте Codex CLI або інші локальні CLI для AI і хочете повторно використовувати їх
- Ви хочете зрозуміти міст локального loopback MCP для доступу інструментів до бекенду CLI
summary: 'Бекенди CLI: локальний резервний CLI для AI з необов’язковим мостом інструментів MCP'
title: Бекенди CLI
x-i18n:
generated_at: "2026-04-08T17:18:42Z"
generated_at: "2026-04-10T12:46:33Z"
model: gpt-5.4
provider: openai
source_hash: 9b458f9fe6fa64c47864c8c180f3dedfd35c5647de470a2a4d31c26165663c20
source_hash: e122831eec29a5df302a7a72e57882c566398d29d6a79be924f601ce2f7a2291
source_path: gateway/cli-backends.md
workflow: 15
---
# CLI бекенди (резервне середовище виконання)
# Бекенди CLI (резервне середовище виконання)
OpenClaw може запускати **локальні AI CLI** як **лише текстовий резервний варіант**, коли API-провайдери недоступні,
обмежені за частотою запитів або тимчасово працюють некоректно. Це навмисно консервативний підхід:
OpenClaw може запускати **локальні CLI для AI** як **лише текстовий резервний варіант**, коли постачальники API недоступні,
обмежені за частотою запитів або тимчасово працюють нестабільно. Це навмисно консервативний підхід:
- **Інструменти OpenClaw не інжектуються безпосередньо**, але бекенди з `bundleMcp: true`
можуть отримувати інструменти шлюзу через loopback MCP-місток.
- **Інструменти OpenClaw не впроваджуються напряму**, але бекенди з `bundleMcp: true`
можуть отримувати інструменти шлюзу через міст локального loopback MCP.
- **JSONL-стримінг** для CLI, які це підтримують.
- **Сесії підтримуються** (щоб наступні звернення залишалися узгодженими).
- **Зображення можна передавати далі**, якщо CLI приймає шляхи до зображень.
- **Сесії підтримуються** (тому наступні ходи залишаються узгодженими).
- **Зображення можна передавати наскрізно**, якщо CLI приймає шляхи до зображень.
Це розроблено як **страхувальна сітка**, а не як основний шлях. Використовуйте це, коли
вам потрібні текстові відповіді у стилі «завжди працює» без залежності від зовнішніх API.
Це задумано як **страхувальна сітка**, а не як основний шлях. Використовуйте це, коли ви
хочете отримувати текстові відповіді у стилі «працює завжди» без залежності від зовнішніх API.
Якщо вам потрібне повноцінне середовище виконання harness із керуванням сесіями ACP, фоновими завданнями,
прив’язкою до потоку/розмови та постійними зовнішніми сесіями кодування, натомість використовуйте
[ACP Agents](/uk/tools/acp-agents). CLI бекенди — це не ACP.
Якщо вам потрібне повноцінне середовище з керуванням сесіями ACP, фоновими завданнями,
прив’язкою до потоку/розмови та постійними зовнішніми сесіями кодування, використовуйте
[Агенти ACP](/uk/tools/acp-agents). Бекенди CLI — це не ACP.
## Швидкий старт для початківців
Ви можете використовувати Codex CLI **без жодної конфігурації** (вбудований плагін OpenAI
реєструє стандартний бекенд):
реєструє типовий бекенд):
```bash
openclaw agent --message "hi" --model codex-cli/gpt-5.4
@ -58,16 +58,16 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.4
}
```
І це все. Ні ключів, ні додаткової конфігурації автентифікації, окрім самої CLI, не потрібно.
От і все. Жодних ключів і жодної додаткової конфігурації автентифікації, окрім самої CLI.
Якщо ви використовуєте вбудований CLI бекенд як **основного провайдера повідомлень** на
хості шлюзу, OpenClaw тепер автоматично завантажує відповідний вбудований плагін, коли ваша конфігурація
явно посилається на цей бекенд у посиланні на модель або в
Якщо ви використовуєте вбудований бекенд CLI як **основного постачальника повідомлень** на
хості шлюзу, OpenClaw тепер автоматично завантажує вбудований плагін-власник, коли ваша конфігурація
явно посилається на цей бекенд у посиланні моделі або в
`agents.defaults.cliBackends`.
## Використання як резервного варіанта
## Використання як резервного варіанту
Додайте CLI бекенд до свого списку резервних варіантів, щоб він запускався лише тоді, коли основні моделі не працюють:
Додайте бекенд CLI до свого списку резервних варіантів, щоб він запускався лише тоді, коли основні моделі не працюють:
```json5
{
@ -88,20 +88,20 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.4
Примітки:
- Якщо ви використовуєте `agents.defaults.models` (дозволений список), ви також маєте включити туди моделі CLI бекенда.
- Якщо основний провайдер не працює (автентифікація, ліміти частоти запитів, тайм-аути), OpenClaw
спробує CLI бекенд наступним.
- Якщо ви використовуєте `agents.defaults.models` (дозволений список), ви також повинні включити туди моделі вашого бекенду CLI.
- Якщо основний постачальник зазнає збою (автентифікація, обмеження швидкості, тайм-аути), OpenClaw
спробує далі бекенд CLI.
## Огляд конфігурації
Усі CLI бекенди знаходяться тут:
Усі бекенди CLI знаходяться в:
```
agents.defaults.cliBackends
```
Кожен запис має ключ у вигляді **ідентифікатора провайдера** (наприклад, `codex-cli`, `my-cli`).
Ідентифікатор провайдера стає лівою частиною посилання на модель:
Кожен запис має ключ у вигляді **id постачальника** (наприклад, `codex-cli`, `my-cli`).
ID постачальника стає лівою частиною вашого посилання моделі:
```
<provider>/<model>
@ -131,7 +131,7 @@ agents.defaults.cliBackends
sessionMode: "existing",
sessionIdFields: ["session_id", "conversation_id"],
systemPromptArg: "--system",
// CLI у стилі Codex можуть натомість вказувати файл підказки:
// CLI у стилі Codex можуть замість цього вказувати на файл підказки:
// systemPromptFileConfigArg: "-c",
// systemPromptFileConfigKey: "model_instructions_file",
systemPromptWhen: "first",
@ -147,11 +147,11 @@ agents.defaults.cliBackends
## Як це працює
1. **Вибирає бекенд** на основі префікса провайдера (`codex-cli/...`).
2. **Створює системну підказку** з використанням тієї самої підказки OpenClaw + контексту робочого простору.
3. **Виконує CLI** з ідентифікатором сесії (якщо підтримується), щоб історія залишалася узгодженою.
4. **Аналізує вивід** (JSON або звичайний текст) і повертає фінальний текст.
5. **Зберігає ідентифікатори сесій** для кожного бекенда, щоб наступні звернення повторно використовували ту саму CLI-сесію.
1. **Вибирає бекенд** на основі префікса постачальника (`codex-cli/...`).
2. **Будує системну підказку** з використанням тієї ж підказки OpenClaw і контексту робочого простору.
3. **Запускає CLI** з ідентифікатором сесії (якщо підтримується), щоб історія залишалася узгодженою.
4. **Розбирає вивід** (`JSON` або звичайний текст) і повертає фінальний текст.
5. **Зберігає ідентифікатори сесій** для кожного бекенду, щоб наступні ходи повторно використовували ту саму CLI-сесію.
<Note>
Вбудований бекенд Anthropic `claude-cli` знову підтримується. Співробітники Anthropic
@ -162,9 +162,16 @@ agents.defaults.cliBackends
Вбудований бекенд OpenAI `codex-cli` передає системну підказку OpenClaw через
перевизначення конфігурації Codex `model_instructions_file` (`-c
model_instructions_file="..."`). Codex не надає прапорця на кшталт Claude
`--append-system-prompt`, тому OpenClaw записує зібрану підказку до
тимчасового файла для кожної нової сесії Codex CLI.
model_instructions_file="..."`). Codex не надає прапорець у стилі Claude
`--append-system-prompt`, тому OpenClaw записує зібрану підказку у
тимчасовий файл для кожної нової сесії Codex CLI.
Вбудований бекенд Anthropic `claude-cli` отримує знімок навичок OpenClaw
двома способами: компактний каталог навичок OpenClaw у доданій системній підказці та
тимчасовий плагін Claude Code, переданий через `--plugin-dir`. Плагін містить
лише допустимі навички для цього агента/сесії, тому рідний розпізнавач навичок Claude Code
бачить той самий відфільтрований набір, який OpenClaw інакше рекламував би в
підказці. Перевизначення skill env/API key, як і раніше, застосовуються OpenClaw до середовища дочірнього процесу під час виконання.
## Сесії
@ -172,20 +179,20 @@ model_instructions_file="..."`). Codex не надає прапорця на к
`sessionArgs` (заповнювач `{sessionId}`), коли ідентифікатор потрібно вставити
в кілька прапорців.
- Якщо CLI використовує **підкоманду відновлення** з іншими прапорцями, установіть
`resumeArgs` (замінює `args` під час відновлення) і за потреби `resumeOutput`
(для відновлення не у форматі JSON).
`resumeArgs` (замінює `args` під час відновлення) і, за потреби, `resumeOutput`
(для відновлень не у форматі JSON).
- `sessionMode`:
- `always`: завжди надсилати ідентифікатор сесії (новий UUID, якщо нічого не збережено).
- `existing`: надсилати ідентифікатор сесії, лише якщо він уже був раніше збережений.
- `none`: ніколи не надсилати ідентифікатор сесії.
- `always`: завжди надсилає ідентифікатор сесії (новий UUID, якщо нічого не збережено).
- `existing`: надсилає ідентифікатор сесії лише якщо його вже було раніше збережено.
- `none`: ніколи не надсилає ідентифікатор сесії.
Примітки щодо серіалізації:
- `serialize: true` зберігає впорядкованість запусків в одній лінії.
- Більшість CLI серіалізують у межах однієї лінії провайдера.
- OpenClaw скидає повторне використання збереженої CLI-сесії, коли змінюється стан автентифікації бекенда, зокрема після повторного входу, ротації токена або зміни облікових даних профілю автентифікації.
- `serialize: true` зберігає впорядкованість запусків у тій самій смузі.
- Більшість CLI серіалізують виконання в межах однієї смуги постачальника.
- OpenClaw скидає повторне використання збереженої CLI-сесії, коли змінюється стан автентифікації бекенду, зокрема після повторного входу, ротації токена або зміни облікових даних профілю автентифікації.
## Зображення (передавання далі)
## Зображення (наскрізна передача)
Якщо ваша CLI приймає шляхи до зображень, установіть `imageArg`:
@ -194,19 +201,19 @@ imageArg: "--image",
imageMode: "repeat"
```
OpenClaw записуватиме base64-зображення до тимчасових файлів. Якщо встановлено `imageArg`, ці
шляхи передаватимуться як аргументи CLI. Якщо `imageArg` відсутній, OpenClaw додає
шляхи до файлів у підказку (інжекція шляху), чого достатньо для CLI, які автоматично
OpenClaw записуватиме зображення base64 у тимчасові файли. Якщо задано `imageArg`, ці
шляхи передаються як аргументи CLI. Якщо `imageArg` відсутній, OpenClaw додає
шляхи до файлів у підказку (ін’єкція шляху), чого достатньо для CLI, які автоматично
завантажують локальні файли зі звичайних шляхів.
## Входи / виходи
- `output: "json"` (типово) намагається розібрати JSON і витягти текст + ідентифікатор сесії.
- Для JSON-виводу Gemini CLI OpenClaw читає текст відповіді з `response` і
використання з `stats`, коли `usage` відсутній або порожній.
- `output: "jsonl"` аналізує JSONL-потоки (наприклад, Codex CLI `--json`) і витягує фінальне повідомлення агента та ідентифікатори сесії,
- Для JSON-виводу Gemini CLI OpenClaw зчитує текст відповіді з `response`, а
використання з `stats`, коли `usage` відсутній або порожній.
- `output: "jsonl"` розбирає потоки JSONL (наприклад Codex CLI `--json`) і витягує фінальне повідомлення агента, а також ідентифікатори сесії,
якщо вони присутні.
- `output: "text"` розглядає stdout як фінальну відповідь.
- `output: "text"` трактує stdout як фінальну відповідь.
Режими введення:
@ -242,65 +249,65 @@ OpenClaw записуватиме base64-зображення до тимчас
`gemini` у `PATH` (`brew install gemini-cli` або
`npm install -g @google/gemini-cli`).
Примітки щодо JSON Gemini CLI:
Примітки щодо JSON у Gemini CLI:
- Текст відповіді читається з поля JSON `response`.
- Використання бере резервні дані з `stats`, якщо `usage` відсутній або порожній.
- Текст відповіді зчитується з поля JSON `response`.
- Показники використання беруться з `stats`, якщо `usage` відсутній або порожній.
- `stats.cached` нормалізується в OpenClaw `cacheRead`.
- Якщо `stats.input` відсутній, OpenClaw виводить кількість вхідних токенів із
`stats.input_tokens - stats.cached`.
Перевизначайте лише за потреби (поширений випадок: абсолютний шлях `command`).
Перевизначайте це лише за потреби (типовий випадок: абсолютний шлях `command`).
## Типові значення, що належать плагіну
Типові значення CLI бекенда тепер є частиною поверхні плагіна:
Типові значення бекендів CLI тепер є частиною поверхні плагіна:
- Плагіни реєструють їх через `api.registerCliBackend(...)`.
- `id` бекенда стає префіксом провайдера в посиланнях на моделі.
- Конфігурація користувача в `agents.defaults.cliBackends.<id>` і далі перевизначає типове значення плагіна.
- Очищення конфігурації, специфічне для бекенда, залишається на боці плагіна через необов’язковий
гук `normalizeConfig`.
- `id` бекенду стає префіксом постачальника в посиланнях моделей.
- Конфігурація користувача в `agents.defaults.cliBackends.<id>` як і раніше перевизначає типове значення плагіна.
- Очищення конфігурації, специфічне для бекенду, залишається у власності плагіна через необов’язковий
хук `normalizeConfig`.
## Накладки Bundle MCP
## Накладки bundle MCP
CLI бекенди **не** отримують виклики інструментів OpenClaw безпосередньо, але бекенд може
Бекенди CLI **не** отримують виклики інструментів OpenClaw напряму, але бекенд може
увімкнути згенеровану накладку конфігурації MCP за допомогою `bundleMcp: true`.
Поточна вбудована поведінка:
- `claude-cli`: згенерований суворий файл конфігурації MCP
- `claude-cli`: згенерований строгий файл конфігурації MCP
- `codex-cli`: вбудовані перевизначення конфігурації для `mcp_servers`
- `google-gemini-cli`: згенерований файл системних налаштувань Gemini
Коли bundle MCP увімкнено, OpenClaw:
- запускає loopback HTTP MCP-сервер, який надає інструменти шлюзу процесу CLI
- автентифікує місток за допомогою токена на сесію (`OPENCLAW_MCP_TOKEN`)
- автентифікує міст за допомогою токена для кожної сесії (`OPENCLAW_MCP_TOKEN`)
- обмежує доступ до інструментів поточною сесією, обліковим записом і контекстом каналу
- завантажує увімкнені сервери bundle-MCP для поточного робочого простору
- об’єднує їх із будь-якою наявною формою конфігурації/налаштувань MCP бекенда
- переписує конфігурацію запуску, використовуючи режим інтеграції, що належить бекенду з відповідного розширення
- завантажує увімкнені bundle-MCP сервери для поточного робочого простору
- об’єднує їх з будь-якою наявною формою конфігурації/налаштувань MCP бекенду
- переписує конфігурацію запуску з використанням режиму інтеграції, що належить бекенду з розширення-власника
Якщо жоден MCP-сервер не ввімкнено, OpenClaw однаково інжектує сувору конфігурацію, коли
Якщо сервери MCP не увімкнено, OpenClaw все одно впроваджує строгу конфігурацію, коли
бекенд використовує bundle MCP, щоб фонові запуски залишалися ізольованими.
## Обмеження
- **Немає прямих викликів інструментів OpenClaw.** OpenClaw не інжектує виклики інструментів у
протокол CLI бекенда. Бекенди бачать інструменти шлюзу лише тоді, коли вони використовують
- **Немає прямих викликів інструментів OpenClaw.** OpenClaw не впроваджує виклики інструментів у
протокол бекенду CLI. Бекенди бачать інструменти шлюзу лише тоді, коли вони вмикають
`bundleMcp: true`.
- **Стримінг залежить від бекенда.** Деякі бекенди транслюють JSONL; інші буферизують
- **Стримінг залежить від конкретного бекенду.** Деякі бекенди передають JSONL потоком; інші буферизують
до завершення.
- **Структуровані виходи** залежать від JSON-формату CLI.
- **Сесії Codex CLI** відновлюються через текстовий вивід (без JSONL), що менш
структуровано, ніж початковий запуск `--json`. Сесії OpenClaw усе одно працюють
- **Сесії Codex CLI** відновлюються через текстовий вивід (без JSONL), що є менш
структурованим, ніж початковий запуск `--json`. Сесії OpenClaw при цьому все одно працюють
нормально.
## Усунення проблем
## Усунення несправностей
- **CLI не знайдено**: установіть для `command` повний шлях.
- **Неправильна назва моделі**: використовуйте `modelAliases`, щоб зіставити `provider/model` → модель CLI.
- **Немає безперервності сесії**: переконайтеся, що встановлено `sessionArg` і що `sessionMode` не дорівнює
`none` (Codex CLI наразі не може відновлюватися з JSON-виводом).
- **Зображення ігноруються**: установіть `imageArg` (і переконайтеся, що CLI підтримує шляхи до файлів).
- **Зображення ігноруються**: установіть `imageArg` (і перевірте, що CLI підтримує шляхи до файлів).

View File

@ -1,64 +1,57 @@
---
read_when:
- Додавання або зміна Skills
- Зміна gating Skills або правил завантаження
summary: 'Skills: керовані чи workspace, правила gating та підключення config/env'
- Додавання або змінення Skills
- Змінення правил гейтінгу або завантаження Skills
summary: 'Skills: керовані чи робочого простору, правила гейтінгу та налаштування config/env'
title: Skills
x-i18n:
generated_at: "2026-04-05T18:21:28Z"
generated_at: "2026-04-10T12:46:26Z"
model: gpt-5.4
provider: openai
source_hash: 6bb0e2e7c2ff50cf19c759ea1da1fd1886dc11f94adc77cbfd816009f75d93ee
source_hash: b1eaf130966950b6eb24f859d9a77ecbf81c6cb80deaaa6a3a79d2c16d83115d
source_path: tools/skills.md
workflow: 15
---
# Skills (OpenClaw)
OpenClaw використовує папки Skills, **сумісні з [AgentSkills](https://agentskills.io)**, щоб навчати агента користуватися інструментами. Кожна Skill — це каталог, що містить `SKILL.md` із YAML frontmatter та інструкціями. OpenClaw завантажує **вбудовані Skills** плюс необов’язкові локальні перевизначення та фільтрує їх під час завантаження на основі середовища, config і наявності бінарних файлів.
OpenClaw використовує папки skill, **сумісні з [AgentSkills](https://agentskills.io)**, щоб навчати агента користуватися інструментами. Кожен skill — це каталог, що містить `SKILL.md` із YAML frontmatter та інструкціями. OpenClaw завантажує **вбудовані skills** разом з необов’язковими локальними перевизначеннями та фільтрує їх під час завантаження на основі середовища, конфігурації та наявності бінарних файлів.
## Розташування та пріоритет
OpenClaw завантажує Skills з таких джерел:
OpenClaw завантажує skills із таких джерел:
1. **Додаткові папки Skills**: налаштовуються через `skills.load.extraDirs`
2. **Вбудовані Skills**: постачаються разом із встановленням (npm package або OpenClaw.app)
3. **Керовані/локальні Skills**: `~/.openclaw/skills`
4. **Персональні Skills агента**: `~/.agents/skills`
5. **Skills агента проєкту**: `<workspace>/.agents/skills`
6. **Skills workspace**: `<workspace>/skills`
1. **Додаткові папки skills**: налаштовуються через `skills.load.extraDirs`
2. **Вбудовані skills**: постачаються разом з інсталяцією (npm package або OpenClaw.app)
3. **Керовані/локальні skills**: `~/.openclaw/skills`
4. **Особисті agent skills**: `~/.agents/skills`
5. **Project agent skills**: `<workspace>/.agents/skills`
6. **Skills робочого простору**: `<workspace>/skills`
Якщо назви Skills конфліктують, пріоритет такий:
Якщо назва skill конфліктує, пріоритет такий:
`<workspace>/skills` (найвищий) → `<workspace>/.agents/skills``~/.agents/skills``~/.openclaw/skills` → вбудовані Skills → `skills.load.extraDirs` (найнижчий)
`<workspace>/skills` (найвищий) → `<workspace>/.agents/skills``~/.agents/skills``~/.openclaw/skills` → вбудовані skills → `skills.load.extraDirs` (найнижчий)
## Skills для окремого агента чи спільні Skills
## Skills для окремого агента та спільні skills
У конфігураціях **з кількома агентами** кожен агент має власний workspace. Це означає:
У конфігураціях **multi-agent** кожен агент має власний робочий простір. Це означає:
- **Skills для окремого агента** знаходяться в `<workspace>/skills` лише для цього агента.
- **Skills агента проєкту** знаходяться в `<workspace>/.agents/skills` і застосовуються до
цього workspace перед звичайною папкою `skills/` workspace.
- **Персональні Skills агента** знаходяться в `~/.agents/skills` і застосовуються в усіх
workspace на цій машині.
- **Спільні Skills** знаходяться в `~/.openclaw/skills` (керовані/локальні) і видимі
**усім агентам** на цій самій машині.
- **Спільні папки** також можна додати через `skills.load.extraDirs` (найнижчий
пріоритет), якщо ви хочете мати спільний пакет Skills для кількох агентів.
- **Skills для окремого агента** розміщуються в `<workspace>/skills` лише для цього агента.
- **Project agent skills** розміщуються в `<workspace>/.agents/skills` і застосовуються до цього робочого простору перед звичайною папкою `skills/` робочого простору.
- **Особисті agent skills** розміщуються в `~/.agents/skills` і застосовуються в усіх робочих просторах на цій машині.
- **Спільні skills** розміщуються в `~/.openclaw/skills` (керовані/локальні) і видимі **всім агентам** на цій самій машині.
- **Спільні папки** також можна додати через `skills.load.extraDirs` (найнижчий пріоритет), якщо ви хочете мати спільний набір skills, який використовується кількома агентами.
Якщо одна й та сама назва Skill існує в кількох місцях, застосовується звичайний
пріоритет: workspace перемагає, далі Skills агента проєкту, потім персональні Skills агента,
потім керовані/локальні, потім вбудовані, потім extra dirs.
Якщо одна й та сама назва skill існує в кількох місцях, діє звичайний пріоритет: перемагає workspace, потім project agent skills, потім personal agent skills, потім managed/local, потім bundled, потім extra dirs.
## Allowlist Skills для агента
## Allowlist skills для агентів
**Розташування** Skill і **видимість** Skill — це окремі механізми керування.
**Розташування** skill і **видимість** skill — це окремі механізми керування.
- Розташування/пріоритет визначає, яка копія Skill з однаковою назвою перемагає.
- Allowlist агента визначає, які видимі Skills агент реально може використовувати.
- Розташування/пріоритет визначає, яка копія skill з однаковою назвою перемагає.
- Allowlist агента визначає, які видимі skills агент фактично може використовувати.
Використовуйте `agents.defaults.skills` для спільної базової конфігурації, а потім перевизначайте для окремого агента через
`agents.list[].skills`:
Використовуйте `agents.defaults.skills` для спільної базової конфігурації, а потім перевизначайте для окремих агентів через `agents.list[].skills`:
```json5
{
@ -68,8 +61,8 @@ OpenClaw завантажує Skills з таких джерел:
},
list: [
{ id: "writer" }, // успадковує github, weather
{ id: "docs", skills: ["docs-search"] }, // замінює типові значення
{ id: "locked-down", skills: [] }, // без Skills
{ id: "docs", skills: ["docs-search"] }, // замінює defaults
{ id: "locked-down", skills: [] }, // без skills
],
},
}
@ -77,95 +70,92 @@ OpenClaw завантажує Skills з таких джерел:
Правила:
- Не задавайте `agents.defaults.skills`, щоб типово не обмежувати Skills.
- Не задавайте `agents.list[].skills`, щоб успадкувати `agents.defaults.skills`.
- Установіть `agents.list[].skills: []`, щоб не було жодних Skills.
- Непорожній список `agents.list[].skills` — це остаточний набір для цього агента; він
не об’єднується з типовими значеннями.
- Пропустіть `agents.defaults.skills`, якщо за замовчуванням skills не мають бути обмежені.
- Пропустіть `agents.list[].skills`, щоб успадкувати `agents.defaults.skills`.
- Установіть `agents.list[].skills: []`, щоб не дозволити жодних skills.
- Непорожній список `agents.list[].skills` є остаточним набором для цього агента; він не об’єднується з defaults.
OpenClaw застосовує ефективний набір Skills агента під час побудови prompt, виявлення
slash-команд Skills, синхронізації sandbox і знімків Skills.
OpenClaw застосовує ефективний набір skills агента до побудови prompt, виявлення slash-command skill, синхронізації sandbox і snapshot skill.
## Plugins + Skills
## Plugins + skills
Plugins можуть постачати власні Skills, перелічуючи каталоги `skills` у
Plugins можуть постачати власні skills, вказуючи каталоги `skills` у
`openclaw.plugin.json` (шляхи відносно кореня plugin). Skills plugin завантажуються,
коли plugin увімкнено. Сьогодні ці каталоги об’єднуються в той самий
шлях із низьким пріоритетом, що й `skills.load.extraDirs`, тож Skill з такою самою назвою з bundled,
managed, agent або workspace перевизначає їх.
Ви можете керувати ними через `metadata.openclaw.requires.config` на записі config
plugin. Див. [Plugins](/tools/plugin) для виявлення/config і [Tools](/tools) для
поверхні інструментів, якої навчають ці Skills.
коли plugin увімкнено. Зараз ці каталоги об’єднуються в той самий шлях із
низьким пріоритетом, що й `skills.load.extraDirs`, тому однойменний bundled,
managed, agent або workspace skill перевизначає їх.
Ви можете обмежувати їх через `metadata.openclaw.requires.config` у записі
конфігурації plugin. Див. [Plugins](/uk/tools/plugin) для виявлення/конфігурації та [Tools](/uk/tools) для
поверхні інструментів, які пояснюють ці skills.
## ClawHub (встановлення + синхронізація)
## ClawHub (інсталяція + синхронізація)
ClawHub — це публічний реєстр Skills для OpenClaw. Перегляд:
[https://clawhub.ai](https://clawhub.ai). Використовуйте нативні команди `openclaw skills`
для пошуку/встановлення/оновлення Skills або окремий CLI `clawhub`, коли
потрібні процеси publish/sync.
Повний посібник: [ClawHub](/tools/clawhub).
ClawHub — це публічний реєстр skills для OpenClaw. Переглянути його можна на
[https://clawhub.ai](https://clawhub.ai). Використовуйте рідні команди `openclaw skills`
для пошуку/інсталяції/оновлення skills або окремий CLI `clawhub`, якщо вам
потрібні робочі процеси публікації/синхронізації.
Повний посібник: [ClawHub](/uk/tools/clawhub).
Типові сценарії:
Поширені сценарії:
- Встановити Skill у свій workspace:
- Інсталювати skill у ваш робочий простір:
- `openclaw skills install <skill-slug>`
- Оновити всі встановлені Skills:
- Оновити всі інстальовані skills:
- `openclaw skills update --all`
- Синхронізувати (сканування + publish оновлень):
- Синхронізувати (сканування + публікація оновлень):
- `clawhub sync --all`
Нативна команда `openclaw skills install` встановлює в каталог `skills/` активного workspace.
Окремий CLI `clawhub` також встановлює в `./skills` у вашому
поточному робочому каталозі (або використовує налаштований workspace OpenClaw як запасний варіант).
OpenClaw підхопить це як `<workspace>/skills` у наступній сесії.
Рідна команда `openclaw skills install` інсталює у каталог `skills/` активного робочого простору. Окремий CLI `clawhub` також інсталює у `./skills` у вашому
поточному робочому каталозі (або використовує налаштований робочий простір OpenClaw як резервний варіант).
Під час наступної сесії OpenClaw розпізнає це як `<workspace>/skills`.
## Примітки щодо безпеки
- Ставтеся до сторонніх Skills як до **ненадійного коду**. Читайте їх перед увімкненням.
- Ставтеся до сторонніх skills як до **ненадійного коду**. Читайте їх перед увімкненням.
- Для ненадійних вхідних даних і ризикованих інструментів надавайте перевагу запуску в sandbox. Див. [Sandboxing](/uk/gateway/sandboxing).
- Виявлення Skills у workspace та extra-dir приймає лише корені Skills і файли `SKILL.md`, чий резольвлений realpath залишається в межах налаштованого кореня.
- Встановлення залежностей Skills через Gateway (`skills.install`, onboarding і UI налаштувань Skills) запускають вбудований сканер небезпечного коду перед виконанням метаданих інсталятора. Знахідки рівня `critical` блокуються типово, якщо викликач явно не задав dangerous override; підозрілі знахідки все ще лише попереджають.
- `openclaw skills install <slug>` — це інше: команда завантажує папку Skill із ClawHub у workspace й не використовує описаний вище шлях метаданих інсталятора.
- `skills.entries.*.env` і `skills.entries.*.apiKey` ін’єктують секрети в **host** process
для цього ходу агента (а не в sandbox). Тримайте секрети поза prompt і журналами.
- Виявлення skills у workspace та extra-dir приймає лише корені skill і файли `SKILL.md`, чий визначений `realpath` залишається всередині налаштованого кореня.
- Інсталяції залежностей skills через gateway (`skills.install`, onboarding і UI налаштувань Skills) запускають вбудований сканер небезпечного коду перед виконанням метаданих інсталятора. Знахідки `critical` блокуються за замовчуванням, якщо викликач явно не встановить dangerous override; підозрілі знахідки, як і раніше, лише попереджають.
- `openclaw skills install <slug>` — це інше: команда завантажує папку skill з ClawHub у робочий простір і не використовує шлях метаданих інсталятора, описаний вище.
- `skills.entries.*.env` і `skills.entries.*.apiKey` ін’єктують секрети в процес **host**
для цього ходу агента (не в sandbox). Не допускайте потрапляння секретів у prompts і логи.
- Для ширшої моделі загроз і контрольних списків див. [Security](/uk/gateway/security).
## Формат (AgentSkills + сумісний із Pi)
## Формат (сумісний з AgentSkills + Pi)
`SKILL.md` має містити щонайменше:
```markdown
---
name: image-lab
description: Генерація або редагування зображень через workflow зображень на основі провайдера
description: Generate or edit images via a provider-backed image workflow
---
```
Примітки:
- Ми дотримуємося специфікації AgentSkills щодо структури/призначення.
- Ми дотримуємося специфікації AgentSkills щодо структури та призначення.
- Парсер, який використовує вбудований агент, підтримує лише **однорядкові** ключі frontmatter.
- `metadata` має бути **однорядковим JSON-об’єктом**.
- Використовуйте `{baseDir}` в інструкціях, щоб посилатися на шлях до папки Skill.
- `metadata` має бути **однорядковим JSON object**.
- Використовуйте `{baseDir}` в інструкціях, щоб посилатися на шлях до папки skill.
- Необов’язкові ключі frontmatter:
- `homepage` — URL, який показується як “Website” у UI Skills для macOS (також підтримується через `metadata.openclaw.homepage`).
- `user-invocable``true|false` (типово: `true`). Якщо `true`, Skill доступна як slash-команда користувача.
- `disable-model-invocation``true|false` (типово: `false`). Якщо `true`, Skill виключається з prompt моделі (але все ще доступна через виклик користувачем).
- `command-dispatch``tool` (необов’язково). Якщо встановлено `tool`, slash-команда оминає модель і напряму диспетчеризується до інструмента.
- `command-tool` — назва інструмента для виклику, коли встановлено `command-dispatch: tool`.
- `command-arg-mode``raw` (типово). Для dispatch до інструмента передає сирий рядок args до інструмента (без парсингу core).
- `homepage` — URL, що відображається як “Website” в macOS Skills UI (також підтримується через `metadata.openclaw.homepage`).
- `user-invocable``true|false` (типове значення: `true`). Якщо `true`, skill доступний як slash command користувача.
- `disable-model-invocation``true|false` (типове значення: `false`). Якщо `true`, skill виключається з model prompt (але все ще доступний через виклик користувачем).
- `command-dispatch``tool` (необов’язково). Якщо встановлено `tool`, slash command оминає model і напряму передається інструменту.
- `command-tool` — назва інструменту, який потрібно викликати, якщо встановлено `command-dispatch: tool`.
- `command-arg-mode``raw` (типове значення). Для dispatch інструмента передає рядок сирих аргументів інструменту (без розбору на рівні core).
Інструмент викликається з параметрами:
`{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
## Gating (фільтри під час завантаження)
## Гейтінг (фільтри під час завантаження)
OpenClaw **фільтрує Skills під час завантаження** за допомогою `metadata` (однорядковий JSON):
OpenClaw **фільтрує skills під час завантаження** за допомогою `metadata` (однорядковий JSON):
```markdown
---
name: image-lab
description: Генерація або редагування зображень через workflow зображень на основі провайдера
description: Generate or edit images via a provider-backed image workflow
metadata:
{
"openclaw":
@ -179,25 +169,25 @@ metadata:
Поля в `metadata.openclaw`:
- `always: true` — завжди включати Skill (пропустити інші бар’єри).
- `emoji` — необов’язковий emoji, який використовується в UI Skills для macOS.
- `homepage` — необов’язковий URL, який показується як “Website” у UI Skills для macOS.
- `os` — необов’язковий список платформ (`darwin`, `linux`, `win32`). Якщо задано, Skill доступна лише на цих ОС.
- `requires.bins` — список; кожен бінарний файл має існувати в `PATH`.
- `requires.anyBins` — список; у `PATH` має існувати хоча б один.
- `requires.env` — список; env-змінна має існувати **або** бути надана в config.
- `requires.config` — список шляхів `openclaw.json`, які мають мати truthy-значення.
- `primaryEnv` — назва env-змінної, пов’язаної з `skills.entries.<name>.apiKey`.
- `install` — необов’язковий масив специфікацій інсталятора, який використовується в UI Skills для macOS (brew/node/go/uv/download).
- `always: true` — завжди включати skill (пропустити інші умови).
- `emoji` — необов’язковий emoji, який використовується в macOS Skills UI.
- `homepage` — необов’язковий URL, що відображається як “Website” в macOS Skills UI.
- `os` — необов’язковий список платформ (`darwin`, `linux`, `win32`). Якщо встановлено, skill доступний лише на цих ОС.
- `requires.bins` — список; кожен має існувати в `PATH`.
- `requires.anyBins` — список; принаймні один має існувати в `PATH`.
- `requires.env` — список; змінна середовища має існувати **або** бути надана в config.
- `requires.config` — список шляхів `openclaw.json`, які мають бути truthy.
- `primaryEnv` — назва змінної середовища, пов’язаної з `skills.entries.<name>.apiKey`.
- `install` — необов’язковий масив специфікацій інсталятора, який використовує macOS Skills UI (brew/node/go/uv/download).
Примітка про sandboxing:
Примітка щодо sandboxing:
- `requires.bins` перевіряється на **хості** під час завантаження Skill.
- `requires.bins` перевіряється на **host** під час завантаження skill.
- Якщо агент працює в sandbox, бінарний файл також має існувати **всередині контейнера**.
Установіть його через `agents.defaults.sandbox.docker.setupCommand` (або власний образ).
Інсталюйте його через `agents.defaults.sandbox.docker.setupCommand` (або через власний образ).
`setupCommand` запускається один раз після створення контейнера.
Встановлення пакетів також потребує мережевого egress, записуваної root FS і користувача root у sandbox.
Приклад: Skill `summarize` (`skills/summarize/SKILL.md`) потребує CLI `summarize`
Для інсталяції пакетів також потрібні вихід у мережу, записувана root FS і користувач root у sandbox.
Приклад: skill `summarize` (`skills/summarize/SKILL.md`) потребує `summarize` CLI
у контейнері sandbox, щоб працювати там.
Приклад інсталятора:
@ -205,7 +195,7 @@ metadata:
```markdown
---
name: gemini
description: Використовуйте Gemini CLI для допомоги з кодуванням і пошуку в Google.
description: Use Gemini CLI for coding assistance and Google search lookups.
metadata:
{
"openclaw":
@ -219,7 +209,7 @@ metadata:
"kind": "brew",
"formula": "gemini-cli",
"bins": ["gemini"],
"label": "Установити Gemini CLI (brew)",
"label": "Install Gemini CLI (brew)",
},
],
},
@ -229,27 +219,27 @@ metadata:
Примітки:
- Якщо перелічено кілька інсталяторів, gateway вибирає **один** бажаний варіант (brew, якщо доступний, інакше node).
- Якщо всі інсталятори мають тип `download`, OpenClaw перелічує кожен запис, щоб ви могли бачити доступні артефакти.
- Якщо вказано кілька інсталяторів, gateway вибирає **один** бажаний варіант (brew, якщо доступний, інакше node).
- Якщо всі інсталятори мають тип `download`, OpenClaw показує кожен запис, щоб ви могли бачити доступні артефакти.
- Специфікації інсталятора можуть містити `os: ["darwin"|"linux"|"win32"]`, щоб фільтрувати варіанти за платформою.
- Встановлення через Node враховують `skills.install.nodeManager` в `openclaw.json` (типово: npm; варіанти: npm/pnpm/yarn/bun).
Це впливає лише на **встановлення Skills**; runtime Gateway усе одно має бути на Node
- Node-інсталяції враховують `skills.install.nodeManager` у `openclaw.json` (типово: npm; варіанти: npm/pnpm/yarn/bun).
Це впливає лише на **інсталяції skills**; середовище виконання Gateway, як і раніше, має бути Node
(Bun не рекомендується для WhatsApp/Telegram).
- Вибір інсталятора через Gateway ґрунтується на пріоритетах, а не лише на node:
коли специфікації встановлення змішують різні типи, OpenClaw надає перевагу Homebrew, якщо
увімкнено `skills.install.preferBrew` і доступний `brew`, потім `uv`, потім
налаштованому node manager, а потім іншим запасним варіантам, як-от `go` або `download`.
- Якщо кожна специфікація встановлення має тип `download`, OpenClaw показує всі варіанти завантаження
замість згортання до одного бажаного інсталятора.
- Встановлення Go: якщо `go` відсутній і доступний `brew`, gateway спочатку встановлює Go через Homebrew і задає `GOBIN` у `bin` Homebrew, коли це можливо.
- Встановлення через download: `url` (обов’язково), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (типово: auto, коли виявлено archive), `stripComponents`, `targetDir` (типово: `~/.openclaw/tools/<skillKey>`).
- Вибір інсталятора через gateway залежить від пріоритетів, а не лише від node:
коли специфікації інсталяції змішують різні типи, OpenClaw надає перевагу Homebrew, якщо
увімкнено `skills.install.preferBrew` і існує `brew`, потім `uv`, потім
налаштований node manager, а далі інші резервні варіанти, як-от `go` або `download`.
- Якщо кожна специфікація інсталяції має тип `download`, OpenClaw показує всі варіанти завантаження
замість зведення до одного бажаного інсталятора.
- Go-інсталяції: якщо `go` відсутній, а `brew` доступний, gateway спочатку інсталює Go через Homebrew і за можливості встановлює `GOBIN` у `bin` Homebrew.
- Download-інсталяції: `url` (обов’язково), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (типово: автоматично, якщо виявлено archive), `stripComponents`, `targetDir` (типово: `~/.openclaw/tools/<skillKey>`).
Якщо `metadata.openclaw` відсутнє, Skill завжди доступна (якщо її не
вимкнено в config і якщо вона не заблокована через `skills.allowBundled` для bundled Skills).
Якщо `metadata.openclaw` відсутній, skill завжди вважається допустимим (якщо
його не вимкнено в config і якщо його не блокує `skills.allowBundled` для вбудованих skills).
## Перевизначення config (`~/.openclaw/openclaw.json`)
Вбудовані/керовані Skills можна вмикати/вимикати та надавати їм env-значення:
Вбудовані/керовані skills можна вмикати або вимикати та передавати їм значення env:
```json5
{
@ -273,62 +263,68 @@ metadata:
}
```
Примітка: якщо назва Skill містить дефіси, беріть ключ у лапки (JSON5 дозволяє ключі в лапках).
Примітка: якщо назва skill містить дефіси, візьміть ключ у лапки (JSON5 дозволяє ключі в лапках).
Якщо вам потрібна стандартна генерація/редагування зображень усередині самого OpenClaw, використовуйте core-інструмент
`image_generate` з `agents.defaults.imageGenerationModel` замість
bundled Skill. Приклади Skills тут призначені для власних або сторонніх workflows.
Якщо вам потрібна стандартна генерація/редагування зображень безпосередньо в OpenClaw, використовуйте core-інструмент
`image_generate` разом з `agents.defaults.imageGenerationModel`, а не
вбудований skill. Наведені тут приклади skill призначені для користувацьких або сторонніх робочих процесів.
Для нативного аналізу зображень використовуйте інструмент `image` з `agents.defaults.imageModel`.
Для нативної генерації/редагування зображень використовуйте `image_generate` з
Для нативного аналізу зображень використовуйте інструмент `image` разом з `agents.defaults.imageModel`.
Для нативної генерації/редагування зображень використовуйте `image_generate` разом з
`agents.defaults.imageGenerationModel`. Якщо ви вибираєте `openai/*`, `google/*`,
`fal/*` або іншу provider-специфічну модель зображень, також додайте auth/API
`fal/*` або іншу модель зображень, прив’язану до конкретного провайдера, також додайте auth/API
key цього провайдера.
Ключі config типово відповідають **назві Skill**. Якщо Skill визначає
Ключі config за замовчуванням відповідають **назві skill**. Якщо skill визначає
`metadata.openclaw.skillKey`, використовуйте цей ключ у `skills.entries`.
Правила:
- `enabled: false` вимикає Skill, навіть якщо вона bundled/встановлена.
- `env`: ін’єктується **лише якщо** змінну ще не задано в process.
- `apiKey`: зручний варіант для Skills, які оголошують `metadata.openclaw.primaryEnv`.
- `enabled: false` вимикає skill, навіть якщо він вбудований/інстальований.
- `env`: ін’єктується **лише якщо** змінна ще не встановлена в процесі.
- `apiKey`: зручний варіант для skills, які оголошують `metadata.openclaw.primaryEnv`.
Підтримує plaintext string або об’єкт SecretRef (`{ source, provider, id }`).
- `config`: необов’язковий набір для користувацьких полів конкретної Skill; користувацькі ключі мають жити тут.
- `allowBundled`: необов’язковий allowlist **лише для bundled** Skills. Якщо задано,
доступними будуть лише bundled Skills зі списку (керовані/workspace Skills це не зачіпає).
- `config`: необов’язковий набір для користувацьких полів конкретного skill; користувацькі ключі мають розміщуватися тут.
- `allowBundled`: необов’язковий allowlist лише для **вбудованих** skills. Якщо його задано, допустимими є лише
вбудовані skills зі списку (керовані/skills робочого простору не зачіпаються).
## Ін’єкція середовища (для кожного запуску агента)
Коли запускається агент, OpenClaw:
Коли починається запуск агента, OpenClaw:
1. Зчитує метадані Skill.
1. Зчитує метадані skill.
2. Застосовує будь-які `skills.entries.<key>.env` або `skills.entries.<key>.apiKey` до
`process.env`.
3. Будує system prompt з **доступними** Skills.
3. Будує системний prompt з **допустимими** skills.
4. Відновлює початкове середовище після завершення запуску.
Це має **область дії запуску агента**, а не глобального shell-середовища.
Це **обмежено запуском агента**, а не є глобальним середовищем shell.
Для вбудованого backend `claude-cli` OpenClaw також матеріалізує той самий
знімок допустимих skills як тимчасовий плагін Claude Code і передає його через
`--plugin-dir`. Тоді Claude Code може використовувати власний вбудований resolver skill, тоді як
OpenClaw усе ще керує пріоритетом, allowlist для окремих агентів, гейтінгом і
ін’єкцією env/API key через `skills.entries.*`. Інші CLI backend використовують лише каталог prompt.
## Знімок сесії (продуктивність)
OpenClaw створює знімок доступних Skills **на момент початку сесії** і повторно використовує цей список для наступних ходів у тій самій сесії. Зміни Skills або config починають діяти з наступної нової сесії.
OpenClaw створює знімок допустимих skills **коли починається сесія** і повторно використовує цей список для наступних ходів у межах тієї самої сесії. Зміни в skills або config набувають чинності під час наступної нової сесії.
Skills також можуть оновлюватися посеред сесії, коли ввімкнено спостерігач Skills або коли з’являється нова доступна віддалена node (див. нижче). Думайте про це як про **гаряче перезавантаження**: оновлений список підхоплюється на наступному ході агента.
Skills також можуть оновлюватися посеред сесії, коли ввімкнено watcher skills або коли з’являється новий допустимий віддалений вузол (див. нижче). Думайте про це як про **гаряче перезавантаження**: оновлений список буде підхоплено під час наступного ходу агента.
Якщо для цієї сесії змінюється ефективний allowlist Skills агента, OpenClaw
оновлює знімок, щоб видимі Skills залишалися узгодженими з поточним
Якщо ефективний allowlist skills агента змінюється для цієї сесії, OpenClaw
оновлює знімок, щоб видимі skills залишалися узгодженими з поточним
агентом.
## Віддалені macOS node (Linux gateway)
## Віддалені вузли macOS (Linux gateway)
Якщо Gateway працює на Linux, але підключено **macOS node** **з дозволеним `system.run`** (безпека Exec approvals не встановлена в `deny`), OpenClaw може вважати Skills лише для macOS доступними, коли потрібні бінарні файли є на цій node. Агент має виконувати ці Skills через інструмент `exec` з `host=node`.
Якщо Gateway запущено на Linux, але підключено **вузол macOS** **з дозволеним `system.run`** (параметр безпеки Exec approvals не встановлено в `deny`), OpenClaw може вважати допустимими skills лише для macOS, якщо потрібні бінарні файли присутні на цьому вузлі. Агент має виконувати такі skills через інструмент `exec` з `host=node`.
Це спирається на те, що node повідомляє про підтримку команд і на перевірку бінарних файлів через `system.run`. Якщо macOS node пізніше від’єднається, Skills залишаться видимими; виклики можуть не працювати, доки node знову не підключиться.
Це спирається на те, що вузол повідомляє про підтримку команд, а також на перевірку бінарних файлів через `system.run`. Якщо вузол macOS пізніше переходить в офлайн, skills залишаються видимими; виклики можуть завершуватися помилкою, доки вузол знову не підключиться.
## Спостерігач Skills (автооновлення)
## Watcher skills (автооновлення)
Типово OpenClaw спостерігає за папками Skills і оновлює знімок Skills, коли змінюються файли `SKILL.md`. Налаштовується в `skills.load`:
За замовчуванням OpenClaw відстежує папки skills і оновлює знімок skills, коли змінюються файли `SKILL.md`. Це налаштовується в `skills.load`:
```json5
{
@ -341,12 +337,12 @@ Skills також можуть оновлюватися посеред сесі
}
```
## Вплив на токени (список Skills)
## Вплив на токени (список skills)
Коли Skills доступні, OpenClaw ін’єктує компактний XML-список доступних Skills у system prompt (через `formatSkillsForPrompt` у `pi-coding-agent`). Вартість детермінована:
Коли skills допустимі, OpenClaw ін’єктує компактний XML-список доступних skills у системний prompt (через `formatSkillsForPrompt` у `pi-coding-agent`). Вартість детермінована:
- **Базові накладні витрати (лише коли ≥1 Skill):** 195 символів.
- **На кожну Skill:** 97 символів + довжина XML-екранованих значень `<name>`, `<description>` і `<location>`.
- **Базові накладні витрати (лише коли ≥1 skill):** 195 символів.
- **Для кожного skill:** 97 символів + довжина XML-екранованих значень `<name>`, `<description>` і `<location>`.
Формула (символи):
@ -356,21 +352,21 @@ total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(locati
Примітки:
- XML-екранування розширює `& < > " '` у сутності (`&amp;`, `&lt;` тощо), збільшуючи довжину.
- Кількість токенів залежить від токенізатора моделі. Груба оцінка в стилі OpenAI — ~4 символи/токен, тобто **97 символів ≈ 24 токени** на Skill плюс фактична довжина ваших полів.
- XML-екранування розширює `& < > " '` до сутностей (`&amp;`, `&lt;` тощо), збільшуючи довжину.
- Кількість токенів залежить від tokenizer моделі. Груба оцінка в стилі OpenAI — приблизно 4 символи/токен, тож **97 символів ≈ 24 токени** на skill плюс фактична довжина ваших полів.
## Життєвий цикл керованих Skills
## Життєвий цикл керованих skills
OpenClaw постачає базовий набір Skills як **bundled Skills** у складі
встановлення (npm package або OpenClaw.app). `~/.openclaw/skills` існує для локальних
перевизначень (наприклад, pinning/patching Skill без змін
bundled-копії). Skills workspace належать користувачу й перевизначають обидва варіанти при конфліктах назв.
OpenClaw постачається з базовим набором skills як **вбудовані skills** у складі
інсталяції (npm package або OpenClaw.app). `~/.openclaw/skills` існує для локальних
перевизначень (наприклад, щоб зафіксувати/пропатчити skill без зміни вбудованої
копії). Skills робочого простору належать користувачу й перевизначають обидва варіанти при конфліктах назв.
## Довідник config
Повну схему config див. у [Skills config](/tools/skills-config).
Див. [Skills config](/uk/tools/skills-config), щоб переглянути повну схему конфігурації.
## Шукаєте більше Skills?
## Шукаєте більше skills?
Перегляньте [https://clawhub.ai](https://clawhub.ai).
@ -378,7 +374,7 @@ bundled-копії). Skills workspace належать користувачу й
## Пов’язане
- [Створення Skills](/tools/creating-skills) — створення власних Skills
- [Skills Config](/tools/skills-config) — довідник конфігурації Skills
- [Slash Commands](/tools/slash-commands) — усі доступні slash-команди
- [Plugins](/tools/plugin) — огляд системи plugins
- [Creating Skills](/uk/tools/creating-skills) — створення користувацьких skills
- [Skills Config](/uk/tools/skills-config) — довідник із конфігурації skills
- [Slash Commands](/uk/tools/slash-commands) — усі доступні slash commands
- [Plugins](/uk/tools/plugin) — огляд системи plugin