Перейти до основного вмісту

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw використовує сумісні з AgentSkills папки навичок, щоб навчити агента користуватися інструментами. Кожна навичка — це каталог, що містить SKILL.md із YAML frontmatter та інструкціями. OpenClaw завантажує вбудовані навички плюс необов’язкові локальні перевизначення і фільтрує їх під час завантаження на основі середовища, конфігурації та наявності бінарних файлів.

Розташування та пріоритет

OpenClaw завантажує навички з цих джерел, спочатку з найвищим пріоритетом:
#ДжерелоШлях
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 (найнижчий пріоритет)Усі агенти на цій машині
Однакова назва в кількох місцях → перемагає джерело з найвищим пріоритетом. Робочий простір переважає агента проєкту, той переважає особистого агента, той переважає керовані/локальні, ті переважають вбудовані, а ті переважають додаткові каталоги.

Дозволені списки навичок агента

Розташування навички та видимість навички — це окремі елементи керування. Розташування/пріоритет визначає, яка копія навички з однаковою назвою перемагає; дозволені списки агента визначають, які навички агент насправді може використовувати.
{
  agents: {
    defaults: {
      skills: ["github", "weather"],
    },
    list: [
      { id: "writer" }, // inherits github, weather
      { id: "docs", skills: ["docs-search"] }, // replaces defaults
      { id: "locked-down", skills: [] }, // no skills
    ],
  },
}
  • Пропустіть agents.defaults.skills, щоб навички за замовчуванням були необмеженими.
  • Пропустіть agents.list[].skills, щоб успадкувати agents.defaults.skills.
  • Установіть agents.list[].skills: [], щоб не було навичок.
  • Непорожній список agents.list[].skills є остаточним набором для цього агента — він не об’єднується зі значеннями за замовчуванням.
  • Ефективний дозволений список застосовується до побудови prompt, виявлення slash-команд навичок, синхронізації sandbox і знімків навичок.

Plugins і навички

Plugins можуть постачати власні навички, перелічуючи каталоги skills в openclaw.plugin.json (шляхи відносно кореня Plugin). Навички Plugin завантажуються, коли Plugin увімкнено. Це правильне місце для операційних посібників, специфічних для інструментів, які занадто довгі для опису інструмента, але мають бути доступні щоразу, коли Plugin установлено, — наприклад, браузерний Plugin постачає навичку browser-automation для багатокрокового керування браузером. Каталоги навичок Plugin об’єднуються в той самий шлях із низьким пріоритетом, що й skills.load.extraDirs, тому вбудована, керована, агентська або робоча навичка з такою самою назвою перевизначає їх. Ви можете обмежувати їх через metadata.openclaw.requires.config у записі конфігурації Plugin. Див. Plugins для виявлення/конфігурації та Інструменти для поверхні інструментів, які пояснюють ці навички.

Skill Workshop

Необов’язковий експериментальний Plugin Skill Workshop може створювати або оновлювати навички робочого простору з повторно використовуваних процедур, помічених під час роботи агента. За замовчуванням він вимкнений і має бути явно ввімкнений через plugins.entries.skill-workshop. Skill Workshop записує лише в <workspace>/skills, сканує згенерований вміст, підтримує відкладене схвалення або автоматичні безпечні записи, ізолює небезпечні пропозиції та оновлює знімок навичок після успішних записів, щоб нові навички ставали доступними без перезапуску Gateway. Використовуйте його для виправлень на кшталт “наступного разу перевіряти атрибуцію GIF” або важко здобутих робочих процесів, як-от контрольні списки QA для медіа. Починайте з відкладеного схвалення; використовуйте автоматичні записи лише в довірених робочих просторах після перегляду його пропозицій. Повний посібник: Skill Workshop Plugin.

ClawHub (інсталяція та синхронізація)

ClawHub — це публічний реєстр навичок для OpenClaw. Використовуйте нативні команди openclaw skills для виявлення/інсталяції/оновлення або окремий CLI clawhub для робочих процесів публікації/синхронізації. Повний посібник: ClawHub.
ДіяКоманда
Установити навичку в робочий простірopenclaw skills install <skill-slug>
Оновити всі встановлені навичкиopenclaw skills update --all
Синхронізувати (сканування + публікація оновлень)clawhub sync --all
Нативна команда openclaw skills install установлює в каталог skills/ активного робочого простору. Окремий CLI clawhub також установлює в ./skills у поточному робочому каталозі (або повертається до налаштованого робочого простору OpenClaw). OpenClaw підхоплює це як <workspace>/skills під час наступного сеансу. Налаштовані корені навичок також підтримують один рівень групування, наприклад skills/<group>/<skill>/SKILL.md, щоб пов’язані сторонні навички можна було зберігати в спільній папці без широкого рекурсивного сканування. Клієнти Gateway, яким потрібне приватне постачання не через ClawHub, можуть підготувати zip-архів навички за допомогою skills.upload.begin, skills.upload.chunk і skills.upload.commit, а потім установити зафіксоване завантаження через skills.install({ source: "upload", uploadId, slug, force?, sha256? }). Це явний шлях адміністративного завантаження для довірених клієнтів, а не звичайний потік openclaw skills install <slug> чи інсталяції ClawHub. Він вимкнений за замовчуванням і працює лише коли в openclaw.json встановлено skills.install.allowUploadedArchives: true. Режим завантаження все одно встановлює в стандартний каталог робочого простору агента skills/<slug>; внутрішня назва папки архіву ігнорується для кінцевої цілі інсталяції. Сторінки навичок ClawHub показують найновіший стан сканування безпеки перед інсталяцією, зі сторінками деталей сканерів для VirusTotal, ClawScan і статичного аналізу. openclaw skills install <slug> залишається лише шляхом інсталяції; видавці усувають хибні спрацювання через панель ClawHub або clawhub skill rescan <slug>.

Безпека

Ставтеся до сторонніх навичок як до недовіреного коду. Читайте їх перед увімкненням. Для недовірених вхідних даних і ризикованих інструментів надавайте перевагу запускам у sandbox. Див. Sandboxing для елементів керування на боці агента.
  • Виявлення навичок робочого простору та додаткових каталогів приймає лише корені навичок і файли SKILL.md, чий розв’язаний realpath залишається всередині налаштованого кореня.
  • Приватні архівні інсталяції Gateway вимкнені за замовчуванням. Коли їх явно ввімкнено, вони потребують зафіксованого zip-завантаження, що містить SKILL.md, і повторно використовують ті самі засоби захисту від видобування архіву, обходу шляхів, symlink, force і rollback, що й інсталяції навичок ClawHub. Вони обмежуються skills.install.allowUploadedArchives; звичайні інсталяції ClawHub не потребують цього параметра.
  • Інсталяції залежностей навичок через Gateway (skills.install, onboarding та UI налаштувань Skills) запускають вбудований сканер небезпечного коду перед виконанням метаданих інсталятора. Знахідки critical блокують за замовчуванням, якщо викликач явно не встановить небезпечне перевизначення; підозрілі знахідки все ще лише попереджають.
  • openclaw skills install <slug> відрізняється — він завантажує папку навички ClawHub у робочий простір і не використовує шлях метаданих інсталятора вище.
  • skills.entries.*.env і skills.entries.*.apiKey інжектують секрети в host-процес для цього ходу агента (не в sandbox). Не допускайте секрети в prompts і журнали.
Для ширшої моделі загроз і контрольних списків див. Безпека.

Формат SKILL.md

SKILL.md має містити щонайменше:
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
---
OpenClaw дотримується специфікації AgentSkills щодо структури/призначення. Парсер, який використовує вбудований агент, підтримує лише однорядкові ключі frontmatter; metadata має бути однорядковим об’єктом JSON. Використовуйте {baseDir} в інструкціях, щоб посилатися на шлях папки навички.

Необов’язкові ключі frontmatter

homepage
string
URL, що відображається як “Вебсайт” в UI Skills для macOS. Також підтримується через metadata.openclaw.homepage.
user-invocable
boolean
за замовчуванням:"true"
Коли true, навичка доступна як користувацька slash-команда.
disable-model-invocation
boolean
за замовчуванням:"false"
Коли true, OpenClaw не додає інструкції навички до звичайного prompt агента. Навичка все одно встановлена й може бути явно запущена як slash-команда, якщо user-invocable також має значення true.
command-dispatch
"tool"
Коли встановлено tool, slash-команда обходить модель і передається безпосередньо інструменту.
command-tool
string
Назва інструмента, який треба викликати, коли встановлено command-dispatch: tool.
command-arg-mode
"raw"
за замовчуванням:"raw"
Для dispatch інструмента пересилає сирий рядок аргументів до інструмента (без core-парсингу). Інструмент викликається з { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.

Обмеження (фільтри під час завантаження)

OpenClaw фільтрує навички під час завантаження за допомогою metadata (однорядковий JSON):
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
        "primaryEnv": "GEMINI_API_KEY",
      },
  }
---
Поля в metadata.openclaw:
always
boolean
Коли true, завжди включати навичку (пропустити інші перевірки).
emoji
string
Необов’язковий emoji, який використовується в інтерфейсі macOS Skills.
homepage
string
Необов’язкова URL-адреса, що відображається як “Website” в інтерфейсі macOS Skills.
os
"darwin" | "linux" | "win32"
Необов’язковий список платформ. Якщо задано, навичка доступна лише в цих ОС.
requires.bins
string[]
Кожен елемент має існувати в PATH.
requires.anyBins
string[]
Принаймні один елемент має існувати в PATH.
requires.env
string[]
Змінна середовища має існувати або бути надана в конфігурації.
requires.config
string[]
Список шляхів openclaw.json, які мають бути істинними.
primaryEnv
string
Ім’я змінної середовища, пов’язане з skills.entries.<name>.apiKey.
install
object[]
Необов’язкові специфікації інсталятора, які використовуються інтерфейсом macOS Skills (brew/node/go/uv/download).
Якщо metadata.openclaw відсутній, навичка завжди доступна (якщо її не вимкнено в конфігурації або не заблоковано через skills.allowBundled для вбудованих навичок).
Застарілі блоки metadata.clawdbot усе ще приймаються, коли metadata.openclaw відсутній, тож старіші встановлені навички зберігають свої перевірки залежностей і підказки інсталятора. Нові та оновлені навички мають використовувати metadata.openclaw.

Нотатки щодо ізоляції

  • requires.bins перевіряється на хості під час завантаження навички.
  • Якщо агент працює в sandbox, бінарний файл також має існувати всередині контейнера. Встановіть його через agents.defaults.sandbox.docker.setupCommand (або власний образ). setupCommand запускається один раз після створення контейнера. Встановлення пакетів також потребує мережевого виходу, записуваної кореневої FS і користувача root у sandbox.
  • Приклад: навичці summarize (skills/summarize/SKILL.md) потрібен CLI summarize у sandbox-контейнері, щоб запускатися там.

Специфікації інсталятора

---
name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups.
metadata:
  {
    "openclaw":
      {
        "emoji": "♊️",
        "requires": { "bins": ["gemini"] },
        "install":
          [
            {
              "id": "brew",
              "kind": "brew",
              "formula": "gemini-cli",
              "bins": ["gemini"],
              "label": "Install Gemini CLI (brew)",
            },
          ],
      },
  }
---
  • Якщо вказано кілька інсталяторів, gateway вибирає один бажаний варіант (brew, коли доступний, інакше node).
  • Якщо всі інсталятори мають тип download, OpenClaw показує кожен запис, щоб ви могли бачити доступні артефакти.
  • Специфікації інсталятора можуть містити os: ["darwin"|"linux"|"win32"], щоб фільтрувати варіанти за платформою.
  • Встановлення Node враховує skills.install.nodeManager в openclaw.json (типово: npm; варіанти: npm/pnpm/yarn/bun). Це впливає лише на встановлення навичок; середовище виконання Gateway все одно має бути Node - Bun не рекомендований для WhatsApp/Telegram.
  • Вибір інсталятора за підтримки Gateway керується пріоритетами: коли специфікації встановлення змішують типи, OpenClaw надає перевагу Homebrew, якщо skills.install.preferBrew увімкнено і brew існує, потім uv, потім налаштованому менеджеру node, потім іншим резервним варіантам, як-от go або download.
  • Якщо кожна специфікація встановлення має тип download, OpenClaw показує всі варіанти завантаження замість згортання до одного бажаного інсталятора.
  • Встановлення Go: якщо go відсутній, а brew доступний, gateway спочатку встановлює Go через Homebrew і за можливості встановлює GOBIN у bin Homebrew.
  • Встановлення через завантаження: url (обов’язково), archive (tar.gz | tar.bz2 | zip), extract (типово: auto, коли виявлено архів), stripComponents, targetDir (типово: ~/.openclaw/tools/<skillKey>).

Перевизначення конфігурації

Вбудовані та керовані навички можна вмикати/вимикати й надавати їм значення середовища в skills.entries у ~/.openclaw/openclaw.json:
{
  skills: {
    entries: {
      "image-lab": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // or plaintext string
        env: {
          GEMINI_API_KEY: "GEMINI_KEY_HERE",
        },
        config: {
          endpoint: "https://example.invalid",
          model: "nano-pro",
        },
      },
      peekaboo: { enabled: true },
      sag: { enabled: false },
    },
  },
}
enabled
boolean
false вимикає навичку, навіть якщо вона вбудована або встановлена. Вбудована навичка coding-agent вмикається за бажанням: установіть skills.entries.coding-agent.enabled: true, перш ніж відкривати її агентам, а потім переконайтеся, що один із claude, codex, opencode або pi встановлений і автентифікований для власного CLI.
apiKey
string | { source, provider, id }
Зручність для навичок, які оголошують metadata.openclaw.primaryEnv. Підтримує відкритий текст або SecretRef.
env
Record<string, string>
Ін’єктується лише якщо змінну ще не встановлено в процесі.
config
object
Необов’язковий контейнер для власних полів окремої навички. Власні ключі мають бути тут.
allowBundled
string[]
Необов’язковий список дозволів лише для вбудованих навичок. Якщо задано, доступні лише вбудовані навички зі списку (керовані/робочі навички не зачіпаються).
Якщо назва навички містить дефіси, беріть ключ у лапки (JSON5 дозволяє ключі в лапках). Ключі конфігурації типово збігаються з назвою навички - якщо навичка визначає metadata.openclaw.skillKey, використовуйте цей ключ у skills.entries.
Для стандартної генерації/редагування зображень всередині OpenClaw використовуйте основний інструмент image_generate з agents.defaults.imageGenerationModel замість вбудованої навички. Приклади навичок тут призначені для власних або сторонніх робочих процесів. Для нативного аналізу зображень використовуйте інструмент image з agents.defaults.imageModel. Якщо ви вибираєте openai/*, google/*, fal/* або іншу провайдер-специфічну модель зображень, також додайте ключ автентифікації/API цього провайдера.

Ін’єкція середовища

Коли запуск агента починається, OpenClaw:
  1. Читає метадані навичок.
  2. Застосовує skills.entries.<key>.env і skills.entries.<key>.apiKey до process.env.
  3. Будує системний prompt з доступними навичками.
  4. Відновлює початкове середовище після завершення запуску.
Ін’єкція середовища обмежена запуском агента, а не глобальним shell-середовищем. Для вбудованого бекенда claude-cli OpenClaw також матеріалізує той самий доступний знімок як тимчасовий plugin Claude Code і передає його з --plugin-dir. Тоді Claude Code може використовувати свій нативний резолвер навичок, поки OpenClaw усе ще керує пріоритетом, allowlist для кожного агента, gating і ін’єкцією env/API-ключів skills.entries.*. Інші CLI-бекенди використовують лише каталог prompt.

Знімки й оновлення

OpenClaw створює знімок доступних навичок під час старту сесії і повторно використовує цей список для наступних ходів у тій самій сесії. Зміни в навичках або конфігурації набирають чинності в наступній новій сесії. Навички можуть оновлюватися посеред сесії у двох випадках:
  • Спостерігач навичок увімкнений.
  • З’являється новий доступний віддалений node.
Сприймайте це як гаряче перезавантаження: оновлений список підхоплюється на наступному ході агента. Якщо ефективний allowlist навичок агента змінюється для цієї сесії, OpenClaw оновлює знімок, щоб видимі навички лишалися узгодженими з поточним агентом.

Спостерігач Skills

Типово OpenClaw спостерігає за папками навичок і підвищує версію знімка навичок, коли файли SKILL.md змінюються. Налаштовується в skills.load:
{
  skills: {
    load: {
      extraDirs: ["~/Projects/agent-scripts/skills"],
      allowSymlinkTargets: ["~/Projects/manager/skills"],
      watch: true,
      watchDebounceMs: 250,
    },
  },
}
Використовуйте allowSymlinkTargets для навмисних схем із сусідніми репозиторіями, де вбудований корінь навички містить symlink, наприклад ~/.agents/skills/manager -> ~/Projects/manager/skills. Список цілей зіставляється після realpath-резолюції й має лишатися вузьким.

Віддалені macOS node (Linux gateway)

Якщо Gateway працює на Linux, але підключено macOS node з дозволеним system.run (безпеку схвалень Exec не встановлено в deny), OpenClaw може вважати навички лише для macOS доступними, коли потрібні бінарні файли присутні на цьому node. Агент має виконувати ці навички через інструмент exec з host=node. Це залежить від того, що node повідомляє про підтримку команд, і від перевірки bin через system.which або system.run. Офлайн-node не роблять віддалені-only навички видимими. Якщо підключений node припиняє відповідати на bin probes, OpenClaw очищає свої кешовані bin-збіги, щоб агенти більше не бачили навичок, які зараз не можуть там виконуватися.

Вплив на токени

Коли навички доступні, OpenClaw ін’єктує компактний XML-список доступних навичок у системний prompt (через formatSkillsForPrompt у pi-coding-agent). Вартість детермінована:
  • Базові накладні витрати (лише коли є ≥1 навичка): 195 символів.
  • На навичку: 97 символів + довжина XML-екранованих значень <name>, <description> і <location>.
Формула (символи):
total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped))
XML-екранування розширює & < > " ' до сутностей (&amp;, &lt; тощо), збільшуючи довжину. Кількість токенів залежить від tokenizer моделі. Груба оцінка в стилі OpenAI становить ~4 символи/токен, тож 97 символів ≈ 24 токени на навичку плюс фактичні довжини ваших полів.

Життєвий цикл керованих навичок

OpenClaw постачає базовий набір навичок як вбудовані навички разом із встановленням (npm-пакет або OpenClaw.app). ~/.openclaw/skills існує для локальних перевизначень - наприклад, фіксації версії або патчення навички без зміни вбудованої копії. Навички робочого простору належать користувачу й перевизначають обидва варіанти у разі конфліктів імен.

Шукаєте більше навичок?

Перегляньте https://clawhub.ai. Повна схема конфігурації: Конфігурація Skills.

Пов’язане