chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-21 22:19:42 +00:00
parent ed12e05f02
commit 10529b2fbd
2 changed files with 208 additions and 186 deletions

View File

@ -1,25 +1,42 @@
---
read_when:
- Вам потрібен точний сигнатурний тип `definePluginEntry` або `defineChannelPluginEntry`
- Ви хочете зрозуміти режим реєстрації (`full` проти `setup` проти метаданих CLI)
- Вам потрібен точний сигнатурний тип definePluginEntry або defineChannelPluginEntry
- Ви хочете зрозуміти режим реєстрації (повний vs setup vs метадані CLI)
- Ви шукаєте параметри точки входу
sidebarTitle: Entry Points
summary: Довідник для definePluginEntry, defineChannelPluginEntry та defineSetupPluginEntry
summary: Довідка для definePluginEntry, defineChannelPluginEntry і defineSetupPluginEntry
title: Точки входу Plugin
x-i18n:
generated_at: "2026-04-15T16:36:52Z"
generated_at: "2026-04-21T22:18:59Z"
model: gpt-5.4
provider: openai
source_hash: aabca25bc9b8ff1b5bb4852bafe83640ffeba006ea6b6a8eff4e2c37a10f1fe4
source_hash: 304501849aa835b775f9b7b85c507aaeb532f90bf6473d7644f0e41144d9a914
source_path: plugins/sdk-entrypoints.md
workflow: 15
---
# Точки входу Plugin
Кожен plugin експортує типовий об’єкт точки входу. SDK надає три хелпери для
Кожен plugin експортує типовий об’єкт точки входу. SDK надає три допоміжні функції для
їх створення.
Для встановлених plugin-ів `package.json` має спрямовувати завантаження під час виконання на зібраний
JavaScript, коли він доступний:
```json
{
"openclaw": {
"extensions": ["./src/index.ts"],
"runtimeExtensions": ["./dist/index.js"],
"setupEntry": "./src/setup-entry.ts",
"runtimeSetupEntry": "./dist/setup-entry.js"
}
}
```
`extensions` і `setupEntry` залишаються чинними записами вихідного коду для розробки у workspace та git
checkout. `runtimeExtensions` і `runtimeSetupEntry` мають пріоритет, коли OpenClaw завантажує встановлений package, і дають змогу npm package-ам уникати компіляції TypeScript під час виконання. Якщо встановлений package оголошує лише запис вихідного коду TypeScript, OpenClaw використає відповідний зібраний `dist/*.js` peer, якщо він існує, а потім повернеться до вихідного коду TypeScript.
<Tip>
**Шукаєте покрокове пояснення?** Дивіться [Channel Plugins](/uk/plugins/sdk-channel-plugins)
або [Provider Plugins](/uk/plugins/sdk-provider-plugins) для покрокових інструкцій.
@ -29,7 +46,7 @@ x-i18n:
**Імпорт:** `openclaw/plugin-sdk/plugin-entry`
Для provider plugins, tool plugins, hook plugins і всього, що **не** є
Для plugin-ів провайдерів, plugin-ів інструментів, plugin-ів хуків і всього, що **не є**
каналом обміну повідомленнями.
```typescript
@ -50,7 +67,7 @@ export default definePluginEntry({
});
```
| Поле | Тип | Обов’язково | Типово |
| Поле | Тип | Обов’язкове | Типове значення |
| -------------- | ---------------------------------------------------------------- | ----------- | ------------------- |
| `id` | `string` | Так | — |
| `name` | `string` | Так | — |
@ -60,18 +77,18 @@ export default definePluginEntry({
| `register` | `(api: OpenClawPluginApi) => void` | Так | — |
- `id` має збігатися з вашим маніфестом `openclaw.plugin.json`.
- `kind` призначений для ексклюзивних слотів: `"memory"` або `"context-engine"`.
- `kind` призначене для ексклюзивних слотів: `"memory"` або `"context-engine"`.
- `configSchema` може бути функцією для лінивого обчислення.
- OpenClaw розв’язує та мемоїзує цю схему під час першого доступу, тож затратні
побудовники схем запускаються лише один раз.
- OpenClaw розв’язує та мемоізує цю схему під час першого доступу, тому дорогі
побудовники схем виконуються лише один раз.
## `defineChannelPluginEntry`
**Імпорт:** `openclaw/plugin-sdk/channel-core`
Обгортає `definePluginEntry` логікою, специфічною для каналу. Автоматично викликає
`api.registerChannel({ plugin })`, відкриває необов’язковий шов метаданих CLI
для кореневої довідки та керує `registerFull` залежно від режиму реєстрації.
Обгортає `definePluginEntry` логікою, специфічною для каналів. Автоматично викликає
`api.registerChannel({ plugin })`, надає необов’язковий seam метаданих CLI для кореневої довідки та
обмежує `registerFull` відповідно до режиму реєстрації.
```typescript
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
@ -91,7 +108,7 @@ export default defineChannelPluginEntry({
});
```
| Поле | Тип | Обов’язково | Типово |
| Поле | Тип | Обов’язкове | Типове значення |
| --------------------- | ---------------------------------------------------------------- | ----------- | ------------------- |
| `id` | `string` | Так | — |
| `name` | `string` | Так | — |
@ -102,33 +119,33 @@ export default defineChannelPluginEntry({
| `registerCliMetadata` | `(api: OpenClawPluginApi) => void` | Ні | — |
| `registerFull` | `(api: OpenClawPluginApi) => void` | Ні | — |
- `setRuntime` викликається під час реєстрації, щоб ви могли зберегти посилання
на runtime (зазвичай через `createPluginRuntimeStore`). Воно пропускається під час
захоплення метаданих CLI.
- `registerCliMetadata` виконується і під час `api.registrationMode === "cli-metadata"`,
і під час `api.registrationMode === "full"`.
Використовуйте його як канонічне місце для дескрипторів CLI, що належать каналу,
щоб коренева довідка не активувала plugin, а звичайна реєстрація команд CLI
залишалася сумісною з повним завантаженням plugin.
- `setRuntime` викликається під час реєстрації, тож ви можете зберегти посилання на runtime
(зазвичай через `createPluginRuntimeStore`). Воно пропускається під час захоплення
метаданих CLI.
- `registerCliMetadata` виконується як під час `api.registrationMode === "cli-metadata"`,
так і під час `api.registrationMode === "full"`.
Використовуйте його як канонічне місце для дескрипторів CLI, що належать каналу, щоб
коренева довідка залишалася без активації, а звичайна реєстрація команд CLI залишалася сумісною
з повним завантаженням plugin-ів.
- `registerFull` виконується лише коли `api.registrationMode === "full"`. Воно пропускається
під час завантаження лише для налаштування.
- Як і в `definePluginEntry`, `configSchema` може бути лінивою фабрикою, а OpenClaw
мемоїзує розв’язану схему під час першого доступу.
- Для кореневих команд CLI, що належать plugin, віддавайте перевагу `api.registerCli(..., { descriptors: [...] })`,
коли хочете, щоб команда лишалася ліниво завантажуваною, але не зникала з
дерева розбору кореневого CLI. Для channel plugins краще реєструвати ці дескриптори
з `registerCliMetadata(...)`, а `registerFull(...)` залишати для суто runtime-роботи.
- Якщо `registerFull(...)` також реєструє методи Gateway RPC, тримайте їх у
префіксі, специфічному для plugin. Зарезервовані простори назв адміністрування ядра (`config.*`,
`exec.approvals.*`, `wizard.*`, `update.*`) завжди примусово переводяться до
під час завантаження лише для setup.
- Як і у `definePluginEntry`, `configSchema` може бути лінивою фабрикою, а OpenClaw
мемоізує розв’язану схему під час першого доступу.
- Для кореневих команд CLI, що належать plugin-у, віддавайте перевагу `api.registerCli(..., { descriptors: [...] })`,
якщо хочете, щоб команда залишалася ліниво завантажуваною без зникнення з
дерева розбору кореневого CLI. Для channel plugin-ів краще реєструвати ці дескриптори
з `registerCliMetadata(...)`, а `registerFull(...)` зосередити на роботі, потрібній лише під час виконання.
- Якщо `registerFull(...)` також реєструє методи Gateway RPC, залишайте їх на
префіксі, специфічному для plugin-а. Зарезервовані простори імен core admin (`config.*`,
`exec.approvals.*`, `wizard.*`, `update.*`) завжди примусово приводяться до
`operator.admin`.
## `defineSetupPluginEntry`
**Імпорт:** `openclaw/plugin-sdk/channel-core`
Для полегшеного файла `setup-entry.ts`. Повертає лише `{ plugin }` без
runtime або логіки CLI.
Для полегшеного файлу `setup-entry.ts`. Повертає лише `{ plugin }` без
логіки runtime або CLI.
```typescript
import { defineSetupPluginEntry } from "openclaw/plugin-sdk/channel-core";
@ -136,28 +153,27 @@ import { defineSetupPluginEntry } from "openclaw/plugin-sdk/channel-core";
export default defineSetupPluginEntry(myChannelPlugin);
```
OpenClaw завантажує це замість повної точки входу, коли канал вимкнений,
не налаштований або коли ввімкнене відкладене завантаження. Дивіться
[Налаштування та конфігурація](/uk/plugins/sdk-setup#setup-entry), щоб зрозуміти,
коли це має значення.
OpenClaw завантажує це замість повної точки входу, коли канал вимкнено,
не налаштовано або коли ввімкнено відкладене завантаження. Див.
[Setup and Config](/uk/plugins/sdk-setup#setup-entry), щоб зрозуміти, коли це має значення.
На практиці поєднуйте `defineSetupPluginEntry(...)` із вузькими сімействами
хелперів для налаштування:
допоміжних функцій setup:
- `openclaw/plugin-sdk/setup-runtime` для безпечних для runtime хелперів налаштування, таких як
безпечні для імпорту адаптери setup patch, виведення приміток пошуку,
`promptResolvedAllowFrom`, `splitSetupEntries` і делеговані проксі налаштування
- `openclaw/plugin-sdk/channel-setup` для поверхонь налаштування з необов’язковим встановленням
- `openclaw/plugin-sdk/setup-tools` для хелперів CLI/архіву/документації для налаштування/встановлення
- `openclaw/plugin-sdk/setup-runtime` для безпечних для runtime допоміжних функцій setup, таких як
import-safe адаптери патчів setup, вивід lookup-note,
`promptResolvedAllowFrom`, `splitSetupEntries` і делеговані проксі setup
- `openclaw/plugin-sdk/channel-setup` для поверхонь setup з необов’язковим встановленням
- `openclaw/plugin-sdk/setup-tools` для допоміжних функцій setup/install CLI/archive/docs
Тримайте важкі SDK, реєстрацію CLI та довгоживучі runtime-сервіси в повній
точці входу.
Вбудовані workspace channels, які розділяють поверхні налаштування та runtime,
можуть натомість використовувати `defineBundledChannelSetupEntry(...)` з
`openclaw/plugin-sdk/channel-entry-contract`. Цей контракт дозволяє точці входу
налаштування зберігати безпечні для setup експорти plugin/secrets і водночас
відкривати setter для runtime:
Вбудовані workspace-канали, які розділяють поверхні setup і runtime, можуть
замість цього використовувати `defineBundledChannelSetupEntry(...)` з
`openclaw/plugin-sdk/channel-entry-contract`. Цей контракт дає змогу
точці входу setup зберігати безпечні для setup експорти plugin/secrets, водночас надаючи
setter runtime:
```typescript
import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract";
@ -175,22 +191,22 @@ export default defineBundledChannelSetupEntry({
});
```
Використовуйте цей вбудований контракт лише тоді, коли потокам налаштування
справді потрібен полегшений setter runtime до завантаження повної точки входу каналу.
Використовуйте цей вбудований контракт лише тоді, коли потокам setup справді потрібен полегшений
setter runtime до завантаження повної точки входу каналу.
## Режим реєстрації
`api.registrationMode` повідомляє вашому plugin, як саме його було завантажено:
`api.registrationMode` повідомляє вашому plugin-у, як саме його було завантажено:
| Режим | Коли | Що реєструвати |
| ----------------- | --------------------------------- | --------------------------------------------------------------------------------------- |
| `"full"` | Звичайний запуск Gateway | Усе |
| `"setup-only"` | Вимкнений/неналаштований канал | Лише реєстрацію каналу |
| `"setup-runtime"` | Потік налаштування з доступним runtime | Реєстрацію каналу плюс лише полегшений runtime, потрібний до завантаження повної точки входу |
| `"cli-metadata"` | Коренева довідка / захоплення метаданих CLI | Лише дескриптори CLI |
| Режим | Коли | Що реєструвати |
| ---------------- | --------------------------------- | --------------------------------------------------------------------------------------- |
| `"full"` | Звичайний запуск Gateway | Усе |
| `"setup-only"` | Вимкнений/неналаштований канал | Лише реєстрацію каналу |
| `"setup-runtime"`| Потік setup із доступним runtime | Реєстрацію каналу плюс лише полегшений runtime, потрібний до завантаження повної точки входу |
| `"cli-metadata"` | Коренева довідка / захоплення метаданих CLI | Лише дескриптори CLI |
`defineChannelPluginEntry` обробляє цей поділ автоматично. Якщо ви використовуєте
`definePluginEntry` напряму для каналу, перевіряйте режим самостійно:
`defineChannelPluginEntry` обробляє це розділення автоматично. Якщо ви використовуєте
`definePluginEntry` безпосередньо для каналу, перевіряйте режим самостійно:
```typescript
register(api) {
@ -202,42 +218,42 @@ register(api) {
api.registerChannel({ plugin: myPlugin });
if (api.registrationMode !== "full") return;
// Важкі реєстрації лише для runtime
// Heavy runtime-only registrations
api.registerService(/* ... */);
}
```
Сприймайте `"setup-runtime"` як вікно, у якому поверхні запуску лише для налаштування
мають існувати без повторного входу в повний runtime вбудованого каналу. Добре
підходять реєстрація каналу, безпечні для setup HTTP-маршрути, безпечні для setup
методи Gateway і делеговані хелпери налаштування. Важкі фонові сервіси, реєстратори CLI
та ініціалізація provider/client SDK усе ще мають належати до `"full"`.
Розглядайте `"setup-runtime"` як вікно, у якому поверхні запуску лише для setup
мають існувати без повторного входу в повний вбудований runtime каналу. Добре підходять
реєстрація каналу, безпечні для setup HTTP-маршрути, безпечні для setup методи Gateway і
делеговані допоміжні функції setup. Важкі фонові сервіси, реєстратори CLI та
завантаження SDK провайдерів/клієнтів, як і раніше, мають належати `"full"`.
Зокрема для реєстраторів CLI:
- використовуйте `descriptors`, коли реєстратор володіє однією або кількома кореневими командами і ви
хочете, щоб OpenClaw ліниво завантажував справжній модуль CLI під час першого виклику
- переконайтеся, що ці дескриптори охоплюють кожен корінь команди верхнього рівня, який відкриває
- переконайтеся, що ці дескриптори охоплюють кожний корінь команди верхнього рівня, який відкриває
реєстратор
- використовуйте лише `commands` тільки для eager-шляхів сумісності
- використовуйте лише `commands` тільки для шляхів сумісності з eager-завантаженням
## Форми plugin
## Форми plugin-ів
OpenClaw класифікує завантажені plugins за їхньою поведінкою під час реєстрації:
OpenClaw класифікує завантажені plugin за їхньою поведінкою під час реєстрації:
| Форма | Опис |
| --------------------- | -------------------------------------------------- |
| **plain-capability** | Один тип capability (наприклад, лише provider) |
| Форма | Опис |
| --------------------- | ------------------------------------------------- |
| **plain-capability** | Один тип capability (наприклад, лише provider) |
| **hybrid-capability** | Кілька типів capability (наприклад, provider + speech) |
| **hook-only** | Лише hooks, без capability |
| **non-capability** | Tools/commands/services, але без capability |
| **hook-only** | Лише hooks, без capabilities |
| **non-capability** | Tools/commands/services, але без capabilities |
Використовуйте `openclaw plugins inspect <id>`, щоб побачити форму plugin.
Використовуйте `openclaw plugins inspect <id>`, щоб побачити форму plugin-а.
## Пов’язані матеріали
## Пов’язане
- [Огляд SDK](/uk/plugins/sdk-overview) — API реєстрації та довідник за subpath
- [Хелпери runtime](/uk/plugins/sdk-runtime) — `api.runtime` і `createPluginRuntimeStore`
- [Налаштування та конфігурація](/uk/plugins/sdk-setup) — маніфест, точка входу налаштування, відкладене завантаження
- [SDK Overview](/uk/plugins/sdk-overview) — API реєстрації та довідка щодо subpath
- [Runtime Helpers](/uk/plugins/sdk-runtime) — `api.runtime` і `createPluginRuntimeStore`
- [Setup and Config](/uk/plugins/sdk-setup) — маніфест, точка входу setup, відкладене завантаження
- [Channel Plugins](/uk/plugins/sdk-channel-plugins) — побудова об’єкта `ChannelPlugin`
- [Provider Plugins](/uk/plugins/sdk-provider-plugins) — реєстрація provider та hooks
- [Provider Plugins](/uk/plugins/sdk-provider-plugins) — реєстрація провайдерів і hooks

View File

@ -1,27 +1,27 @@
---
read_when:
- Представлення ClawHub новим користувачам
- Установлення, пошук або публікація Skills чи plugins
- Пояснення прапорців ClawHub CLI і поведінки sync
summary: 'Посібник з ClawHub: публічний реєстр, нативні сценарії встановлення OpenClaw і робочі процеси ClawHub CLI'
- Встановлення, пошук або публікація Skills чи plugin-ів
- Пояснення прапорців CLI ClawHub і поведінки синхронізації
summary: 'Посібник ClawHub: публічний реєстр, нативні сценарії встановлення OpenClaw і робочі процеси CLI ClawHub'
title: ClawHub
x-i18n:
generated_at: "2026-04-05T18:19:30Z"
generated_at: "2026-04-21T22:18:59Z"
model: gpt-5.4
provider: openai
source_hash: e65b3fd770ca96a5dd828dce2dee4ef127268f4884180a912f43d7744bc5706f
source_hash: 88980eb2f48c5298aec5b697e8e50762c3df5a4114f567e69424a1cb36e5102e
source_path: tools/clawhub.md
workflow: 15
---
# ClawHub
ClawHub — це публічний реєстр для **Skills і plugins OpenClaw**.
ClawHub — це публічний реєстр для **Skills і plugin-ів OpenClaw**.
- Використовуйте нативні команди `openclaw` для пошуку/встановлення/оновлення Skills і встановлення
plugins з ClawHub.
- Використовуйте окремий CLI `clawhub`, коли потрібні автентифікація реєстру, публікація, видалення,
відновлення або робочі процеси sync.
plugin-ів із ClawHub.
- Використовуйте окремий CLI `clawhub`, коли вам потрібні автентифікація реєстру, публікація, видалення,
відновлення або робочі процеси синхронізації.
Сайт: [clawhub.ai](https://clawhub.ai)
@ -42,7 +42,7 @@ openclaw plugins install clawhub:<package>
openclaw plugins update --all
```
Специфікації plugins у простому npm-safe форматі також перевіряються в ClawHub перед npm:
Специфікації plugin-ів у простому форматі, безпечному для npm, також перевіряються в ClawHub перед npm:
```bash
openclaw plugins install openclaw-codex-app-server
@ -51,57 +51,57 @@ openclaw plugins install openclaw-codex-app-server
Нативні команди `openclaw` встановлюють у ваш активний workspace і зберігають
метадані джерела, щоб подальші виклики `update` могли залишатися в ClawHub.
Під час установлення plugins перевіряється сумісність заявлених `pluginApi` і `minGatewayVersion`
ще до запуску встановлення архіву, тому несумісні хости рано завершуються у безпечний спосіб
замість часткового встановлення пакета.
Встановлення plugin-ів перевіряє заявлену сумісність `pluginApi` і `minGatewayVersion`
до запуску встановлення архіву, тож несумісні хости рано завершуються в безпечному режимі,
замість часткового встановлення пакунка.
`openclaw plugins install clawhub:...` приймає лише сімейства plugins, які можна встановити.
Якщо пакет ClawHub насправді є skill, OpenClaw зупиняється і натомість вказує вам на
`openclaw skills install <slug>`.
`openclaw plugins install clawhub:...` приймає лише сімейства plugin-ів, які можна встановити.
Якщо пакунок ClawHub насправді є skill, OpenClaw зупиниться й натомість вкаже вам
на `openclaw skills install <slug>`.
## Що таке ClawHub
- Публічний реєстр для Skills і plugins OpenClaw.
- Версіоноване сховище пакетів skills і метаданих.
- Публічний реєстр для Skills і plugin-ів OpenClaw.
- Версійне сховище bundle-ів Skills і метаданих.
- Поверхня виявлення для пошуку, тегів і сигналів використання.
## Як це працює
1. Користувач публікує пакет skill (файли + метадані).
2. ClawHub зберігає пакет, аналізує метадані та призначає версію.
1. Користувач публікує bundle skill-а (файли + метадані).
2. ClawHub зберігає bundle, розбирає метадані й призначає версію.
3. Реєстр індексує skill для пошуку й виявлення.
4. Користувачі переглядають, завантажують і встановлюють Skills в OpenClaw.
## Що можна робити
## Що ви можете робити
- Публікувати нові Skills і нові версії наявних Skills.
- Знаходити Skills за назвою, тегами або пошуком.
- Завантажувати пакети skills і переглядати їхні файли.
- Повідомляти про Skills, які є шкідливими або небезпечними.
- Знаходити Skills за назвою, тегами або через пошук.
- Завантажувати bundle-и Skills і переглядати їхні файли.
- Повідомляти про Skills, які є зловмисними або небезпечними.
- Якщо ви модератор, приховувати, показувати, видаляти або банити.
## Для кого це призначено (зручно для початківців)
## Для кого це (дружньо до початківців)
Якщо ви хочете додати нові можливості своєму агенту OpenClaw, ClawHub — найпростіший спосіб знайти та встановити Skills. Вам не потрібно знати, як працює бекенд. Ви можете:
Якщо ви хочете додати нові можливості до свого агента OpenClaw, ClawHub — це найпростіший спосіб знайти й установити Skills. Вам не потрібно знати, як працює бекенд. Ви можете:
- Шукати Skills звичайною мовою.
- Установлювати skill у свій workspace.
- Установити skill у свій workspace.
- Пізніше оновлювати Skills однією командою.
- Робити резервні копії власних Skills через публікацію.
- Робити резервні копії власних Skills, публікуючи їх.
## Швидкий старт (без технічних деталей)
## Швидкий старт (нетехнічний)
1. Знайдіть те, що вам потрібно:
- `openclaw skills search "calendar"`
2. Установіть skill:
- `openclaw skills install <skill-slug>`
3. Запустіть нову сесію OpenClaw, щоб він підхопив новий skill.
4. Якщо ви хочете публікувати або керувати автентифікацією реєстру, також установіть окремий
CLI `clawhub`.
4. Якщо ви хочете публікувати або керувати автентифікацією реєстру, також установіть
окремий CLI `clawhub`.
## Установлення ClawHub CLI
## Установлення CLI ClawHub
Він потрібен лише для робочих процесів з автентифікацією реєстру, таких як publish/sync:
Це потрібно лише для робочих процесів з автентифікацією реєстру, таких як publish/sync:
```bash
npm i -g clawhub
@ -115,87 +115,87 @@ pnpm add -g clawhub
Нативна команда `openclaw skills install` встановлює в каталог `skills/`
активного workspace. `openclaw plugins install clawhub:...` записує звичайне кероване
встановлення plugin плюс метадані джерела ClawHub для оновлень.
встановлення plugin-а разом із метаданими джерела ClawHub для оновлень.
Анонімні встановлення plugins з ClawHub також безпечно завершуються для приватних пакетів.
Спільнота або інші неофіційні канали все ще можуть виконати встановлення, але OpenClaw попереджає,
щоб оператори могли перевірити джерело й валідацію перед увімкненням.
Анонімні встановлення plugin-ів із ClawHub також безпечно завершуються помилкою для приватних пакунків.
Plugin-и спільноти або інших неофіційних каналів усе ще можна встановити, але OpenClaw попереджає,
щоб оператори могли перевірити джерело та верифікацію перед увімкненням.
Окремий CLI `clawhub` також установлює Skills у `./skills` у вашому
поточному робочому каталозі. Якщо налаштовано workspace OpenClaw, `clawhub`
перемикається на цей workspace, якщо ви не перевизначите `--workdir` (або
`CLAWHUB_WORKDIR`). OpenClaw завантажує Skills workspace з `<workspace>/skills`
і підхоплює їх у **наступній** сесії. Якщо ви вже використовуєте
`CLAWHUB_WORKDIR`). OpenClaw завантажує Skills workspace із `<workspace>/skills`
і підхопить їх у **наступній** сесії. Якщо ви вже використовуєте
`~/.openclaw/skills` або вбудовані Skills, Skills workspace мають пріоритет.
Докладніше про те, як Skills завантажуються, спільно використовуються й обмежуються, див.
у [Skills](/tools/skills).
[Skills](/uk/tools/skills).
## Огляд системи Skills
Skill — це версіонований пакет файлів, який навчає OpenClaw виконувати
Skill — це bundle файлів із версіями, який навчає OpenClaw виконувати
певне завдання. Кожна публікація створює нову версію, а реєстр зберігає
історію версій, щоб користувачі могли перевіряти зміни.
Типовий skill містить:
- Файл `SKILL.md` з основним описом і використанням.
- Необов’язкові конфігурації, scripts або допоміжні файли, які використовує skill.
- Метадані, такі як теги, summary і вимоги до встановлення.
- Необов’язкові конфігурації, скрипти або допоміжні файли, які використовує skill.
- Метадані, як-от теги, стислий опис і вимоги до встановлення.
ClawHub використовує метадані для покращення виявлення та безпечного відкриття можливостей Skills.
Реєстр також відстежує сигнали використання (наприклад, stars і downloads), щоб покращувати
ClawHub використовує метадані для виявлення й безпечного показу можливостей skill-а.
Реєстр також відстежує сигнали використання (наприклад, зірки та завантаження), щоб покращувати
ранжування та видимість.
## Що надає сервіс (можливості)
- **Публічний перегляд** Skills та їхнього вмісту `SKILL.md`.
- **Пошук** на основі embeddings (векторний пошук), а не лише ключових слів.
- **Контроль версій** із semver, changelog-ами й тегами (включно з `latest`).
- **Керування версіями** із semver, changelog-ами й тегами (включно з `latest`).
- **Завантаження** як zip для кожної версії.
- **Stars і comments** для зворотного зв’язку спільноти.
- **Гачки moderation** для схвалень і аудитів.
- **CLI-friendly API** для автоматизації та сценаріїв.
- **Зірки та коментарі** для зворотного зв’язку від спільноти.
- **Механізми модерації** для схвалень і аудитів.
- **CLI-дружній API** для автоматизації та скриптів.
## Безпека та moderation
## Безпека й модерація
ClawHub за замовчуванням відкритий. Завантажувати Skills може будь-хто, але для
публікації обліковий запис GitHub має існувати щонайменше один тиждень. Це допомагає стримувати
зловживання, не блокуючи легітимних учасників.
ClawHub відкритий за замовчуванням. Будь-хто може завантажувати Skills, але для публікації
обліковому запису GitHub має бути щонайменше один тиждень. Це допомагає стримувати зловживання,
не блокуючи добросовісних учасників.
Скарги й moderation:
Скарги й модерація:
- Будь-який користувач, який увійшов у систему, може поскаржитися на skill.
- Будь-який користувач, що ввійшов у систему, може поскаржитися на skill.
- Причини скарги є обов’язковими та записуються.
- Кожен користувач може мати не більше 20 активних скарг одночасно.
- Skills із понад 3 унікальними скаргами типово приховуються автоматично.
- Модератори можуть переглядати приховані Skills, показувати їх знову, видаляти або банити користувачів.
- Зловживання функцією скарг може призвести до бану облікового запису.
- Кожен користувач може мати до 20 активних скарг одночасно.
- Skills із понад 3 унікальними скаргами автоматично приховуються за замовчуванням.
- Модератори можуть переглядати приховані Skills, показувати їх, видаляти або банити користувачів.
- Зловживання функцією скарг може призвести до блокування облікового запису.
Хочете стати модератором? Запитайте в Discord OpenClaw і зв’яжіться з
модератором або супровідником.
Цікавитеся роллю модератора? Запитайте в Discord OpenClaw і зв’яжіться з
модератором або супроводжувачем.
## Команди CLI і параметри
## Команди й параметри CLI
Глобальні параметри (застосовуються до всіх команд):
- `--workdir <dir>`: Робочий каталог (типово: поточний каталог; якщо можливо, використовується workspace OpenClaw).
- `--dir <dir>`: Каталог Skills відносно workdir (типово: `skills`).
- `--workdir <dir>`: Робочий каталог (типово: поточний каталог; із переходом до workspace OpenClaw).
- `--dir <dir>`: Каталог Skills, відносний до workdir (типово: `skills`).
- `--site <url>`: Базова URL-адреса сайту (вхід через браузер).
- `--registry <url>`: Базова URL-адреса API реєстру.
- `--no-input`: Вимкнути prompts (неінтерактивний режим).
- `--no-input`: Вимкнути запити (неінтерактивний режим).
- `-V, --cli-version`: Вивести версію CLI.
Автентифікація:
- `clawhub login` (потік через браузер) або `clawhub login --token <token>`
- `clawhub login` (сценарій через браузер) або `clawhub login --token <token>`
- `clawhub logout`
- `clawhub whoami`
Параметри:
- `--token <token>`: Вставити API token.
- `--label <label>`: Мітка, що зберігається для token-ів входу через браузер (типово: `CLI token`).
- `--token <token>`: Вставити API-токен.
- `--label <label>`: Мітка, що зберігається для токенів входу через браузер (типово: `CLI token`).
- `--no-browser`: Не відкривати браузер (потрібен `--token`).
Пошук:
@ -207,49 +207,49 @@ ClawHub за замовчуванням відкритий. Завантажув
- `clawhub install <slug>`
- `--version <version>`: Установити конкретну версію.
- `--force`: Перезаписати, якщо папка вже існує.
- `--force`: Перезаписати, якщо каталог уже існує.
Оновлення:
- `clawhub update <slug>`
- `clawhub update --all`
- `--version <version>`: Оновити до конкретної версії (лише для одного slug).
- `--force`: Перезаписати, коли локальні файли не відповідають жодній опублікованій версії.
- `--force`: Перезаписати, якщо локальні файли не відповідають жодній опублікованій версії.
Список:
- `clawhub list` (читає `.clawhub/lock.json`)
Публікація skills:
Публікація Skills:
- `clawhub skill publish <path>`
- `--slug <slug>`: Slug skill.
- `--name <name>`: Видиме ім’я.
- `--slug <slug>`: Slug skill-а.
- `--name <name>`: Відображувана назва.
- `--version <version>`: Версія semver.
- `--changelog <text>`: Текст changelog (може бути порожнім).
- `--changelog <text>`: Текст changelog-а (може бути порожнім).
- `--tags <tags>`: Теги, розділені комами (типово: `latest`).
Публікація plugins:
Публікація plugin-ів:
- `clawhub package publish <source>`
- `<source>` може бути локальною папкою, `owner/repo`, `owner/repo@ref` або URL GitHub.
- `--dry-run`: Побудувати точний план публікації без фактичного завантаження.
- `--json`: Вивести машинозчитуваний результат для CI.
- `--source-repo`, `--source-commit`, `--source-ref`: Необов’язкові перевизначення, коли автодетекції недостатньо.
- `<source>` може бути локальним каталогом, `owner/repo`, `owner/repo@ref` або URL-адресою GitHub.
- `--dry-run`: Побудувати точний план публікації без завантаження будь-чого.
- `--json`: Вивести результат у машиночитному форматі для CI.
- `--source-repo`, `--source-commit`, `--source-ref`: Необов’язкові перевизначення, коли автовизначення недостатньо.
Видалення/відновлення (лише owner/admin):
Видалення/відновлення (лише власник/адміністратор):
- `clawhub delete <slug> --yes`
- `clawhub undelete <slug> --yes`
Sync (сканування локальних Skills + публікація нових/оновлених):
Синхронізація (сканування локальних Skills + публікація нових/оновлених):
- `clawhub sync`
- `--root <dir...>`: Додаткові корені сканування.
- `--all`: Завантажити все без prompts.
- `--root <dir...>`: Додаткові кореневі каталоги для сканування.
- `--all`: Завантажити все без запитів.
- `--dry-run`: Показати, що буде завантажено.
- `--bump <type>`: `patch|minor|major` для оновлень (типово: `patch`).
- `--changelog <text>`: Changelog для неінтерактивних оновлень.
- `--changelog <text>`: Текст changelog-а для неінтерактивних оновлень.
- `--tags <tags>`: Теги, розділені комами (типово: `latest`).
- `--concurrency <n>`: Перевірки реєстру (типово: 4).
@ -273,9 +273,9 @@ clawhub install my-skill-pack
clawhub update --all
```
### Резервне копіювання своїх Skills (publish або sync)
### Резервне копіювання ваших Skills (publish або sync)
Для окремої папки skill:
Для одного каталогу skill-а:
```bash
clawhub skill publish ./my-skill --slug my-skill --name "My Skill" --version 1.0.0 --tags latest
@ -287,7 +287,7 @@ clawhub skill publish ./my-skill --slug my-skill --name "My Skill" --version 1.0
clawhub sync --all
```
### Публікація plugin з GitHub
### Публікація plugin-а з GitHub
```bash
clawhub package publish your-org/your-plugin --dry-run
@ -296,7 +296,7 @@ clawhub package publish your-org/your-plugin@v1.0.0
clawhub package publish https://github.com/your-org/your-plugin
```
Plugins коду мають містити обов’язкові метадані OpenClaw у `package.json`:
Code plugin-и повинні містити обов’язкові метадані OpenClaw у `package.json`:
```json
{
@ -304,7 +304,8 @@ Plugins коду мають містити обов’язкові метада
"version": "1.0.0",
"type": "module",
"openclaw": {
"extensions": ["./index.ts"],
"extensions": ["./src/index.ts"],
"runtimeExtensions": ["./dist/index.js"],
"compat": {
"pluginApi": ">=2026.3.24-beta.2",
"minGatewayVersion": "2026.3.24-beta.2"
@ -317,30 +318,35 @@ Plugins коду мають містити обов’язкові метада
}
```
## Додаткові деталі (технічні)
Опубліковані пакунки мають постачатися зі зібраним JavaScript і вказувати `runtimeExtensions`
на цей вихід. Встановлення з checkout Git усе ще можуть повертатися до TypeScript-коду,
коли зібраних файлів немає, але зібрані runtime entries дають змогу уникнути компіляції TypeScript
під час запуску, doctor і завантаження plugin-ів.
### Контроль версій і теги
## Додаткові подробиці (технічні)
### Керування версіями й теги
- Кожна публікація створює нову **semver**-версію `SkillVersion`.
- Теги (як-от `latest`) вказують на версію; переміщення тегів дає змогу відкотитися.
- Теги (наприклад, `latest`) вказують на версію; переміщення тегів дає змогу відкотитися.
- Changelog-и прив’язуються до кожної версії й можуть бути порожніми під час sync або публікації оновлень.
### Локальні зміни проти версій у реєстрі
Оновлення порівнюють локальний вміст skill з версіями в реєстрі за допомогою content hash. Якщо локальні файли не відповідають жодній опублікованій версії, CLI запитує підтвердження перед перезаписом (або вимагає `--force` у неінтерактивних запусках).
Оновлення порівнюють локальний вміст skill-а з версіями в реєстрі за допомогою хеша вмісту. Якщо локальні файли не відповідають жодній опублікованій версії, CLI запитує підтвердження перед перезаписом (або вимагає `--force` у неінтерактивних запусках).
### Сканування sync і резервні корені
### Сканування sync і резервні кореневі каталоги
`clawhub sync` спочатку сканує ваш поточний workdir. Якщо Skills не знайдено, він переходить до відомих застарілих розташувань (наприклад, `~/openclaw/skills` і `~/.openclaw/skills`). Це зроблено, щоб знаходити старі встановлення skills без додаткових прапорців.
`clawhub sync` спочатку сканує ваш поточний workdir. Якщо Skills не знайдено, він переходить до відомих застарілих розташувань (наприклад, `~/openclaw/skills` і `~/.openclaw/skills`). Це зроблено, щоб знаходити старі встановлення Skills без додаткових прапорців.
### Сховище і lockfile
### Сховище й lockfile
- Установлені Skills записуються в `.clawhub/lock.json` у вашому workdir.
- Auth tokens зберігаються у файлі конфігурації ClawHub CLI (можна перевизначити через `CLAWHUB_CONFIG_PATH`).
- Токени автентифікації зберігаються у файлі конфігурації CLI ClawHub (перевизначається через `CLAWHUB_CONFIG_PATH`).
### Телеметрія (кількість установлень)
### Телеметрія (кількість встановлень)
Коли ви запускаєте `clawhub sync`, будучи в системі, CLI надсилає мінімальний знімок для обчислення кількості встановлень. Це можна повністю вимкнути:
Коли ви запускаєте `clawhub sync` у стані входу, CLI надсилає мінімальний знімок для обчислення кількості встановлень. Ви можете повністю це вимкнути:
```bash
export CLAWHUB_DISABLE_TELEMETRY=1
@ -348,8 +354,8 @@ export CLAWHUB_DISABLE_TELEMETRY=1
## Змінні середовища
- `CLAWHUB_SITE`: Перевизначає URL-адресу сайту.
- `CLAWHUB_REGISTRY`: Перевизначає URL-адресу API реєстру.
- `CLAWHUB_CONFIG_PATH`: Перевизначає місце, де CLI зберігає token/конфігурацію.
- `CLAWHUB_WORKDIR`: Перевизначає типовий workdir.
- `CLAWHUB_DISABLE_TELEMETRY=1`: Вимикає телеметрію для `sync`.
- `CLAWHUB_SITE`: Перевизначити URL-адресу сайту.
- `CLAWHUB_REGISTRY`: Перевизначити URL-адресу API реєстру.
- `CLAWHUB_CONFIG_PATH`: Перевизначити місце, де CLI зберігає токен/конфігурацію.
- `CLAWHUB_WORKDIR`: Перевизначити типовий workdir.
- `CLAWHUB_DISABLE_TELEMETRY=1`: Вимкнути телеметрію для `sync`.