chore(i18n): refresh uk translations
This commit is contained in:
parent
3b0c73e11d
commit
4e5172c84f
@ -1,25 +1,25 @@
|
||||
---
|
||||
read_when:
|
||||
- У вас проблеми з підключенням або автентифікацією, і вам потрібні покрокові виправлення
|
||||
- Ви оновилися й хочете базову перевірку
|
||||
summary: Довідник CLI для `openclaw doctor` (перевірки працездатності + керовані виправлення)
|
||||
- У вас виникли проблеми з підключенням/автентифікацією, і вам потрібні покрокові виправлення
|
||||
- Ви виконали оновлення й хочете перевірити, що все гаразд
|
||||
summary: Довідник CLI для `openclaw doctor` (перевірки справності + керовані виправлення)
|
||||
title: Діагностика
|
||||
x-i18n:
|
||||
generated_at: "2026-04-28T22:44:19Z"
|
||||
generated_at: "2026-04-30T19:53:22Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 9985c84d23861dd9468a4659ee00519573fe6d540c436548da0a68067dbabc4c
|
||||
source_hash: 265d82a10da086cf89687886e491be018a720b70021e0b26bd8f39b25a907e14
|
||||
source_path: cli/doctor.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
# `openclaw doctor`
|
||||
|
||||
Перевірки стану + швидкі виправлення для Gateway і каналів.
|
||||
Перевірки справності + швидкі виправлення для Gateway і каналів.
|
||||
|
||||
Пов’язане:
|
||||
|
||||
- Усунення несправностей: [Усунення несправностей](/uk/gateway/troubleshooting)
|
||||
- Усунення неполадок: [Усунення неполадок](/uk/gateway/troubleshooting)
|
||||
- Аудит безпеки: [Безпека](/uk/gateway/security)
|
||||
|
||||
## Приклади
|
||||
@ -34,39 +34,40 @@ openclaw doctor --generate-gateway-token
|
||||
|
||||
## Параметри
|
||||
|
||||
- `--no-workspace-suggestions`: вимкнути пропозиції пам’яті/пошуку робочої області
|
||||
- `--yes`: прийняти значення за замовчуванням без запиту
|
||||
- `--repair`: застосувати рекомендовані виправлення без запиту
|
||||
- `--no-workspace-suggestions`: вимкнути пропозиції пам’яті/пошуку робочого простору
|
||||
- `--yes`: приймати типові значення без запитів
|
||||
- `--repair`: застосувати рекомендовані виправлення без запитів
|
||||
- `--fix`: псевдонім для `--repair`
|
||||
- `--force`: застосувати агресивні виправлення, зокрема перезапис користувацької конфігурації сервісу за потреби
|
||||
- `--non-interactive`: запуск без запитів; лише безпечні міграції
|
||||
- `--generate-gateway-token`: згенерувати й налаштувати токен Gateway
|
||||
- `--deep`: просканувати системні сервіси на наявність додаткових інсталяцій Gateway
|
||||
- `--deep`: просканувати системні сервіси на наявність додаткових встановлень Gateway
|
||||
|
||||
Примітки:
|
||||
|
||||
- Інтерактивні запити (наприклад, виправлення keychain/OAuth) запускаються лише тоді, коли stdin є TTY і `--non-interactive` **не** встановлено. Запуски без термінала (Cron, Telegram, без термінала) пропускатимуть запити.
|
||||
- Продуктивність: неінтерактивні запуски `doctor` пропускають завчасне завантаження Plugin, щоб перевірки стану без термінала залишалися швидкими. Інтерактивні сеанси все одно повністю завантажують plugins, коли перевірці потрібній їхній внесок.
|
||||
- `--fix` (псевдонім для `--repair`) записує резервну копію в `~/.openclaw/openclaw.json.bak` і відкидає невідомі ключі конфігурації, перелічуючи кожне видалення.
|
||||
- Перевірки цілісності стану тепер виявляють осиротілі файли транскриптів у каталозі сеансів. Їх архівування як `.deleted.<timestamp>` потребує інтерактивного підтвердження; `--fix`, `--yes` і запуски без термінала залишають їх на місці.
|
||||
- Doctor також сканує `~/.openclaw/cron/jobs.json` (або `cron.store`) на застарілі форми завдань Cron і може переписати їх на місці до того, як планувальнику доведеться автоматично нормалізувати їх під час виконання.
|
||||
- Doctor виправляє відсутні runtime-залежності bundled plugin без запису в пакетні глобальні інсталяції. Для npm-інсталяцій, що належать root, або посилених systemd-юнітів встановіть `OPENCLAW_PLUGIN_STAGE_DIR` на доступний для запису каталог, як-от `/var/lib/openclaw/plugin-runtime-deps`; це також може бути список шляхів, наприклад `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, де попередні корені є шарами пошуку лише для читання, а фінальний корінь є ціллю виправлення.
|
||||
- Doctor виправляє застарілу конфігурацію plugin, видаляючи відсутні plugin ids з `plugins.allow`/`plugins.entries`, а також відповідну завислу конфігурацію каналів, цілі Heartbeat і перевизначення моделей каналів, коли виявлення plugin працює коректно.
|
||||
- Doctor поміщає недійсну конфігурацію plugin у карантин, вимикаючи відповідний запис `plugins.entries.<id>` і видаляючи його недійсний payload `config`. Запуск Gateway уже пропускає лише цей проблемний plugin, тож інші plugins і канали можуть продовжувати працювати.
|
||||
- Встановіть `OPENCLAW_SERVICE_REPAIR_POLICY=external`, коли інший supervisor керує життєвим циклом Gateway. Doctor усе одно повідомляє про стан Gateway/сервісу й застосовує виправлення, не пов’язані із сервісом, але пропускає install/start/restart/bootstrap сервісу та очищення застарілих сервісів.
|
||||
- У Linux doctor ігнорує неактивні додаткові systemd-юніти, схожі на Gateway, і не переписує метадані команди/entrypoint для запущеного systemd-сервісу Gateway під час виправлення. Спершу зупиніть сервіс або використайте `openclaw gateway install --force`, якщо навмисно хочете замінити активний launcher.
|
||||
- Doctor автоматично мігрує застарілу плоску конфігурацію Talk (`talk.voiceId`, `talk.modelId` і пов’язані ключі) у `talk.provider` + `talk.providers.<provider>`.
|
||||
- Повторні запуски `doctor --fix` більше не повідомляють/застосовують нормалізацію Talk, коли єдина відмінність — порядок ключів об’єкта.
|
||||
- Doctor містить перевірку готовності пошуку в пам’яті та може рекомендувати `openclaw configure --section model`, коли відсутні облікові дані embeddings.
|
||||
- Doctor попереджає, коли не налаштовано власника команд. Власник команд — це обліковий запис оператора-людини, якому дозволено запускати команди лише для власника й схвалювати небезпечні дії. Спарювання DM лише дозволяє комусь спілкуватися з ботом; якщо ви схвалили відправника до появи bootstrap першого власника, явно встановіть `commands.ownerAllowFrom`.
|
||||
- Якщо режим пісочниці ввімкнено, але Docker недоступний, doctor повідомляє змістовне попередження з варіантом усунення (`install Docker` або `openclaw config set agents.defaults.sandbox.mode off`).
|
||||
- Інтерактивні запити (наприклад, виправлення keychain/OAuth) виконуються лише тоді, коли stdin є TTY і `--non-interactive` **не** задано. Запуски без інтерфейсу (cron, Telegram, без термінала) пропускатимуть запити.
|
||||
- Продуктивність: неінтерактивні запуски `doctor` пропускають завчасне завантаження плагінів, щоб перевірки справності без інтерфейсу залишалися швидкими. Інтерактивні сеанси все одно повністю завантажують плагіни, коли перевірці потрібен їхній внесок.
|
||||
- `--fix` (псевдонім для `--repair`) записує резервну копію в `~/.openclaw/openclaw.json.bak` і видаляє невідомі ключі конфігурації, перелічуючи кожне видалення.
|
||||
- Перевірки цілісності стану тепер виявляють осиротілі файли транскриптів у каталозі сеансів. Для архівування їх як `.deleted.<timestamp>` потрібне інтерактивне підтвердження; `--fix`, `--yes` і запуски без інтерфейсу залишають їх на місці.
|
||||
- Doctor також сканує `~/.openclaw/cron/jobs.json` (або `cron.store`) на наявність застарілих форм завдань Cron і може переписати їх на місці до того, як планувальнику доведеться автоматично нормалізувати їх під час виконання.
|
||||
- Doctor виправляє відсутні runtime-залежності вбудованих Plugin без запису в упаковані глобальні встановлення. Для root-встановлень npm або посилених systemd-юнітів задайте `OPENCLAW_PLUGIN_STAGE_DIR` на каталог із правом запису, наприклад `/var/lib/openclaw/plugin-runtime-deps`; це також може бути список шляхів, як-от `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, де попередні корені є шарами пошуку лише для читання, а останній корінь є ціллю виправлення.
|
||||
- Doctor виправляє застарілу конфігурацію Plugin, видаляючи відсутні ідентифікатори Plugin з `plugins.allow`/`plugins.entries`, а також відповідну висячу конфігурацію каналів, цілі Heartbeat і перевизначення моделей каналів, коли виявлення Plugin справне.
|
||||
- Doctor ізолює недійсну конфігурацію Plugin, вимикаючи відповідний запис `plugins.entries.<id>` і видаляючи його недійсне корисне навантаження `config`. Запуск Gateway уже пропускає лише цей несправний Plugin, тому інші Plugin і канали можуть продовжувати працювати.
|
||||
- Задайте `OPENCLAW_SERVICE_REPAIR_POLICY=external`, коли життєвим циклом Gateway керує інший супервізор. Doctor усе ще повідомляє про справність Gateway/сервісу та застосовує виправлення, не пов’язані із сервісом, але пропускає встановлення/запуск/перезапуск/bootstrap сервісу та очищення застарілих сервісів.
|
||||
- На Linux doctor ігнорує неактивні додаткові systemd-юніти, схожі на Gateway, і не переписує метадані команди/точки входу для запущеного systemd-сервісу Gateway під час виправлення. Спочатку зупиніть сервіс або використайте `openclaw gateway install --force`, якщо ви навмисно хочете замінити активний launcher.
|
||||
- Doctor автоматично мігрує застарілу пласку конфігурацію Talk (`talk.voiceId`, `talk.modelId` та пов’язані ключі) у `talk.provider` + `talk.providers.<provider>`.
|
||||
- Повторні запуски `doctor --fix` більше не повідомляють і не застосовують нормалізацію Talk, коли єдиною відмінністю є порядок ключів об’єкта.
|
||||
- Doctor включає перевірку готовності пошуку в пам’яті та може рекомендувати `openclaw configure --section model`, коли відсутні облікові дані для embeddings.
|
||||
- Doctor попереджає, коли не налаштовано власника команд. Власник команд — це обліковий запис оператора-людини, якому дозволено виконувати команди лише для власника й затверджувати небезпечні дії. Сполучення через DM лише дозволяє комусь спілкуватися з ботом; якщо ви затвердили відправника до появи bootstrap першого власника, явно задайте `commands.ownerAllowFrom`.
|
||||
- Doctor попереджає, коли налаштовано агентів у режимі Codex і в Codex home оператора існують персональні ресурси Codex CLI. Локальні запуски app-server Codex використовують ізольовані домівки для кожного агента, тому використовуйте `openclaw migrate codex --dry-run`, щоб інвентаризувати ресурси, які слід свідомо просунути.
|
||||
- Якщо режим sandbox увімкнено, але Docker недоступний, doctor повідомляє високосигнальне попередження з виправленням (`install Docker` або `openclaw config set agents.defaults.sandbox.mode off`).
|
||||
- Якщо `gateway.auth.token`/`gateway.auth.password` керуються SecretRef і недоступні в поточному шляху команди, doctor повідомляє попередження лише для читання й не записує резервні облікові дані відкритим текстом.
|
||||
- Якщо перевірка SecretRef каналу завершується невдало в шляху виправлення, doctor продовжує роботу й повідомляє попередження замість раннього завершення.
|
||||
- Автоматичне визначення імен користувачів Telegram `allowFrom` (`doctor --fix`) потребує доступного для розв’язання токена Telegram у поточному шляху команди. Якщо перевірка токена недоступна, doctor повідомляє попередження й пропускає автоматичне визначення для цього проходу.
|
||||
- Якщо перевірка SecretRef каналу не вдається в шляху виправлення, doctor продовжує роботу й повідомляє попередження замість передчасного завершення.
|
||||
- Автоматичне визначення імені користувача Telegram `allowFrom` (`doctor --fix`) потребує Telegram-токена, який можна розв’язати в поточному шляху команди. Якщо перевірка токена недоступна, doctor повідомляє попередження й пропускає автоматичне визначення для цього проходу.
|
||||
|
||||
## macOS: перевизначення env `launchctl`
|
||||
|
||||
Якщо ви раніше запускали `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (або `...PASSWORD`), це значення перевизначає ваш файл конфігурації та може спричиняти постійні помилки «unauthorized».
|
||||
Якщо ви раніше запускали `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (або `...PASSWORD`), це значення перевизначає ваш файл конфігурації та може спричиняти постійні помилки “unauthorized”.
|
||||
|
||||
```bash
|
||||
launchctl getenv OPENCLAW_GATEWAY_TOKEN
|
||||
@ -79,4 +80,4 @@ launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD
|
||||
## Пов’язане
|
||||
|
||||
- [Довідник CLI](/uk/cli)
|
||||
- [Діагностика Gateway](/uk/gateway/doctor)
|
||||
- [Gateway doctor](/uk/gateway/doctor)
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете перейти з Hermes або іншої агентної системи на OpenClaw
|
||||
- Ви додаєте провайдера міграцій, що належить плагіну
|
||||
summary: Довідник CLI для `openclaw migrate` (імпорт стану з іншої агентної системи)
|
||||
- Ви хочете перейти з Hermes або іншої агентської системи до OpenClaw
|
||||
- Ви додаєте постачальника міграцій, що належить Plugin
|
||||
summary: Довідник CLI для `openclaw migrate` (імпорт стану з іншої агентської системи)
|
||||
title: Міграція
|
||||
x-i18n:
|
||||
generated_at: "2026-04-29T19:09:22Z"
|
||||
generated_at: "2026-04-30T19:53:23Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: d3db14c16b8f9dcbf86a4f12558cf4e8555aa9a255637034fb804148996a225e
|
||||
source_hash: ffcd9e874bdaa0a5195e712d4fccd7b3d53034cb362c7f7462e9c7df72477b1a
|
||||
source_path: cli/migrate.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
# `openclaw migrate`
|
||||
|
||||
Імпортуйте стан з іншої агентної системи через провайдер міграції, яким володіє Plugin. Вбудовані провайдери охоплюють [Claude](/uk/install/migrating-claude) і [Hermes](/uk/install/migrating-hermes); сторонні plugins можуть реєструвати додаткових провайдерів.
|
||||
Імпортуйте стан з іншої агентної системи через постачальника міграції, що належить Plugin. Вбудовані постачальники охоплюють стан Codex CLI, [Claude](/uk/install/migrating-claude) і [Hermes](/uk/install/migrating-hermes); сторонні plugins можуть реєструвати додаткових постачальників.
|
||||
|
||||
<Tip>
|
||||
Для користувацьких покрокових інструкцій див. [Міграція з Claude](/uk/install/migrating-claude) і [Міграція з Hermes](/uk/install/migrating-hermes). [Центр міграції](/uk/install/migrating) перелічує всі шляхи.
|
||||
Покрокові інструкції для користувачів див. у [Міграція з Claude](/uk/install/migrating-claude) і [Міграція з Hermes](/uk/install/migrating-hermes). [Центр міграції](/uk/install/migrating) перелічує всі шляхи.
|
||||
</Tip>
|
||||
|
||||
## Команди
|
||||
@ -26,8 +26,12 @@ x-i18n:
|
||||
```bash
|
||||
openclaw migrate list
|
||||
openclaw migrate claude --dry-run
|
||||
openclaw migrate codex --dry-run
|
||||
openclaw migrate codex --skill gog-vault77-google-workspace
|
||||
openclaw migrate hermes --dry-run
|
||||
openclaw migrate hermes
|
||||
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
|
||||
openclaw migrate apply codex --yes
|
||||
openclaw migrate apply claude --yes
|
||||
openclaw migrate apply hermes --yes
|
||||
openclaw migrate apply hermes --include-secrets --yes
|
||||
@ -37,89 +41,129 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
|
||||
```
|
||||
|
||||
<ParamField path="<provider>" type="string">
|
||||
Назва зареєстрованого провайдера міграції, наприклад `hermes`. Виконайте `openclaw migrate list`, щоб побачити встановлених провайдерів.
|
||||
Назва зареєстрованого постачальника міграції, наприклад `hermes`. Виконайте `openclaw migrate list`, щоб побачити встановлених постачальників.
|
||||
</ParamField>
|
||||
<ParamField path="--dry-run" type="boolean">
|
||||
Побудувати план і вийти без зміни стану.
|
||||
Створити план і вийти без зміни стану.
|
||||
</ParamField>
|
||||
<ParamField path="--from <path>" type="string">
|
||||
Перевизначити каталог стану джерела. Hermes за замовчуванням використовує `~/.hermes`.
|
||||
Перевизначити каталог вихідного стану. Для Hermes типовим є `~/.hermes`.
|
||||
</ParamField>
|
||||
<ParamField path="--include-secrets" type="boolean">
|
||||
Імпортувати підтримувані облікові дані. Вимкнено за замовчуванням.
|
||||
Імпортувати підтримувані облікові дані. Типово вимкнено.
|
||||
</ParamField>
|
||||
<ParamField path="--overwrite" type="boolean">
|
||||
Дозволити застосуванню замінювати наявні цільові об’єкти, коли план повідомляє про конфлікти.
|
||||
Дозволити apply замінювати наявні цілі, коли план повідомляє про конфлікти.
|
||||
</ParamField>
|
||||
<ParamField path="--yes" type="boolean">
|
||||
Пропустити запит підтвердження. Обов’язково в неінтерактивному режимі.
|
||||
</ParamField>
|
||||
<ParamField path="--skill <name>" type="string">
|
||||
Вибрати один елемент копіювання skill за назвою skill або ідентифікатором елемента. Повторіть прапорець, щоб мігрувати кілька skills. Якщо прапорець пропущено, інтерактивні міграції Codex показують селектор із прапорцями, а неінтерактивні міграції зберігають усі заплановані skills.
|
||||
</ParamField>
|
||||
<ParamField path="--no-backup" type="boolean">
|
||||
Пропустити резервну копію перед застосуванням. Потребує `--force`, коли існує локальний стан OpenClaw.
|
||||
Пропустити резервну копію перед apply. Потребує `--force`, коли існує локальний стан OpenClaw.
|
||||
</ParamField>
|
||||
<ParamField path="--force" type="boolean">
|
||||
Потрібно разом із `--no-backup`, коли застосування інакше відмовилося б пропускати резервну копію.
|
||||
Обов’язково разом із `--no-backup`, коли apply інакше відмовився б пропускати резервну копію.
|
||||
</ParamField>
|
||||
<ParamField path="--json" type="boolean">
|
||||
Надрукувати план або результат застосування як JSON. З `--json` і без `--yes` застосування друкує план і не змінює стан.
|
||||
Надрукувати план або результат apply як JSON. З `--json` і без `--yes` apply друкує план і не змінює стан.
|
||||
</ParamField>
|
||||
|
||||
## Модель безпеки
|
||||
|
||||
`openclaw migrate` спершу показує попередній перегляд.
|
||||
`openclaw migrate` спочатку показує попередній перегляд.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Попередній перегляд перед застосуванням">
|
||||
Провайдер повертає деталізований план до будь-яких змін, включно з конфліктами, пропущеними елементами та чутливими елементами. JSON-плани, вивід застосування та звіти міграції редагують вкладені ключі, схожі на секрети, як-от API-ключі, токени, заголовки авторизації, cookie та паролі.
|
||||
<Accordion title="Попередній перегляд перед apply">
|
||||
Постачальник повертає деталізований план до будь-яких змін, включно з конфліктами, пропущеними елементами та чутливими елементами. JSON-плани, вивід apply і звіти міграції редагують вкладені ключі, схожі на секрети, як-от API-ключі, токени, заголовки авторизації, cookies і паролі.
|
||||
|
||||
`openclaw migrate apply <provider>` попередньо показує план і запитує підтвердження перед зміною стану, якщо не встановлено `--yes`. У неінтерактивному режимі застосування потребує `--yes`.
|
||||
`openclaw migrate apply <provider>` попередньо показує план і запитує підтвердження перед зміною стану, якщо не задано `--yes`. У неінтерактивному режимі apply потребує `--yes`.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Резервні копії">
|
||||
Застосування створює й перевіряє резервну копію OpenClaw перед застосуванням міграції. Якщо локального стану OpenClaw ще немає, крок резервного копіювання пропускається, і міграція може продовжитися. Щоб пропустити резервну копію, коли стан існує, передайте і `--no-backup`, і `--force`.
|
||||
Apply створює й перевіряє резервну копію OpenClaw перед застосуванням міграції. Якщо локального стану OpenClaw ще немає, крок резервного копіювання пропускається, а міграція може продовжитися. Щоб пропустити резервну копію, коли стан існує, передайте і `--no-backup`, і `--force`.
|
||||
</Accordion>
|
||||
<Accordion title="Конфлікти">
|
||||
Застосування відмовляється продовжувати, коли план має конфлікти. Перегляньте план, потім запустіть повторно з `--overwrite`, якщо заміна наявних цільових об’єктів є навмисною. Провайдери все ще можуть записувати резервні копії на рівні елементів для перезаписаних файлів у каталозі звіту міграції.
|
||||
Apply відмовляється продовжувати, коли план має конфлікти. Перегляньте план, а потім повторно запустіть із `--overwrite`, якщо заміна наявних цілей є навмисною. Постачальники все ще можуть записувати резервні копії на рівні елементів для перезаписаних файлів у каталозі звіту міграції.
|
||||
</Accordion>
|
||||
<Accordion title="Секрети">
|
||||
Секрети ніколи не імпортуються за замовчуванням. Використовуйте `--include-secrets`, щоб імпортувати підтримувані облікові дані.
|
||||
Секрети типово ніколи не імпортуються. Використовуйте `--include-secrets`, щоб імпортувати підтримувані облікові дані.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Провайдер Claude
|
||||
## Постачальник Claude
|
||||
|
||||
Вбудований провайдер Claude за замовчуванням виявляє стан Claude Code у `~/.claude`. Використовуйте `--from <path>`, щоб імпортувати певний домашній каталог Claude Code або корінь проєкту.
|
||||
Вбудований постачальник Claude типово виявляє стан Claude Code у `~/.claude`. Використовуйте `--from <path>`, щоб імпортувати конкретний домашній каталог Claude Code або корінь проєкту.
|
||||
|
||||
<Tip>
|
||||
Для користувацьких покрокових інструкцій див. [Міграція з Claude](/uk/install/migrating-claude).
|
||||
Покрокову інструкцію для користувачів див. у [Міграція з Claude](/uk/install/migrating-claude).
|
||||
</Tip>
|
||||
|
||||
### Що імпортує Claude
|
||||
|
||||
- Проєктні `CLAUDE.md` і `.claude/CLAUDE.md` у робочий простір агента OpenClaw.
|
||||
- Користувацький `~/.claude/CLAUDE.md`, доданий до `USER.md` робочого простору.
|
||||
- Визначення серверів MCP із проєктного `.mcp.json`, Claude Code `~/.claude.json` і Claude Desktop `claude_desktop_config.json`.
|
||||
- Каталоги Claude Skills, які містять `SKILL.md`.
|
||||
- Markdown-файли команд Claude, перетворені на OpenClaw Skills лише з ручним викликом.
|
||||
- Проєктні `CLAUDE.md` і `.claude/CLAUDE.md` у робочу область агента OpenClaw.
|
||||
- Користувацький `~/.claude/CLAUDE.md`, доданий до `USER.md` робочої області.
|
||||
- Визначення MCP-серверів із проєктного `.mcp.json`, Claude Code `~/.claude.json` і Claude Desktop `claude_desktop_config.json`.
|
||||
- Каталоги skills Claude, які містять `SKILL.md`.
|
||||
- Markdown-файли команд Claude, перетворені на skills OpenClaw лише з ручним викликом.
|
||||
|
||||
### Архів і стан для ручного перегляду
|
||||
### Стан архівування та ручного перегляду
|
||||
|
||||
Хуки Claude, дозволи, стандартні значення середовища, локальна пам’ять, правила з областю дії за шляхом, субагенти, кеші, плани та історія проєкту зберігаються у звіті міграції або повідомляються як елементи для ручного перегляду. OpenClaw не виконує хуки, не копіює широкі списки дозволів і не імпортує стан облікових даних OAuth/Desktop автоматично.
|
||||
Hooks Claude, дозволи, типові значення середовища, локальна пам’ять, правила з областю дії за шляхом, субагенти, кеші, плани й історія проєкту зберігаються у звіті міграції або повідомляються як елементи для ручного перегляду. OpenClaw не виконує hooks, не копіює широкі allowlists і не імпортує стан облікових даних OAuth/Desktop автоматично.
|
||||
|
||||
## Провайдер Hermes
|
||||
## Постачальник Codex
|
||||
|
||||
Вбудований провайдер Hermes за замовчуванням виявляє стан у `~/.hermes`. Використовуйте `--from <path>`, коли Hermes розташований в іншому місці.
|
||||
Вбудований постачальник Codex типово виявляє стан Codex CLI у `~/.codex` або
|
||||
в `CODEX_HOME`, коли цю змінну середовища задано. Використовуйте `--from <path>`, щоб
|
||||
інвентаризувати конкретний домашній каталог Codex.
|
||||
|
||||
Використовуйте цього постачальника під час переходу на harness OpenClaw Codex, коли потрібно
|
||||
свідомо просунути корисні особисті ресурси Codex CLI. Локальні запуски app-server Codex
|
||||
використовують каталоги `CODEX_HOME` і `HOME` для кожного агента, тому типово вони не читають
|
||||
ваш особистий стан Codex CLI.
|
||||
|
||||
Запуск `openclaw migrate codex` в інтерактивному терміналі попередньо показує повний
|
||||
план, а потім відкриває селектор із прапорцями для елементів копіювання skill перед фінальним
|
||||
підтвердженням apply. Усі skills спочатку вибрані; зніміть прапорець із будь-якого skill, який не потрібно
|
||||
копіювати в цього агента. Для скриптових або точних запусків передайте `--skill <name>` по одному разу
|
||||
для кожного skill, наприклад:
|
||||
|
||||
```bash
|
||||
openclaw migrate codex --dry-run --skill gog-vault77-google-workspace
|
||||
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
|
||||
```
|
||||
|
||||
### Що імпортує Codex
|
||||
|
||||
- Каталоги skills Codex CLI у `$CODEX_HOME/skills`, окрім кешу `.system`
|
||||
Codex.
|
||||
- Особисті AgentSkills у `$HOME/.agents/skills`, скопійовані в поточну
|
||||
робочу область агента OpenClaw, коли потрібне володіння на рівні агента.
|
||||
|
||||
### Стан Codex для ручного перегляду
|
||||
|
||||
Нативні plugins Codex, `config.toml` і нативні `hooks/hooks.json` не
|
||||
активуються автоматично. Plugins можуть відкривати MCP-сервери, apps, hooks або іншу
|
||||
виконувану поведінку, тому постачальник повідомляє про них для перегляду замість завантаження
|
||||
їх в OpenClaw. Файли config і hook копіюються у звіт міграції
|
||||
для ручного перегляду.
|
||||
|
||||
## Постачальник Hermes
|
||||
|
||||
Вбудований постачальник Hermes типово виявляє стан у `~/.hermes`. Використовуйте `--from <path>`, коли Hermes розташований в іншому місці.
|
||||
|
||||
### Що імпортує Hermes
|
||||
|
||||
- Стандартну конфігурацію моделі з `config.yaml`.
|
||||
- Налаштованих провайдерів моделей і власні OpenAI-сумісні кінцеві точки з `providers` і `custom_providers`.
|
||||
- Визначення серверів MCP з `mcp_servers` або `mcp.servers`.
|
||||
- `SOUL.md` і `AGENTS.md` у робочий простір агента OpenClaw.
|
||||
- `memories/MEMORY.md` і `memories/USER.md`, додані до файлів пам’яті робочого простору.
|
||||
- Стандартні значення конфігурації пам’яті для файлової пам’яті OpenClaw, а також архівні елементи або елементи для ручного перегляду для зовнішніх провайдерів пам’яті, як-от Honcho.
|
||||
- Типову конфігурацію моделі з `config.yaml`.
|
||||
- Налаштованих постачальників моделей і власні OpenAI-сумісні endpoints із `providers` і `custom_providers`.
|
||||
- Визначення MCP-серверів із `mcp_servers` або `mcp.servers`.
|
||||
- `SOUL.md` і `AGENTS.md` у робочу область агента OpenClaw.
|
||||
- `memories/MEMORY.md` і `memories/USER.md`, додані до файлів пам’яті робочої області.
|
||||
- Типові значення конфігурації пам’яті для файлової пам’яті OpenClaw, а також архівні елементи або елементи для ручного перегляду для зовнішніх постачальників пам’яті, як-от Honcho.
|
||||
- Skills, які містять файл `SKILL.md` у `skills/<name>/`.
|
||||
- Значення конфігурації для окремих Skills з `skills.config`.
|
||||
- Значення конфігурації для кожного skill із `skills.config`.
|
||||
- Підтримувані API-ключі з `.env`, лише з `--include-secrets`.
|
||||
|
||||
### Підтримувані ключі `.env`
|
||||
@ -128,7 +172,7 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
|
||||
|
||||
### Стан лише для архіву
|
||||
|
||||
Стан Hermes, який OpenClaw не може безпечно інтерпретувати, копіюється у звіт міграції для ручного перегляду, але не завантажується в активну конфігурацію або облікові дані OpenClaw. Це зберігає непрозорий або небезпечний стан, не вдаючи, що OpenClaw може виконувати його або автоматично йому довіряти:
|
||||
Стан Hermes, який OpenClaw не може безпечно інтерпретувати, копіюється у звіт міграції для ручного перегляду, але не завантажується в активну конфігурацію або облікові дані OpenClaw. Це зберігає непрозорий або небезпечний стан без удавання, що OpenClaw може автоматично виконувати його або довіряти йому:
|
||||
|
||||
- `plugins/`
|
||||
- `sessions/`
|
||||
@ -146,7 +190,7 @@ openclaw doctor
|
||||
|
||||
## Контракт Plugin
|
||||
|
||||
Джерела міграції — це plugins. Plugin оголошує свої ідентифікатори провайдера в `openclaw.plugin.json`:
|
||||
Джерела міграції є plugins. Plugin оголошує свої ідентифікатори постачальників в `openclaw.plugin.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -156,22 +200,22 @@ openclaw doctor
|
||||
}
|
||||
```
|
||||
|
||||
Під час виконання Plugin викликає `api.registerMigrationProvider(...)`. Провайдер реалізує `detect`, `plan` і `apply`. Ядро відповідає за оркестрацію CLI, політику резервного копіювання, запити, JSON-вивід і попередню перевірку конфліктів. Ядро передає переглянутий план у `apply(ctx, plan)`, а провайдери можуть перебудовувати план лише тоді, коли цей аргумент відсутній для сумісності.
|
||||
Під час виконання Plugin викликає `api.registerMigrationProvider(...)`. Постачальник реалізує `detect`, `plan` і `apply`. Core відповідає за оркестрацію CLI, політику резервного копіювання, запити, JSON-вивід і попередню перевірку конфліктів. Core передає переглянутий план у `apply(ctx, plan)`, а постачальники можуть перебудовувати план лише коли цей аргумент відсутній для сумісності.
|
||||
|
||||
Провайдерські plugins можуть використовувати `openclaw/plugin-sdk/migration` для створення елементів і підрахунків у підсумках, а також `openclaw/plugin-sdk/migration-runtime` для копіювання файлів з урахуванням конфліктів, копій звітів лише для архіву, кешованих обгорток config-runtime і звітів міграції.
|
||||
Provider plugins можуть використовувати `openclaw/plugin-sdk/migration` для створення елементів і підрахунків у підсумку, а також `openclaw/plugin-sdk/migration-runtime` для копіювання файлів з урахуванням конфліктів, архівних копій у звітах, кешованих wrappers config-runtime і звітів міграції.
|
||||
|
||||
## Інтеграція з початковим налаштуванням
|
||||
## Інтеграція з onboarding
|
||||
|
||||
Початкове налаштування може запропонувати міграцію, коли провайдер виявляє відоме джерело. І `openclaw onboard --flow import`, і `openclaw setup --wizard --import-from hermes` використовують того самого провайдера міграції Plugin і все одно показують попередній перегляд перед застосуванням.
|
||||
Onboarding може пропонувати міграцію, коли постачальник виявляє відоме джерело. І `openclaw onboard --flow import`, і `openclaw setup --wizard --import-from hermes` використовують того самого постачальника міграції Plugin і все одно показують попередній перегляд перед застосуванням.
|
||||
|
||||
<Note>
|
||||
Імпорти під час початкового налаштування потребують свіжого налаштування OpenClaw. Спочатку скиньте конфігурацію, облікові дані, сеанси та робочий простір, якщо у вас уже є локальний стан. Імпорти з резервним копіюванням і перезаписом або злиттям закриті feature-gate для наявних налаштувань.
|
||||
Імпорти onboarding потребують свіжого налаштування OpenClaw. Спочатку скиньте конфігурацію, облікові дані, сесії та робочу область, якщо у вас уже є локальний стан. Backup-plus-overwrite або merge imports захищені feature gate для наявних налаштувань.
|
||||
</Note>
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Міграція з Hermes](/uk/install/migrating-hermes): користувацькі покрокові інструкції.
|
||||
- [Міграція з Claude](/uk/install/migrating-claude): користувацькі покрокові інструкції.
|
||||
- [Міграція](/uk/install/migrating): перемістити OpenClaw на нову машину.
|
||||
- [Doctor](/uk/gateway/doctor): перевірка стану після застосування міграції.
|
||||
- [Plugins](/uk/tools/plugin): встановлення й реєстрація plugins.
|
||||
- [Міграція з Hermes](/uk/install/migrating-hermes): покрокова інструкція для користувачів.
|
||||
- [Міграція з Claude](/uk/install/migrating-claude): покрокова інструкція для користувачів.
|
||||
- [Міграція](/uk/install/migrating): перенесіть OpenClaw на новий комп’ютер.
|
||||
- [Doctor](/uk/gateway/doctor): перевірка справності після застосування міграції.
|
||||
- [Plugins](/uk/tools/plugin): встановлення та реєстрація plugins.
|
||||
|
||||
@ -1,33 +1,33 @@
|
||||
---
|
||||
read_when:
|
||||
- Вам потрібно пояснити робочий простір агента або структуру його файлів
|
||||
- Вам потрібно пояснити робочий простір агента або його файлову структуру
|
||||
- Ви хочете створити резервну копію або перенести робочий простір агента
|
||||
sidebarTitle: Agent workspace
|
||||
summary: 'Робочий простір агента: розташування, структура та стратегія резервного копіювання'
|
||||
title: Робочий простір агента
|
||||
x-i18n:
|
||||
generated_at: "2026-04-26T11:07:55Z"
|
||||
model: gpt-5.4
|
||||
generated_at: "2026-04-30T19:53:15Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 35d59d1f0dec05db30f9166a43bfa519d7299b08d093bbeb905d8f83e5cd022a
|
||||
source_hash: b1ccf74cbec3ff20f4c1c1ce52f099a7ca3365b2536b0aad6ff1d3a5fafcca0a
|
||||
source_path: concepts/agent-workspace.md
|
||||
workflow: 15
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
Робочий простір — це домівка агента. Це єдиний робочий каталог, який використовується для файлових інструментів і для контексту робочого простору. Зберігайте його приватним і ставтеся до нього як до пам’яті.
|
||||
Робочий простір є домівкою агента. Це єдина робоча директорія, що використовується для файлових інструментів і контексту робочого простору. Зберігайте її приватною та ставтеся до неї як до пам’яті.
|
||||
|
||||
Він відокремлений від `~/.openclaw/`, де зберігаються конфігурація, облікові дані та сесії.
|
||||
Це окремо від `~/.openclaw/`, де зберігаються конфігурація, облікові дані та сесії.
|
||||
|
||||
<Warning>
|
||||
Робочий простір — це **типовий cwd**, а не жорстка пісочниця. Інструменти обробляють відносні шляхи відносно робочого простору, але абсолютні шляхи все одно можуть дістатися інших місць на хості, якщо пісочницю не ввімкнено. Якщо вам потрібна ізоляція, використовуйте [`agents.defaults.sandbox`](/uk/gateway/sandboxing) (і/або конфігурацію пісочниці для окремого агента).
|
||||
Робочий простір — це **типовий cwd**, а не жорстка пісочниця. Інструменти розв’язують відносні шляхи відносно робочого простору, але абсолютні шляхи все ще можуть діставатися інших місць на хості, якщо ізоляцію пісочниці не ввімкнено. Якщо вам потрібна ізоляція, використовуйте [`agents.defaults.sandbox`](/uk/gateway/sandboxing) (та/або конфігурацію пісочниці для окремого агента).
|
||||
|
||||
Коли пісочницю ввімкнено, а `workspaceAccess` не дорівнює `"rw"`, інструменти працюють усередині робочого простору пісочниці в `~/.openclaw/sandboxes`, а не у вашому робочому просторі хоста.
|
||||
Коли ізоляцію пісочниці ввімкнено і `workspaceAccess` не є `"rw"`, інструменти працюють усередині робочого простору пісочниці під `~/.openclaw/sandboxes`, а не у вашому робочому просторі хоста.
|
||||
</Warning>
|
||||
|
||||
## Типове розташування
|
||||
|
||||
- Типове: `~/.openclaw/workspace`
|
||||
- Якщо `OPENCLAW_PROFILE` задано і він не дорівнює `"default"`, типовим стає `~/.openclaw/workspace-<profile>`.
|
||||
- Типово: `~/.openclaw/workspace`
|
||||
- Якщо `OPENCLAW_PROFILE` задано і він не є `"default"`, типовим стає `~/.openclaw/workspace-<profile>`.
|
||||
- Перевизначення в `~/.openclaw/openclaw.json`:
|
||||
|
||||
```json5
|
||||
@ -40,13 +40,13 @@ x-i18n:
|
||||
}
|
||||
```
|
||||
|
||||
`openclaw onboard`, `openclaw configure` або `openclaw setup` створять робочий простір і додадуть початкові bootstrap-файли, якщо їх бракує.
|
||||
`openclaw onboard`, `openclaw configure` або `openclaw setup` створять робочий простір і додадуть початкові bootstrap-файли, якщо їх немає.
|
||||
|
||||
<Note>
|
||||
Копіювання початкових даних для пісочниці приймає лише звичайні файли всередині робочого простору; псевдоніми symlink/hardlink, які вказують за межі вихідного робочого простору, ігноруються.
|
||||
Копії початкових файлів для пісочниці приймають лише звичайні файли всередині робочого простору; псевдоніми через symlink/hardlink, що розв’язуються за межі вихідного робочого простору, ігноруються.
|
||||
</Note>
|
||||
|
||||
Якщо ви вже самі керуєте файлами робочого простору, можна вимкнути створення bootstrap-файлів:
|
||||
Якщо ви вже самостійно керуєте файлами робочого простору, можна вимкнути створення bootstrap-файлів:
|
||||
|
||||
```json5
|
||||
{ agents: { defaults: { skipBootstrap: true } } }
|
||||
@ -54,82 +54,83 @@ x-i18n:
|
||||
|
||||
## Додаткові папки робочого простору
|
||||
|
||||
У старіших інсталяціях міг бути створений `~/openclaw`. Наявність кількох каталогів робочого простору може спричиняти плутанину з автентифікацією або розходження стану, оскільки одночасно активним є лише один робочий простір.
|
||||
Старіші встановлення могли створити `~/openclaw`. Наявність кількох директорій робочого простору може спричиняти заплутаний дрейф автентифікації або стану, бо активним одночасно є лише один робочий простір.
|
||||
|
||||
<Note>
|
||||
**Рекомендація:** використовуйте один активний робочий простір. Якщо ви більше не використовуєте додаткові папки, заархівуйте їх або перемістіть до кошика (наприклад, `trash ~/openclaw`). Якщо ви навмисно зберігаєте кілька робочих просторів, переконайтеся, що `agents.defaults.workspace` вказує на активний.
|
||||
**Рекомендація:** тримайте один активний робочий простір. Якщо ви більше не використовуєте додаткові папки, заархівуйте їх або перемістіть до Кошика (наприклад, `trash ~/openclaw`). Якщо ви навмисно тримаєте кілька робочих просторів, переконайтеся, що `agents.defaults.workspace` вказує на активний.
|
||||
|
||||
`openclaw doctor` попереджає, коли виявляє додаткові каталоги робочого простору.
|
||||
`openclaw doctor` попереджає, коли виявляє додаткові директорії робочого простору.
|
||||
</Note>
|
||||
|
||||
## Карта файлів робочого простору
|
||||
|
||||
Це стандартні файли, які OpenClaw очікує знайти в робочому просторі:
|
||||
Це стандартні файли, які OpenClaw очікує всередині робочого простору:
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="AGENTS.md — інструкції з роботи">
|
||||
Інструкції з роботи для агента та вказівки щодо використання пам’яті. Завантажуються на початку кожної сесії. Це гарне місце для правил, пріоритетів і деталей «як поводитися».
|
||||
<Accordion title="AGENTS.md — операційні інструкції">
|
||||
Операційні інструкції для агента та правила використання пам’яті. Завантажуються на початку кожної сесії. Гарне місце для правил, пріоритетів і деталей про те, «як поводитися».
|
||||
</Accordion>
|
||||
<Accordion title="SOUL.md — персона та тон">
|
||||
Персона, тон і межі. Завантажуються в кожній сесії. Посібник: [Посібник із особистості SOUL.md](/uk/concepts/soul).
|
||||
<Accordion title="SOUL.md — персона і тон">
|
||||
Персона, тон і межі. Завантажується в кожній сесії. Посібник: [посібник з особистості SOUL.md](/uk/concepts/soul).
|
||||
</Accordion>
|
||||
<Accordion title="USER.md — хто такий користувач">
|
||||
Хто такий користувач і як до нього звертатися. Завантажується в кожній сесії.
|
||||
</Accordion>
|
||||
<Accordion title="IDENTITY.md — ім’я, вайб, емодзі">
|
||||
Ім’я агента, вайб та емодзі. Створюється/оновлюється під час bootstrap-ритуалу.
|
||||
Ім’я агента, вайб і емодзі. Створюється/оновлюється під час bootstrap-ритуалу.
|
||||
</Accordion>
|
||||
<Accordion title="TOOLS.md — локальні домовленості щодо інструментів">
|
||||
Нотатки про ваші локальні інструменти та домовленості. Не керує доступністю інструментів; це лише рекомендації.
|
||||
Нотатки про ваші локальні інструменти та домовленості. Не керує доступністю інструментів; це лише настанови.
|
||||
</Accordion>
|
||||
<Accordion title="HEARTBEAT.md — контрольний список Heartbeat">
|
||||
Необов’язковий короткий контрольний список для запусків Heartbeat. Тримайте його коротким, щоб не витрачати зайві токени.
|
||||
Необов’язковий невеликий контрольний список для запусків Heartbeat. Тримайте його коротким, щоб уникати витрат токенів.
|
||||
</Accordion>
|
||||
<Accordion title="BOOT.md — контрольний список запуску">
|
||||
Необов’язковий контрольний список запуску, який автоматично виконується під час перезапуску Gateway (коли ввімкнено [внутрішні хуки](/uk/automation/hooks)). Тримайте його коротким; для вихідних надсилань використовуйте інструмент повідомлень.
|
||||
Необов’язковий контрольний список запуску, який виконується автоматично під час перезапуску Gateway (коли ввімкнено [internal hooks](/uk/automation/hooks)). Тримайте його коротким; використовуйте інструмент повідомлень для вихідних надсилань.
|
||||
</Accordion>
|
||||
<Accordion title="BOOTSTRAP.md — ритуал першого запуску">
|
||||
Одноразовий ритуал першого запуску. Створюється лише для абсолютно нового робочого простору. Видаліть його після завершення ритуалу.
|
||||
</Accordion>
|
||||
<Accordion title="memory/YYYY-MM-DD.md — щоденний журнал пам’яті">
|
||||
Щоденний журнал пам’яті (один файл на день). Рекомендується читати сьогоднішній і вчорашній файли на початку сесії.
|
||||
Щоденний журнал пам’яті (один файл на день). Рекомендовано читати сьогоднішній і вчорашній записи на початку сесії.
|
||||
</Accordion>
|
||||
<Accordion title="MEMORY.md — курувана довгострокова пам’ять (необов’язково)">
|
||||
Курувана довгострокова пам’ять. Завантажуйте її лише в основній приватній сесії (не в спільних/групових контекстах). Перегляньте [Пам’ять](/uk/concepts/memory) щодо процесу та автоматичного скидання пам’яті.
|
||||
<Accordion title="MEMORY.md — упорядкована довгострокова пам’ять (необов’язково)">
|
||||
Упорядкована довгострокова пам’ять. Завантажуйте лише в основній приватній сесії (не в спільних/групових контекстах). Див. [Пам’ять](/uk/concepts/memory), щоб дізнатися про робочий процес і автоматичне скидання пам’яті.
|
||||
</Accordion>
|
||||
<Accordion title="skills/ — Skills робочого простору (необов’язково)">
|
||||
Skills, специфічні для цього робочого простору. Місце Skills із найвищим пріоритетом для цього робочого простору. Має пріоритет над Skills агента проєкту, особистими Skills агента, керованими Skills, вбудованими Skills і `skills.load.extraDirs`, якщо імена збігаються.
|
||||
Skills, специфічні для робочого простору. Розташування Skills з найвищим пріоритетом для цього робочого простору. Перевизначає Skills агента проєкту, персональні Skills агента, керовані Skills, вбудовані Skills і `skills.load.extraDirs`, коли назви збігаються.
|
||||
</Accordion>
|
||||
<Accordion title="canvas/ — файли Canvas UI (необов’язково)">
|
||||
Файли Canvas UI для відображення вузлів (наприклад, `canvas/index.html`).
|
||||
<Accordion title="canvas/ — файли інтерфейсу Canvas (необов’язково)">
|
||||
Файли інтерфейсу Canvas для відображень вузлів (наприклад, `canvas/index.html`).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Note>
|
||||
Якщо якогось bootstrap-файлу бракує, OpenClaw додає в сесію маркер «файл відсутній» і продовжує роботу. Великі bootstrap-файли обрізаються під час вставки; змінити ліміти можна через `agents.defaults.bootstrapMaxChars` (типово: 12000) і `agents.defaults.bootstrapTotalMaxChars` (типово: 60000). `openclaw setup` може відновити відсутні типові файли без перезапису наявних.
|
||||
Якщо якогось bootstrap-файлу бракує, OpenClaw вставляє в сесію маркер «missing file» і продовжує. Великі bootstrap-файли обрізаються під час вставлення; налаштуйте ліміти за допомогою `agents.defaults.bootstrapMaxChars` (типово: 12000) і `agents.defaults.bootstrapTotalMaxChars` (типово: 60000). `openclaw setup` може відтворити відсутні типові файли без перезапису наявних.
|
||||
</Note>
|
||||
|
||||
## Чого НЕМАЄ в робочому просторі
|
||||
|
||||
Ці дані зберігаються в `~/.openclaw/` і їх НЕ слід комітити до репозиторію робочого простору:
|
||||
Це зберігається під `~/.openclaw/` і НЕ має бути закомічене до репозиторію робочого простору:
|
||||
|
||||
- `~/.openclaw/openclaw.json` (конфігурація)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (профілі автентифікації моделі: OAuth + API-ключі)
|
||||
- `~/.openclaw/credentials/` (стан каналу/провайдера плюс застарілі імпортовані дані OAuth)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (профілі автентифікації моделей: OAuth + API-ключі)
|
||||
- `~/.openclaw/agents/<agentId>/agent/codex-home/` (обліковий запис, конфігурація, Skills, plugins і нативний стан потоків виконання Codex для окремого агента)
|
||||
- `~/.openclaw/credentials/` (стан каналів/провайдерів плюс застарілі дані імпорту OAuth)
|
||||
- `~/.openclaw/agents/<agentId>/sessions/` (транскрипти сесій + метадані)
|
||||
- `~/.openclaw/skills/` (керовані Skills)
|
||||
|
||||
Якщо потрібно перенести сесії або конфігурацію, скопіюйте їх окремо й не додавайте до системи контролю версій.
|
||||
Якщо потрібно перенести сесії або конфігурацію, скопіюйте їх окремо й не додавайте до контролю версій.
|
||||
|
||||
## Резервне копіювання через Git (рекомендовано, приватно)
|
||||
## Резервна копія в Git (рекомендовано, приватно)
|
||||
|
||||
Ставтеся до робочого простору як до приватної пам’яті. Помістіть його в **приватний** git-репозиторій, щоб мати резервну копію та можливість відновлення.
|
||||
Ставтеся до робочого простору як до приватної пам’яті. Помістіть його в **приватний** git-репозиторій, щоб мати резервну копію й можливість відновлення.
|
||||
|
||||
Виконуйте ці кроки на машині, де працює Gateway (саме там розташований робочий простір).
|
||||
|
||||
<Steps>
|
||||
<Step title="Ініціалізуйте репозиторій">
|
||||
Якщо git встановлено, для абсолютно нових робочих просторів репозиторій ініціалізується автоматично. Якщо цей робочий простір ще не є репозиторієм, виконайте:
|
||||
Якщо git встановлено, абсолютно нові робочі простори ініціалізуються автоматично. Якщо цей робочий простір ще не є репозиторієм, виконайте:
|
||||
|
||||
```bash
|
||||
cd ~/.openclaw/workspace
|
||||
@ -139,13 +140,13 @@ x-i18n:
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Додайте приватний remote">
|
||||
<Step title="Додайте приватний віддалений репозиторій">
|
||||
<Tabs>
|
||||
<Tab title="GitHub web UI">
|
||||
1. Створіть новий **приватний** репозиторій на GitHub.
|
||||
2. Не ініціалізуйте його з README (це допоможе уникнути конфліктів злиття).
|
||||
3. Скопіюйте HTTPS URL remote-репозиторію.
|
||||
4. Додайте remote і виконайте push:
|
||||
2. Не ініціалізуйте з README (щоб уникнути конфліктів злиття).
|
||||
3. Скопіюйте HTTPS URL віддаленого репозиторію.
|
||||
4. Додайте віддалений репозиторій і запуште:
|
||||
|
||||
```bash
|
||||
git branch -M main
|
||||
@ -161,9 +162,9 @@ x-i18n:
|
||||
</Tab>
|
||||
<Tab title="GitLab web UI">
|
||||
1. Створіть новий **приватний** репозиторій на GitLab.
|
||||
2. Не ініціалізуйте його з README (це допоможе уникнути конфліктів злиття).
|
||||
3. Скопіюйте HTTPS URL remote-репозиторію.
|
||||
4. Додайте remote і виконайте push:
|
||||
2. Не ініціалізуйте з README (щоб уникнути конфліктів злиття).
|
||||
3. Скопіюйте HTTPS URL віддаленого репозиторію.
|
||||
4. Додайте віддалений репозиторій і запуште:
|
||||
|
||||
```bash
|
||||
git branch -M main
|
||||
@ -174,7 +175,7 @@ x-i18n:
|
||||
</Tabs>
|
||||
|
||||
</Step>
|
||||
<Step title="Подальші оновлення">
|
||||
<Step title="Поточні оновлення">
|
||||
```bash
|
||||
git status
|
||||
git add .
|
||||
@ -189,14 +190,14 @@ x-i18n:
|
||||
<Warning>
|
||||
Навіть у приватному репозиторії уникайте зберігання секретів у робочому просторі:
|
||||
|
||||
- API-ключів, OAuth-токенів, паролів або приватних облікових даних.
|
||||
- Усього, що розміщене в `~/.openclaw/`.
|
||||
- Сирих дампів чатів або чутливих вкладень.
|
||||
- API-ключі, OAuth-токени, паролі або приватні облікові дані.
|
||||
- Будь-що під `~/.openclaw/`.
|
||||
- Необроблені дампи чатів або конфіденційні вкладення.
|
||||
|
||||
Якщо вам все ж потрібно зберігати посилання на чутливі дані, використовуйте заповнювачі та тримайте справжній секрет в іншому місці (менеджер паролів, змінні середовища або `~/.openclaw/`).
|
||||
Якщо вам потрібно зберігати конфіденційні посилання, використовуйте заповнювачі й тримайте справжній секрет в іншому місці (менеджер паролів, змінні середовища або `~/.openclaw/`).
|
||||
</Warning>
|
||||
|
||||
Рекомендований початковий `.gitignore`:
|
||||
Запропонований стартовий `.gitignore`:
|
||||
|
||||
```gitignore
|
||||
.DS_Store
|
||||
@ -210,27 +211,27 @@ x-i18n:
|
||||
|
||||
<Steps>
|
||||
<Step title="Клонуйте репозиторій">
|
||||
Клонуйте репозиторій у потрібний шлях (типово `~/.openclaw/workspace`).
|
||||
Клонуйте репозиторій до потрібного шляху (типово `~/.openclaw/workspace`).
|
||||
</Step>
|
||||
<Step title="Оновіть конфігурацію">
|
||||
Вкажіть `agents.defaults.workspace` на цей шлях у `~/.openclaw/openclaw.json`.
|
||||
Установіть `agents.defaults.workspace` на цей шлях у `~/.openclaw/openclaw.json`.
|
||||
</Step>
|
||||
<Step title="Додайте відсутні файли">
|
||||
Виконайте `openclaw setup --workspace <path>`, щоб додати всі відсутні файли.
|
||||
Виконайте `openclaw setup --workspace <path>`, щоб додати будь-які відсутні файли.
|
||||
</Step>
|
||||
<Step title="Скопіюйте сесії (необов’язково)">
|
||||
Якщо вам потрібні сесії, окремо скопіюйте `~/.openclaw/agents/<agentId>/sessions/` зі старої машини.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Додаткові примітки
|
||||
## Розширені нотатки
|
||||
|
||||
- Багатоагентна маршрутизація може використовувати різні робочі простори для різних агентів. Перегляньте [Маршрутизація каналів](/uk/channels/channel-routing) для конфігурації маршрутизації.
|
||||
- Якщо `agents.defaults.sandbox` увімкнено, неосновні сесії можуть використовувати робочі простори пісочниці для кожної сесії окремо в `agents.defaults.sandbox.workspaceRoot`.
|
||||
- Маршрутизація кількох агентів може використовувати різні робочі простори для кожного агента. Див. [Маршрутизація каналів](/uk/channels/channel-routing) щодо конфігурації маршрутизації.
|
||||
- Якщо `agents.defaults.sandbox` увімкнено, неосновні сесії можуть використовувати робочі простори пісочниці для кожної сесії під `agents.defaults.sandbox.workspaceRoot`.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Heartbeat](/uk/gateway/heartbeat) — файл робочого простору HEARTBEAT.md
|
||||
- [Пісочниця](/uk/gateway/sandboxing) — доступ до робочого простору в середовищах із пісочницею
|
||||
- [Ізоляція пісочниці](/uk/gateway/sandboxing) — доступ до робочого простору в ізольованих середовищах
|
||||
- [Сесія](/uk/concepts/session) — шляхи зберігання сесій
|
||||
- [Standing orders](/uk/automation/standing-orders) — постійні інструкції у файлах робочого простору
|
||||
- [Постійні розпорядження](/uk/automation/standing-orders) — постійні інструкції у файлах робочого простору
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,63 +1,56 @@
|
||||
---
|
||||
read_when:
|
||||
- Додавання або змінення Skills
|
||||
- Зміна контролю доступу до Skills, списків дозволених елементів або правил завантаження
|
||||
- Розуміння пріоритетності Skills і поведінки знімків
|
||||
- Зміна гейтингу Skills, списків дозволеного або правил завантаження
|
||||
- Розуміння пріоритету Skills і поведінки знімків
|
||||
sidebarTitle: Skills
|
||||
summary: 'Skills: керовані та з робочого простору, правила допуску, списки дозволених агентів і підключення конфігурації'
|
||||
summary: 'Skills: керовані та робоча область, правила гейтинг-контролю, allowlist агентів і підключення конфігурації'
|
||||
title: Skills
|
||||
x-i18n:
|
||||
generated_at: "2026-04-30T07:00:34Z"
|
||||
generated_at: "2026-04-30T19:53:32Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: d7dd17f52119bf0a0bb197025070abb68f7667a7d22c3d5fa6ef2f666110a45a
|
||||
source_hash: b58d690786756bd3539940aae9f2abcb8a497798ed7b6afeb5e6d6e255fcf257
|
||||
source_path: tools/skills.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
OpenClaw використовує папки навичок, **сумісні з [AgentSkills](https://agentskills.io)**,
|
||||
щоб навчити агента користуватися інструментами. Кожна навичка — це каталог,
|
||||
що містить `SKILL.md` із YAML-блоком метаданих та інструкціями. OpenClaw
|
||||
завантажує вбудовані навички й додаткові локальні перевизначення та фільтрує
|
||||
їх під час завантаження на основі середовища, конфігурації й наявності
|
||||
бінарних файлів.
|
||||
OpenClaw використовує **сумісні з [AgentSkills](https://agentskills.io)** папки навичок, щоб навчити агента користуватися інструментами. Кожна навичка — це каталог, що містить `SKILL.md` з YAML-frontmatter та інструкціями. OpenClaw завантажує вбудовані навички разом із необов’язковими локальними перевизначеннями та фільтрує їх під час завантаження на основі середовища, конфігурації та наявності бінарних файлів.
|
||||
|
||||
## Розташування та пріоритет
|
||||
|
||||
OpenClaw завантажує навички з цих джерел, **від найвищого пріоритету**:
|
||||
OpenClaw завантажує навички з цих джерел, **спершу з найвищим пріоритетом**:
|
||||
|
||||
| # | Джерело | Шлях |
|
||||
| --- | -------------------------------- | -------------------------------- |
|
||||
| 1 | Навички робочого простору | `<workspace>/skills` |
|
||||
| 2 | Навички агента проєкту | `<workspace>/.agents/skills` |
|
||||
| 3 | Особисті навички агента | `~/.agents/skills` |
|
||||
| 4 | Керовані/локальні навички | `~/.openclaw/skills` |
|
||||
| 5 | Вбудовані навички | постачаються з інсталяцією |
|
||||
| 6 | Додаткові папки навичок | `skills.load.extraDirs` (config) |
|
||||
| # | Джерело | Шлях |
|
||||
| --- | -------------------------- | -------------------------------- |
|
||||
| 1 | Навички робочої області | `<workspace>/skills` |
|
||||
| 2 | Навички агента проєкту | `<workspace>/.agents/skills` |
|
||||
| 3 | Особисті навички агента | `~/.agents/skills` |
|
||||
| 4 | Керовані/локальні навички | `~/.openclaw/skills` |
|
||||
| 5 | Вбудовані навички | постачаються з інсталяцією |
|
||||
| 6 | Додаткові папки навичок | `skills.load.extraDirs` (config) |
|
||||
|
||||
Якщо назва навички конфліктує, перемагає джерело з найвищим пріоритетом.
|
||||
|
||||
## Навички для окремого агента й спільні навички
|
||||
Власний каталог Codex CLI `$CODEX_HOME/skills` не є одним із цих коренів навичок OpenClaw. У режимі Codex harness локальні запуски app-server використовують ізольовані для кожного агента домівки Codex, тому особисті навички Codex CLI не завантажуються неявно. Використайте `openclaw migrate codex --dry-run`, щоб інвентаризувати їх, і `openclaw migrate codex`, щоб вибрати каталоги навичок за допомогою інтерактивного запиту з прапорцями перед копіюванням їх у поточну робочу область агента OpenClaw. Для неінтерактивних запусків повторюйте `--skill <name>` для точних навичок, які потрібно скопіювати.
|
||||
|
||||
У налаштуваннях із **кількома агентами** кожен агент має власний робочий простір:
|
||||
## Навички для окремого агента та спільні навички
|
||||
|
||||
У налаштуваннях із **кількома агентами** кожен агент має власну робочу область:
|
||||
|
||||
| Область | Шлях | Видимо для |
|
||||
| ------------------------ | ------------------------------------------- | ---------------------------------- |
|
||||
| Для окремого агента | `<workspace>/skills` | Лише цього агента |
|
||||
| Агент проєкту | `<workspace>/.agents/skills` | Лише агента цього робочого простору |
|
||||
| Особисті навички агента | `~/.agents/skills` | Усіх агентів на цій машині |
|
||||
| Спільні керовані/локальні | `~/.openclaw/skills` | Усіх агентів на цій машині |
|
||||
| Спільні додаткові каталоги | `skills.load.extraDirs` (найнижчий пріоритет) | Усіх агентів на цій машині |
|
||||
| Агент проєкту | `<workspace>/.agents/skills` | Лише агента цієї робочої області |
|
||||
| Особистий агент | `~/.agents/skills` | Усіх агентів на цій машині |
|
||||
| Спільні керовані/локальні| `~/.openclaw/skills` | Усіх агентів на цій машині |
|
||||
| Спільні додаткові каталоги | `skills.load.extraDirs` (найнижчий пріоритет) | Усіх агентів на цій машині |
|
||||
|
||||
Однакова назва в кількох місцях → перемагає джерело з найвищим пріоритетом. Робочий простір має пріоритет над
|
||||
агентом проєкту, той — над особистими навичками агента, ті — над керованими/локальними, ті — над вбудованими,
|
||||
а вбудовані — над додатковими каталогами.
|
||||
Та сама назва в кількох місцях → перемагає джерело з найвищим пріоритетом. Робоча область має перевагу над агентом проєкту, той — над особистим агентом, той — над керованими/локальними, ті — над вбудованими, а ті — над додатковими каталогами.
|
||||
|
||||
## Списки дозволених навичок агента
|
||||
|
||||
**Розташування** навички та **видимість** навички — це окремі механізми керування.
|
||||
Розташування/пріоритет визначає, яка копія однойменної навички перемагає; списки
|
||||
дозволених навичок агента визначають, які навички агент фактично може використовувати.
|
||||
**Розташування** навички та **видимість** навички — це окремі засоби керування. Розташування/пріоритет визначає, яка копія однойменної навички перемагає; списки дозволених для агента визначають, які навички агент фактично може використовувати.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -75,94 +68,58 @@ OpenClaw завантажує навички з цих джерел, **від н
|
||||
```
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Allowlist rules">
|
||||
- Не вказуйте `agents.defaults.skills`, щоб навички за замовчуванням були необмежені.
|
||||
- Не вказуйте `agents.list[].skills`, щоб успадкувати `agents.defaults.skills`.
|
||||
- Задайте `agents.list[].skills: []`, щоб навичок не було.
|
||||
- Непорожній список `agents.list[].skills` є **остаточним** набором для цього
|
||||
агента — він не об'єднується зі значеннями за замовчуванням.
|
||||
- Ефективний список дозволених навичок застосовується до побудови промпта, виявлення
|
||||
slash-команд навичок, синхронізації пісочниці та знімків навичок.
|
||||
<Accordion title="Правила списку дозволених">
|
||||
- Пропустіть `agents.defaults.skills`, щоб за замовчуванням навички були без обмежень.
|
||||
- Пропустіть `agents.list[].skills`, щоб успадкувати `agents.defaults.skills`.
|
||||
- Установіть `agents.list[].skills: []`, щоб не було жодних навичок.
|
||||
- Непорожній список `agents.list[].skills` є **остаточним** набором для цього агента — він не об’єднується із замовчуваннями.
|
||||
- Ефективний список дозволених застосовується до побудови prompt, виявлення slash-команд навичок, синхронізації sandbox і знімків навичок.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Plugins і навички
|
||||
|
||||
Plugins можуть постачати власні навички, вказуючи каталоги `skills` в
|
||||
`openclaw.plugin.json` (шляхи відносно кореня Plugin). Навички Plugin
|
||||
завантажуються, коли Plugin увімкнено. Це правильне місце для специфічних
|
||||
для інструмента робочих посібників, які надто довгі для опису інструмента,
|
||||
але мають бути доступними щоразу, коли Plugin встановлено — наприклад,
|
||||
браузерний Plugin постачає навичку `browser-automation` для багатокрокового
|
||||
керування браузером.
|
||||
Plugins можуть постачати власні навички, перелічуючи каталоги `skills` в `openclaw.plugin.json` (шляхи відносно кореня Plugin). Навички Plugin завантажуються, коли Plugin увімкнено. Це правильне місце для специфічних для інструмента робочих посібників, які занадто довгі для опису інструмента, але мають бути доступні щоразу, коли Plugin інстальовано — наприклад, браузерний Plugin постачає навичку `browser-automation` для багатоетапного керування браузером.
|
||||
|
||||
Каталоги навичок Plugin об'єднуються в той самий шлях із низьким пріоритетом,
|
||||
що й `skills.load.extraDirs`, тому однойменна вбудована, керована, агентська
|
||||
навичка або навичка робочого простору перевизначає їх. Їх можна обмежити через
|
||||
`metadata.openclaw.requires.config` у записі конфігурації Plugin.
|
||||
Каталоги навичок Plugin об’єднуються в той самий шлях із низьким пріоритетом, що й `skills.load.extraDirs`, тому однойменна вбудована, керована, агентська навичка або навичка робочої області перевизначає їх. Ви можете обмежувати їх через `metadata.openclaw.requires.config` у записі конфігурації Plugin.
|
||||
|
||||
Дивіться [Plugins](/uk/tools/plugin) щодо виявлення/конфігурації та [Інструменти](/uk/tools) щодо
|
||||
поверхні інструментів, якої навчають ці навички.
|
||||
Див. [Plugins](/uk/tools/plugin) для виявлення/конфігурації та [Інструменти](/uk/tools) для поверхні інструментів, яких навчають ці навички.
|
||||
|
||||
## Skill Workshop
|
||||
|
||||
Додатковий експериментальний Plugin **Skill Workshop** може створювати або оновлювати
|
||||
навички робочого простору з повторно використовуваних процедур, помічених під час роботи агента. Він
|
||||
вимкнений за замовчуванням і має бути явно увімкнений через
|
||||
`plugins.entries.skill-workshop`.
|
||||
Необов’язковий експериментальний Plugin **Skill Workshop** може створювати або оновлювати навички робочої області з повторно використовуваних процедур, помічених під час роботи агента. Він вимкнений за замовчуванням і має бути явно ввімкнений через `plugins.entries.skill-workshop`.
|
||||
|
||||
Skill Workshop записує лише в `<workspace>/skills`, сканує згенерований
|
||||
вміст, підтримує очікуване схвалення або автоматичні безпечні записи, поміщає
|
||||
небезпечні пропозиції в карантин і оновлює знімок навичок після успішних
|
||||
записів, щоб нові навички ставали доступними без перезапуску Gateway.
|
||||
Skill Workshop записує лише в `<workspace>/skills`, сканує згенерований вміст, підтримує очікування схвалення або автоматичні безпечні записи, поміщає небезпечні пропозиції в карантин і оновлює знімок навичок після успішних записів, щоб нові навички ставали доступними без перезапуску Gateway.
|
||||
|
||||
Використовуйте його для виправлень на кшталт _"наступного разу перевіряй атрибуцію GIF"_ або
|
||||
здобутих практикою робочих процесів, як-от контрольні списки QA для медіа. Починайте з очікування
|
||||
схвалення; автоматичні записи використовуйте лише в довірених робочих просторах після перегляду
|
||||
його пропозицій. Повний посібник: [Plugin Skill Workshop](/uk/plugins/skill-workshop).
|
||||
Використовуйте його для виправлень на кшталт _"наступного разу перевірити атрибуцію GIF"_ або здобутих досвідом робочих процесів, як-от чеклістів QA для медіа. Починайте з очікування схвалення; використовуйте автоматичні записи лише в довірених робочих областях після перегляду його пропозицій. Повний посібник: [Plugin Skill Workshop](/uk/plugins/skill-workshop).
|
||||
|
||||
## ClawHub (встановлення та синхронізація)
|
||||
## ClawHub (інсталяція та синхронізація)
|
||||
|
||||
[ClawHub](https://clawhub.ai) — це публічний реєстр навичок для OpenClaw.
|
||||
Використовуйте нативні команди `openclaw skills` для пошуку/встановлення/оновлення або окремий
|
||||
`clawhub` CLI для робочих процесів публікації/синхронізації. Повний посібник:
|
||||
[ClawHub](/uk/tools/clawhub).
|
||||
[ClawHub](https://clawhub.ai) — це публічний реєстр навичок для OpenClaw. Використовуйте нативні команди `openclaw skills` для виявлення/інсталяції/оновлення або окремий CLI `clawhub` для робочих процесів публікації/синхронізації. Повний посібник: [ClawHub](/uk/tools/clawhub).
|
||||
|
||||
| Дія | Команда |
|
||||
| ---------------------------------------- | -------------------------------------- |
|
||||
| Встановити навичку в робочий простір | `openclaw skills install <skill-slug>` |
|
||||
| Оновити всі встановлені навички | `openclaw skills update --all` |
|
||||
| Синхронізувати (сканування + публікація оновлень) | `clawhub sync --all` |
|
||||
| Інсталювати навичку в робочу область | `openclaw skills install <skill-slug>` |
|
||||
| Оновити всі інстальовані навички | `openclaw skills update --all` |
|
||||
| Синхронізувати (сканувати + публікувати оновлення) | `clawhub sync --all` |
|
||||
|
||||
Нативна команда `openclaw skills install` встановлює в каталог активного робочого простору
|
||||
`skills/`. Окремий `clawhub` CLI також встановлює в
|
||||
`./skills` у вашому поточному робочому каталозі (або повертається до
|
||||
налаштованого робочого простору OpenClaw). OpenClaw підхоплює це як
|
||||
`<workspace>/skills` у наступному сеансі.
|
||||
Налаштовані корені навичок також підтримують один рівень групування, наприклад
|
||||
`skills/<group>/<skill>/SKILL.md`, тому пов'язані сторонні навички можна
|
||||
тримати в спільній папці без широкого рекурсивного сканування.
|
||||
Нативна команда `openclaw skills install` інсталює в каталог `skills/` активної робочої області. Окремий CLI `clawhub` також інсталює в `./skills` у вашому поточному робочому каталозі (або повертається до налаштованої робочої області OpenClaw). OpenClaw підхоплює це як `<workspace>/skills` у наступному сеансі.
|
||||
Налаштовані корені навичок також підтримують один рівень групування, наприклад `skills/<group>/<skill>/SKILL.md`, тож пов’язані сторонні навички можна зберігати в спільній папці без широкого рекурсивного сканування.
|
||||
|
||||
Сторінки навичок ClawHub показують найактуальніший стан перевірки безпеки перед встановленням,
|
||||
зі сторінками деталей сканера для VirusTotal, ClawScan і статичного аналізу.
|
||||
`openclaw skills install <slug>` залишається лише шляхом встановлення; видавці
|
||||
виправляють хибні спрацювання через панель ClawHub або
|
||||
`clawhub skill rescan <slug>`.
|
||||
Сторінки навичок ClawHub показують найновіший стан сканування безпеки перед інсталяцією, зі сторінками деталей сканерів для VirusTotal, ClawScan і статичного аналізу. `openclaw skills install <slug>` залишається лише шляхом інсталяції; видавці усувають хибнопозитивні спрацювання через панель ClawHub або `clawhub skill rescan <slug>`.
|
||||
|
||||
## Безпека
|
||||
|
||||
<Warning>
|
||||
Ставтеся до сторонніх навичок як до **ненадійного коду**. Прочитайте їх перед увімкненням.
|
||||
Для ненадійних вхідних даних і ризикованих інструментів надавайте перевагу запуску в пісочниці. Дивіться
|
||||
[Пісочниця](/uk/gateway/sandboxing) щодо засобів керування на боці агента.
|
||||
Ставтеся до сторонніх навичок як до **недовіреного коду**. Читайте їх перед увімкненням. Надавайте перевагу sandbox-запускам для недовірених вхідних даних і ризикованих інструментів. Див. [Sandboxing](/uk/gateway/sandboxing) щодо засобів керування на боці агента.
|
||||
</Warning>
|
||||
|
||||
- Виявлення навичок у робочому просторі та додаткових каталогах приймає лише корені навичок і файли `SKILL.md`, чий розв'язаний канонічний шлях залишається всередині налаштованого кореня.
|
||||
- Встановлення залежностей навичок через Gateway (`skills.install`, початкове налаштування та UI налаштувань Skills) запускають вбудований сканер небезпечного коду перед виконанням метаданих інсталятора. Знахідки `critical` блокують за замовчуванням, якщо викликач явно не задає небезпечне перевизначення; підозрілі знахідки все одно лише попереджають.
|
||||
- `openclaw skills install <slug>` працює інакше — вона завантажує папку навички ClawHub у робочий простір і не використовує шлях метаданих інсталятора, описаний вище.
|
||||
- `skills.entries.*.env` і `skills.entries.*.apiKey` інжектують секрети в процес **хоста** для цього ходу агента (не в пісочницю). Не допускайте потрапляння секретів у промпти й журнали.
|
||||
- Виявлення навичок робочої області та додаткових каталогів приймає лише корені навичок і файли `SKILL.md`, чий розв’язаний realpath залишається всередині налаштованого кореня.
|
||||
- Інсталяції залежностей навичок через Gateway (`skills.install`, onboarding та інтерфейс налаштувань Skills) запускають вбудований сканер небезпечного коду перед виконанням метаданих інсталятора. Знахідки `critical` блокують за замовчуванням, якщо викликач явно не встановив небезпечне перевизначення; підозрілі знахідки все одно лише попереджають.
|
||||
- `openclaw skills install <slug>` відрізняється — він завантажує папку навички ClawHub у робочу область і не використовує наведений вище шлях метаданих інсталятора.
|
||||
- `skills.entries.*.env` і `skills.entries.*.apiKey` впроваджують секрети в процес **хоста** для цього ходу агента (не в sandbox). Не допускайте потрапляння секретів у prompt і журнали.
|
||||
|
||||
Для ширшої моделі загроз і контрольних списків дивіться [Безпека](/uk/gateway/security).
|
||||
Ширшу модель загроз і чеклісти див. у [Безпека](/uk/gateway/security).
|
||||
|
||||
## Формат SKILL.md
|
||||
|
||||
@ -175,30 +132,27 @@ description: Generate or edit images via a provider-backed image workflow
|
||||
---
|
||||
```
|
||||
|
||||
OpenClaw дотримується специфікації AgentSkills щодо структури/призначення. Парсер, який використовує
|
||||
вбудований агент, підтримує лише **однорядкові** ключі блоку метаданих;
|
||||
`metadata` має бути **однорядковим JSON-об'єктом**. Використовуйте `{baseDir}` в
|
||||
інструкціях, щоб посилатися на шлях папки навички.
|
||||
OpenClaw дотримується специфікації AgentSkills для макета/наміру. Парсер, який використовує вбудований агент, підтримує лише **однорядкові** ключі frontmatter; `metadata` має бути **однорядковим JSON-об’єктом**. Використовуйте `{baseDir}` в інструкціях, щоб посилатися на шлях папки навички.
|
||||
|
||||
### Необов'язкові ключі блоку метаданих
|
||||
### Необов’язкові ключі frontmatter
|
||||
|
||||
<ParamField path="homepage" type="string">
|
||||
URL, що відображається як "Вебсайт" в UI Skills для macOS. Також підтримується через `metadata.openclaw.homepage`.
|
||||
URL, що відображається як "Website" в інтерфейсі Skills у macOS. Також підтримується через `metadata.openclaw.homepage`.
|
||||
</ParamField>
|
||||
<ParamField path="user-invocable" type="boolean" default="true">
|
||||
Коли `true`, навичка доступна як користувацька slash-команда.
|
||||
Коли `true`, навичка показується як користувацька slash-команда.
|
||||
</ParamField>
|
||||
<ParamField path="disable-model-invocation" type="boolean" default="false">
|
||||
Коли `true`, навичка виключається з промпта моделі (але все ще доступна через виклик користувачем).
|
||||
Коли `true`, навичка вилучається з prompt моделі (все ще доступна через користувацький виклик).
|
||||
</ParamField>
|
||||
<ParamField path="command-dispatch" type='"tool"'>
|
||||
Коли задано `tool`, slash-команда оминає модель і спрямовується безпосередньо до інструмента.
|
||||
Коли встановлено `tool`, slash-команда обходить модель і напряму передається інструменту.
|
||||
</ParamField>
|
||||
<ParamField path="command-tool" type="string">
|
||||
Назва інструмента, який потрібно викликати, коли задано `command-dispatch: tool`.
|
||||
Назва інструмента для виклику, коли встановлено `command-dispatch: tool`.
|
||||
</ParamField>
|
||||
<ParamField path="command-arg-mode" type='"raw"' default="raw">
|
||||
Для диспетчеризації до інструмента передає сирий рядок аргументів інструменту (без парсингу ядром). Інструмент викликається з `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
|
||||
Для диспетчеризації інструмента передає сирий рядок аргументів інструменту (без core-парсингу). Інструмент викликається з `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
|
||||
</ParamField>
|
||||
|
||||
## Обмеження (фільтри під час завантаження)
|
||||
@ -220,54 +174,50 @@ metadata:
|
||||
---
|
||||
```
|
||||
|
||||
Поля в `metadata.openclaw`:
|
||||
Поля під `metadata.openclaw`:
|
||||
|
||||
<ParamField path="always" type="boolean">
|
||||
Коли `true`, завжди включати навичку (пропускає інші обмеження).
|
||||
Коли `true`, завжди включати навичку (пропустити інші обмеження).
|
||||
</ParamField>
|
||||
<ParamField path="emoji" type="string">
|
||||
Необов'язковий емодзі, який використовує UI Skills для macOS.
|
||||
Необов’язковий emoji, який використовує інтерфейс Skills у macOS.
|
||||
</ParamField>
|
||||
<ParamField path="homepage" type="string">
|
||||
Необов'язковий URL, що відображається як "Вебсайт" в UI Skills для macOS.
|
||||
Необов’язковий URL, що відображається як "Website" в інтерфейсі Skills у macOS.
|
||||
</ParamField>
|
||||
<ParamField path="os" type='"darwin" | "linux" | "win32"' >
|
||||
Необов'язковий список платформ. Якщо задано, навичка придатна лише на цих ОС.
|
||||
Необов’язковий список платформ. Якщо встановлено, навичка придатна лише на цих ОС.
|
||||
</ParamField>
|
||||
<ParamField path="requires.bins" type="string[]">
|
||||
Кожен має бути доступний у `PATH`.
|
||||
Кожен має існувати в `PATH`.
|
||||
</ParamField>
|
||||
<ParamField path="requires.anyBins" type="string[]">
|
||||
Принаймні один має бути доступний у `PATH`.
|
||||
Принаймні один має існувати в `PATH`.
|
||||
</ParamField>
|
||||
<ParamField path="requires.env" type="string[]">
|
||||
Змінна середовища має існувати або бути надана в конфігурації.
|
||||
</ParamField>
|
||||
<ParamField path="requires.config" type="string[]">
|
||||
Список шляхів у `openclaw.json`, які мають мати істинне значення.
|
||||
Список шляхів `openclaw.json`, які мають бути truthy.
|
||||
</ParamField>
|
||||
<ParamField path="primaryEnv" type="string">
|
||||
Назва змінної середовища, пов'язана з `skills.entries.<name>.apiKey`.
|
||||
Назва змінної середовища, пов’язана з `skills.entries.<name>.apiKey`.
|
||||
</ParamField>
|
||||
<ParamField path="install" type="object[]">
|
||||
Необов'язкові специфікації інсталятора, які використовує UI Skills для macOS (brew/node/go/uv/download).
|
||||
Необов’язкові специфікації інсталятора, які використовує інтерфейс Skills у macOS (brew/node/go/uv/download).
|
||||
</ParamField>
|
||||
|
||||
Якщо `metadata.openclaw` відсутній, навичка завжди придатна (якщо її не
|
||||
вимкнено в конфігурації або не заблоковано через `skills.allowBundled` для вбудованих навичок).
|
||||
Якщо `metadata.openclaw` немає, навичка завжди придатна (якщо її не вимкнено в конфігурації або не заблоковано через `skills.allowBundled` для вбудованих навичок).
|
||||
|
||||
<Note>
|
||||
Застарілі блоки `metadata.clawdbot` все ще приймаються, коли
|
||||
`metadata.openclaw` відсутній, тому старіші встановлені навички зберігають свої
|
||||
обмеження залежностей і підказки інсталятора. Нові та оновлені навички мають використовувати
|
||||
`metadata.openclaw`.
|
||||
Застарілі блоки `metadata.clawdbot` досі приймаються, коли `metadata.openclaw` відсутній, тож старіші інстальовані навички зберігають свої обмеження залежностей і підказки інсталятора. Нові й оновлені навички мають використовувати `metadata.openclaw`.
|
||||
</Note>
|
||||
|
||||
### Примітки щодо пісочниці
|
||||
### Примітки щодо Sandboxing
|
||||
|
||||
- `requires.bins` перевіряється на **хості** під час завантаження навички.
|
||||
- Якщо агент працює в пісочниці, бінарний файл також має існувати **всередині контейнера**. Встановіть його через `agents.defaults.sandbox.docker.setupCommand` (або власний образ). `setupCommand` запускається один раз після створення контейнера. Встановлення пакетів також потребує вихідного мережевого доступу, кореневої файлової системи з можливістю запису та користувача root у пісочниці.
|
||||
- Приклад: навичці `summarize` (`skills/summarize/SKILL.md`) потрібен `summarize` CLI в контейнері пісочниці, щоб працювати там.
|
||||
- Якщо агент працює в sandbox, бінарний файл також має існувати **всередині контейнера**. Інсталюйте його через `agents.defaults.sandbox.docker.setupCommand` (або власний образ). `setupCommand` виконується один раз після створення контейнера. Інсталяції пакетів також потребують мережевого виходу, доступної для запису кореневої FS і root-користувача в sandbox.
|
||||
- Приклад: навичці `summarize` (`skills/summarize/SKILL.md`) потрібен CLI `summarize` у sandbox-контейнері, щоб запускатися там.
|
||||
|
||||
### Специфікації інсталятора
|
||||
|
||||
@ -298,24 +248,24 @@ metadata:
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Правила вибору інсталятора">
|
||||
- Якщо вказано кілька інсталяторів, 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; середовище виконання Gateway все одно має бути Node — Bun не рекомендовано для WhatsApp/Telegram.
|
||||
- Вибір інсталятора за підтримки Gateway керується пріоритетами: коли специфікації встановлення змішують типи, OpenClaw віддає перевагу Homebrew, якщо `skills.install.preferBrew` увімкнено і `brew` існує, потім `uv`, потім налаштованому менеджеру node, а далі іншим резервним варіантам, як-от `go` або `download`.
|
||||
- Якщо кожна специфікація встановлення має тип `download`, OpenClaw показує всі варіанти завантаження замість того, щоб зводити їх до одного пріоритетного інсталятора.
|
||||
- Інсталяції Node враховують `skills.install.nodeManager` в `openclaw.json` (типово: npm; варіанти: npm/pnpm/yarn/bun). Це впливає лише на інсталяцію skills; середовище виконання Gateway все одно має бути Node — Bun не рекомендовано для WhatsApp/Telegram.
|
||||
- Вибір інсталятора на базі Gateway керується пріоритетами: коли специфікації інсталяції змішують типи, OpenClaw віддає перевагу Homebrew, якщо `skills.install.preferBrew` увімкнено і `brew` існує, потім `uv`, потім налаштованому менеджеру node, а тоді іншим резервним варіантам, як-от `go` або `download`.
|
||||
- Якщо кожна специфікація інсталяції має тип `download`, OpenClaw показує всі варіанти завантаження замість того, щоб зводити їх до одного пріоритетного інсталятора.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Подробиці для кожного інсталятора">
|
||||
- **Встановлення Go:** якщо `go` відсутній, а `brew` доступний, Gateway спочатку встановлює Go через Homebrew і, коли можливо, задає `GOBIN` як `bin` Homebrew.
|
||||
- **Встановлення через завантаження:** `url` (обов’язково), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (типово: auto, коли виявлено архів), `stripComponents`, `targetDir` (типово: `~/.openclaw/tools/<skillKey>`).
|
||||
<Accordion title="Деталі для кожного інсталятора">
|
||||
- **Інсталяції Go:** якщо `go` відсутній, а `brew` доступний, gateway спочатку встановлює Go через Homebrew і за можливості встановлює `GOBIN` на `bin` Homebrew.
|
||||
- **Інсталяції через завантаження:** `url` (обов’язково), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (типово: auto, коли виявлено архів), `stripComponents`, `targetDir` (типово: `~/.openclaw/tools/<skillKey>`).
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Перевизначення конфігурації
|
||||
|
||||
Вбудовані й керовані Skills можна вмикати або вимикати та передавати їм значення env
|
||||
Вбудовані та керовані skills можна вмикати або вимикати та передавати їм значення env
|
||||
у `skills.entries` в `~/.openclaw/openclaw.json`:
|
||||
|
||||
```json5
|
||||
@ -341,77 +291,77 @@ metadata:
|
||||
```
|
||||
|
||||
<ParamField path="enabled" type="boolean">
|
||||
`false` вимикає Skills, навіть якщо він вбудований або встановлений.
|
||||
Вбудований Skills `coding-agent` потребує явного ввімкнення: задайте
|
||||
`skills.entries.coding-agent.enabled: true`, перш ніж відкривати його агентам,
|
||||
а потім переконайтеся, що один із `claude`, `codex`, `opencode` або `pi` встановлено та
|
||||
автентифіковано для його власного CLI.
|
||||
`false` вимикає skill, навіть якщо він вбудований або встановлений.
|
||||
Вбудований skill `coding-agent` є opt-in: задайте
|
||||
`skills.entries.coding-agent.enabled: true`, перш ніж відкривати його для агентів,
|
||||
а потім переконайтеся, що один із `claude`, `codex`, `opencode` або `pi` встановлений і
|
||||
автентифікований для власного CLI.
|
||||
</ParamField>
|
||||
<ParamField path="apiKey" type='string | { source, provider, id }'>
|
||||
Зручний спосіб для Skills, які оголошують `metadata.openclaw.primaryEnv`. Підтримує відкритий текст або SecretRef.
|
||||
Зручний спосіб для skills, які оголошують `metadata.openclaw.primaryEnv`. Підтримує відкритий текст або SecretRef.
|
||||
</ParamField>
|
||||
<ParamField path="env" type="Record<string, string>">
|
||||
Впроваджується лише якщо змінну ще не задано в процесі.
|
||||
</ParamField>
|
||||
<ParamField path="config" type="object">
|
||||
Необов’язковий контейнер для власних полів окремого Skills. Власні ключі мають бути тут.
|
||||
Необов’язковий контейнер для власних полів окремого skill. Власні ключі мають бути тут.
|
||||
</ParamField>
|
||||
<ParamField path="allowBundled" type="string[]">
|
||||
Необов’язковий список дозволених лише для **вбудованих** Skills. Якщо задано, придатними є лише вбудовані Skills зі списку (керовані Skills і Skills робочого простору не зачіпаються).
|
||||
Необов’язковий allowlist лише для **вбудованих** skills. Якщо задано, придатними є лише вбудовані skills зі списку (керовані skills і skills робочого простору не зачіпаються).
|
||||
</ParamField>
|
||||
|
||||
Якщо назва Skills містить дефіси, візьміть ключ у лапки (JSON5 дозволяє ключі
|
||||
в лапках). Ключі конфігурації типово відповідають **назві Skills** — якщо Skills
|
||||
Якщо назва skill містить дефіси, візьміть ключ у лапки (JSON5 дозволяє ключі
|
||||
в лапках). Ключі конфігурації типово відповідають **назві skill** — якщо skill
|
||||
визначає `metadata.openclaw.skillKey`, використовуйте цей ключ у `skills.entries`.
|
||||
|
||||
<Note>
|
||||
Для стандартної генерації або редагування зображень в OpenClaw використовуйте основний
|
||||
Для штатної генерації/редагування зображень всередині OpenClaw використовуйте основний
|
||||
інструмент `image_generate` з `agents.defaults.imageGenerationModel` замість
|
||||
вбудованого Skills. Приклади Skills тут призначені для власних або сторонніх
|
||||
вбудованого skill. Приклади skills тут призначені для власних або сторонніх
|
||||
робочих процесів. Для нативного аналізу зображень використовуйте інструмент `image` з
|
||||
`agents.defaults.imageModel`. Якщо ви вибираєте `openai/*`, `google/*`,
|
||||
`fal/*` або іншу модель зображень, специфічну для провайдера, також додайте ключ
|
||||
автентифікації/API цього провайдера.
|
||||
`fal/*` або іншу модель зображень, специфічну для провайдера, додайте також
|
||||
автентифікацію/API-ключ цього провайдера.
|
||||
</Note>
|
||||
|
||||
## Впровадження середовища
|
||||
|
||||
Коли запускається виконання агента, OpenClaw:
|
||||
Коли починається запуск агента, OpenClaw:
|
||||
|
||||
1. Читає метадані Skills.
|
||||
1. Читає метадані skill.
|
||||
2. Застосовує `skills.entries.<key>.env` і `skills.entries.<key>.apiKey` до `process.env`.
|
||||
3. Будує системний промпт із **придатними** Skills.
|
||||
3. Формує системний промпт із **придатними** skills.
|
||||
4. Відновлює початкове середовище після завершення запуску.
|
||||
|
||||
Впровадження середовища **обмежене запуском агента**, а не глобальним середовищем
|
||||
оболонки.
|
||||
Впровадження середовища **обмежене запуском агента**, а не глобальним
|
||||
середовищем оболонки.
|
||||
|
||||
Для вбудованого бекенда `claude-cli` OpenClaw також матеріалізує той самий
|
||||
придатний знімок як тимчасовий Plugin Claude Code і передає його через
|
||||
`--plugin-dir`. Після цього Claude Code може використовувати свій нативний резолвер Skills, тоді як
|
||||
OpenClaw усе ще керує пріоритетом, списками дозволених для окремих агентів, gating і
|
||||
впровадженням env/API-ключів `skills.entries.*`. Інші бекенди CLI використовують лише
|
||||
каталог промптів.
|
||||
придатний знімок як тимчасовий Plugin Claude Code і передає його з
|
||||
`--plugin-dir`. Claude Code після цього може використовувати власний resolver skills, тоді як
|
||||
OpenClaw і надалі керує пріоритетом, allowlist для кожного агента, gating і
|
||||
впровадженням env/API-ключів `skills.entries.*`. Інші CLI-бекенди використовують
|
||||
лише каталог промптів.
|
||||
|
||||
## Знімки й оновлення
|
||||
## Знімки та оновлення
|
||||
|
||||
OpenClaw створює знімок придатних Skills **коли починається сесія** і
|
||||
повторно використовує цей список для наступних ходів у тій самій сесії. Зміни в
|
||||
Skills або конфігурації набувають чинності під час наступної нової сесії.
|
||||
OpenClaw робить знімок придатних skills **коли починається сеанс** і
|
||||
повторно використовує цей список для наступних ходів у тому самому сеансі. Зміни в
|
||||
skills або конфігурації набирають чинності в наступному новому сеансі.
|
||||
|
||||
Skills можуть оновлюватися посеред сесії у двох випадках:
|
||||
Skills можуть оновлюватися посеред сеансу у двох випадках:
|
||||
|
||||
- Спостерігач за Skills увімкнений.
|
||||
- З’являється новий придатний віддалений вузол.
|
||||
- Увімкнено спостерігач skills.
|
||||
- З’являється новий придатний віддалений node.
|
||||
|
||||
Сприймайте це як **гаряче перезавантаження**: оновлений список підхоплюється під час
|
||||
наступного ходу агента. Якщо ефективний список дозволених Skills для агента змінюється для цієї
|
||||
сесії, OpenClaw оновлює знімок, щоб видимі Skills залишалися узгодженими
|
||||
наступного ходу агента. Якщо ефективний allowlist skills агента змінюється для цього
|
||||
сеансу, OpenClaw оновлює знімок, щоб видимі skills лишалися узгодженими
|
||||
з поточним агентом.
|
||||
|
||||
### Спостерігач за Skills
|
||||
### Спостерігач skills
|
||||
|
||||
Типово OpenClaw стежить за папками Skills і підвищує версію знімка Skills,
|
||||
Типово OpenClaw спостерігає за папками skills і оновлює знімок skills,
|
||||
коли файли `SKILL.md` змінюються. Налаштування в `skills.load`:
|
||||
|
||||
```json5
|
||||
@ -427,26 +377,26 @@ Skills можуть оновлюватися посеред сесії у дво
|
||||
|
||||
### Віддалені вузли macOS (Linux gateway)
|
||||
|
||||
Якщо Gateway працює на Linux, але підключено **вузол macOS** із дозволеним
|
||||
`system.run` (безпека схвалень Exec не встановлена в `deny`),
|
||||
OpenClaw може вважати Skills лише для macOS придатними, коли потрібні
|
||||
бінарні файли наявні на цьому вузлі. Агент має виконувати ці Skills
|
||||
Якщо Gateway працює на Linux, але підключений **вузол macOS** з дозволеним
|
||||
`system.run` (безпеку затверджень Exec не встановлено на `deny`),
|
||||
OpenClaw може вважати skills лише для macOS придатними, коли потрібні
|
||||
бінарні файли присутні на цьому вузлі. Агент має виконувати ці skills
|
||||
через інструмент `exec` з `host=node`.
|
||||
|
||||
Це залежить від того, що вузол повідомляє про підтримку команд, і від перевірки bin
|
||||
через `system.which` або `system.run`. Офлайн-вузли **не** роблять
|
||||
Skills лише для віддаленого запуску видимими. Якщо підключений вузол перестає відповідати на перевірки bin,
|
||||
OpenClaw очищає його кешовані збіги bin, щоб агенти більше не бачили
|
||||
Skills, які наразі не можуть там виконуватися.
|
||||
skills лише для віддаленого виконання видимими. Якщо підключений вузол перестає відповідати на bin
|
||||
probes, OpenClaw очищає кешовані збіги bin, щоб агенти більше не бачили
|
||||
skills, які наразі не можуть там виконуватися.
|
||||
|
||||
## Вплив на токени
|
||||
|
||||
Коли Skills придатні, OpenClaw впроваджує компактний XML-список доступних
|
||||
Skills у системний промпт (через `formatSkillsForPrompt` у
|
||||
`pi-coding-agent`). Вартість є детермінованою:
|
||||
Коли skills придатні, OpenClaw впроваджує компактний XML-список доступних
|
||||
skills у системний промпт (через `formatSkillsForPrompt` у
|
||||
`pi-coding-agent`). Вартість детермінована:
|
||||
|
||||
- **Базові накладні витрати** (лише коли є ≥1 Skills): 195 символів.
|
||||
- **На один Skills:** 97 символів + довжина XML-екранованих значень `<name>`, `<description>` і `<location>`.
|
||||
- **Базові накладні витрати** (лише коли skill ≥1): 195 символів.
|
||||
- **На skill:** 97 символів + довжина XML-екранованих значень `<name>`, `<description>` і `<location>`.
|
||||
|
||||
Формула (символи):
|
||||
|
||||
@ -454,29 +404,29 @@ Skills у системний промпт (через `formatSkillsForPrompt` у
|
||||
total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped))
|
||||
```
|
||||
|
||||
XML-екранування розширює `& < > " '` до сутностей (`&`, `<` тощо),
|
||||
збільшуючи довжину. Кількість токенів залежить від токенізатора моделі. Приблизна
|
||||
оцінка в стилі OpenAI становить ~4 символи/токен, тому **97 символів ≈ 24 токени** на
|
||||
Skills плюс фактичні довжини ваших полів.
|
||||
XML-екранування розгортає `& < > " '` у сутності (`&`, `<` тощо),
|
||||
збільшуючи довжину. Кількість токенів залежить від токенізатора моделі. Груба
|
||||
оцінка в стилі OpenAI становить ~4 символи/токен, тож **97 символів ≈ 24 токени** на
|
||||
skill плюс фактична довжина ваших полів.
|
||||
|
||||
## Життєвий цикл керованих Skills
|
||||
## Життєвий цикл керованих skills
|
||||
|
||||
OpenClaw постачає базовий набір Skills як **вбудовані Skills** разом з
|
||||
інсталяцією (пакет npm або OpenClaw.app). `~/.openclaw/skills` існує для
|
||||
локальних перевизначень — наприклад, щоб зафіксувати версію або пропатчити Skills без
|
||||
OpenClaw постачає базовий набір skills як **вбудовані skills** разом з
|
||||
інсталяцією (npm-пакет або OpenClaw.app). `~/.openclaw/skills` існує для
|
||||
локальних перевизначень — наприклад, щоб закріпити або виправити skill без
|
||||
зміни вбудованої копії. Skills робочого простору належать користувачу й перевизначають
|
||||
обидва варіанти в разі конфліктів імен.
|
||||
обидва джерела за конфлікту назв.
|
||||
|
||||
## Шукаєте більше Skills?
|
||||
## Шукаєте більше skills?
|
||||
|
||||
Перегляньте [https://clawhub.ai](https://clawhub.ai). Повна схема конфігурації:
|
||||
[Конфігурація Skills](/uk/tools/skills-config).
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [ClawHub](/uk/tools/clawhub) — публічний реєстр Skills
|
||||
- [Створення Skills](/uk/tools/creating-skills) — створення власних Skills
|
||||
- [Plugins](/uk/tools/plugin) — огляд системи Plugin
|
||||
- [Plugin Skill Workshop](/uk/plugins/skill-workshop) — генерування Skills з роботи агента
|
||||
- [Конфігурація Skills](/uk/tools/skills-config) — довідник із конфігурації Skills
|
||||
- [Slash-команди](/uk/tools/slash-commands) — усі доступні slash-команди
|
||||
- [ClawHub](/uk/tools/clawhub) — публічний реєстр skills
|
||||
- [Створення skills](/uk/tools/creating-skills) — створення власних skills
|
||||
- [Plugins](/uk/tools/plugin) — огляд системи plugin
|
||||
- [Plugin Skill Workshop](/uk/plugins/skill-workshop) — генерування skills з роботи агента
|
||||
- [Конфігурація Skills](/uk/tools/skills-config) — довідник конфігурації skills
|
||||
- [Команди зі скісною рискою](/uk/tools/slash-commands) — усі доступні команди зі скісною рискою
|
||||
|
||||
Loading…
Reference in New Issue
Block a user