From fd06e1e4075766c5c522bea992425de5f32f13c3 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Fri, 10 Apr 2026 12:47:30 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/gateway/cli-backends.md | 169 +++++++++-------- docs/uk/tools/skills.md | 320 ++++++++++++++++---------------- 2 files changed, 246 insertions(+), 243 deletions(-) diff --git a/docs/uk/gateway/cli-backends.md b/docs/uk/gateway/cli-backends.md index 42e7fa1ac..841524719 100644 --- a/docs/uk/gateway/cli-backends.md +++ b/docs/uk/gateway/cli-backends.md @@ -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 постачальника стає лівою частиною вашого посилання моделі: ``` / @@ -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-сесію. Вбудований бекенд 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.` і далі перевизначає типове значення плагіна. -- Очищення конфігурації, специфічне для бекенда, залишається на боці плагіна через необов’язковий - гук `normalizeConfig`. +- `id` бекенду стає префіксом постачальника в посиланнях моделей. +- Конфігурація користувача в `agents.defaults.cliBackends.` як і раніше перевизначає типове значення плагіна. +- Очищення конфігурації, специфічне для бекенду, залишається у власності плагіна через необов’язковий + хук `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 підтримує шляхи до файлів). diff --git a/docs/uk/tools/skills.md b/docs/uk/tools/skills.md index 8d6181cf8..e57e93791 100644 --- a/docs/uk/tools/skills.md +++ b/docs/uk/tools/skills.md @@ -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 агента проєкту**: `/.agents/skills` -6. **Skills 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**: `/.agents/skills` +6. **Skills робочого простору**: `/skills` -Якщо назви Skills конфліктують, пріоритет такий: +Якщо назва skill конфліктує, пріоритет такий: -`/skills` (найвищий) → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані Skills → `skills.load.extraDirs` (найнижчий) +`/skills` (найвищий) → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані skills → `skills.load.extraDirs` (найнижчий) -## Skills для окремого агента чи спільні Skills +## Skills для окремого агента та спільні skills -У конфігураціях **з кількома агентами** кожен агент має власний workspace. Це означає: +У конфігураціях **multi-agent** кожен агент має власний робочий простір. Це означає: -- **Skills для окремого агента** знаходяться в `/skills` лише для цього агента. -- **Skills агента проєкту** знаходяться в `/.agents/skills` і застосовуються до - цього workspace перед звичайною папкою `skills/` workspace. -- **Персональні Skills агента** знаходяться в `~/.agents/skills` і застосовуються в усіх - workspace на цій машині. -- **Спільні Skills** знаходяться в `~/.openclaw/skills` (керовані/локальні) і видимі - **усім агентам** на цій самій машині. -- **Спільні папки** також можна додати через `skills.load.extraDirs` (найнижчий - пріоритет), якщо ви хочете мати спільний пакет Skills для кількох агентів. +- **Skills для окремого агента** розміщуються в `/skills` лише для цього агента. +- **Project agent skills** розміщуються в `/.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 ` -- Оновити всі встановлені Skills: +- Оновити всі інстальовані skills: - `openclaw skills update --all` -- Синхронізувати (сканування + publish оновлень): +- Синхронізувати (сканування + публікація оновлень): - `clawhub sync --all` -Нативна команда `openclaw skills install` встановлює в каталог `skills/` активного workspace. -Окремий CLI `clawhub` також встановлює в `./skills` у вашому -поточному робочому каталозі (або використовує налаштований workspace OpenClaw як запасний варіант). -OpenClaw підхопить це як `/skills` у наступній сесії. +Рідна команда `openclaw skills install` інсталює у каталог `skills/` активного робочого простору. Окремий CLI `clawhub` також інсталює у `./skills` у вашому +поточному робочому каталозі (або використовує налаштований робочий простір OpenClaw як резервний варіант). +Під час наступної сесії OpenClaw розпізнає це як `/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 ` — це інше: команда завантажує папку 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 ` — це інше: команда завантажує папку 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: "", commandName: "", skillName: "" }`. -## 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..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..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/`). +- Вибір інсталятора через 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/`). -Якщо `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..env` або `skills.entries..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-екранованих значень ``, `` і ``. +- **Базові накладні витрати (лише коли ≥1 skill):** 195 символів. +- **Для кожного skill:** 97 символів + довжина XML-екранованих значень ``, `` і ``. Формула (символи): @@ -356,21 +352,21 @@ total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(locati Примітки: -- XML-екранування розширює `& < > " '` у сутності (`&`, `<` тощо), збільшуючи довжину. -- Кількість токенів залежить від токенізатора моделі. Груба оцінка в стилі OpenAI — ~4 символи/токен, тобто **97 символів ≈ 24 токени** на Skill плюс фактична довжина ваших полів. +- XML-екранування розширює `& < > " '` до сутностей (`&`, `<` тощо), збільшуючи довжину. +- Кількість токенів залежить від 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