---
read_when:
    - Ви хочете зрозуміти, які інструменти надає OpenClaw
    - Вам потрібно налаштувати, дозволити або заборонити інструменти
    - Ви обираєте між вбудованими інструментами, Skills і плагінами
summary: 'Огляд інструментів і плагінів OpenClaw: що може робити агент і як його розширювати'
title: Інструменти та плагіни
x-i18n:
    generated_at: "2026-04-06T01:05:38Z"
    model: gpt-5.4
    provider: openai
    source_hash: b2371239316997b0fe389bfa2ec38404e1d3e177755ad81ff8035ac583d9adeb
    source_path: tools/index.md
    workflow: 15
---

# Інструменти та плагіни

Усе, що агент робить, окрім генерування тексту, відбувається через **інструменти**.
Інструменти — це спосіб, у який агент читає файли, запускає команди, переглядає вебсторінки, надсилає
повідомлення та взаємодіє з пристроями.

## Інструменти, Skills і плагіни

OpenClaw має три рівні, які працюють разом:

<Steps>
  <Step title="Інструменти — це те, що викликає агент">
    Інструмент — це типізована функція, яку агент може викликати (наприклад, `exec`, `browser`,
    `web_search`, `message`). OpenClaw постачається з набором **вбудованих інструментів**, а
    плагіни можуть реєструвати додаткові.

    Агент бачить інструменти як структуровані визначення функцій, надіслані до API моделі.

  </Step>

  <Step title="Skills навчають агента коли і як діяти">
    Skill — це markdown-файл (`SKILL.md`), який вбудовується в системний промпт.
    Skills надають агенту контекст, обмеження та покрокові вказівки для
    ефективного використання інструментів. Skills зберігаються у вашому робочому просторі, у спільних теках
    або постачаються всередині плагінів.

    [Довідка про Skills](/uk/tools/skills) | [Створення Skills](/uk/tools/creating-skills)

  </Step>

  <Step title="Плагіни пакують усе разом">
    Плагін — це пакет, який може реєструвати будь-яку комбінацію можливостей:
    канали, провайдери моделей, інструменти, Skills, мовлення, транскрибування в реальному часі,
    голос у реальному часі, розуміння медіа, генерацію зображень, генерацію відео,
    отримання вебданих, вебпошук тощо. Деякі плагіни є **core** (постачаються з
    OpenClaw), інші — **external** (опубліковані в npm спільнотою).

    [Установлення та налаштування плагінів](/uk/tools/plugin) | [Створіть власний](/uk/plugins/building-plugins)

  </Step>
</Steps>

## Вбудовані інструменти

Ці інструменти постачаються з OpenClaw і доступні без встановлення будь-яких плагінів:

| Інструмент                                 | Що він робить                                                        | Сторінка                                    |
| ------------------------------------------ | -------------------------------------------------------------------- | ------------------------------------------- |
| `exec` / `process`                         | Запускає команди оболонки, керує фоновими процесами                  | [Exec](/uk/tools/exec)                         |
| `code_execution`                           | Виконує ізольований віддалений аналіз Python                         | [Code Execution](/uk/tools/code-execution)     |
| `browser`                                  | Керує браузером Chromium (перехід, натискання, знімок екрана)        | [Browser](/uk/tools/browser)                   |
| `web_search` / `x_search` / `web_fetch`    | Шукає у вебі, шукає дописи в X, отримує вміст сторінок               | [Web](/uk/tools/web)                           |
| `read` / `write` / `edit`                  | Введення/виведення файлів у робочому просторі                        |                                             |
| `apply_patch`                              | Багатофрагментні патчі файлів                                        | [Apply Patch](/uk/tools/apply-patch)           |
| `message`                                  | Надсилає повідомлення в усі канали                                   | [Agent Send](/uk/tools/agent-send)             |
| `canvas`                                   | Керує node Canvas (present, eval, snapshot)                          |                                             |
| `nodes`                                    | Виявляє та вибирає спарені пристрої                                  |                                             |
| `cron` / `gateway`                         | Керує запланованими завданнями; перевіряє, патчить, перезапускає або оновлює gateway |                                             |
| `image` / `image_generate`                 | Аналізує або генерує зображення                                      | [Image Generation](/uk/tools/image-generation) |
| `music_generate`                           | Генерує музичні треки                                                | [Music Generation](/uk/tools/music-generation) |
| `video_generate`                           | Генерує відео                                                        | [Video Generation](/uk/tools/video-generation) |
| `tts`                                      | Одноразове перетворення тексту на мовлення                           | [TTS](/uk/tools/tts)                           |
| `sessions_*` / `subagents` / `agents_list` | Керування сесіями, статус і оркестрація субагентів                   | [Sub-agents](/uk/tools/subagents)              |
| `session_status`                           | Полегшене зчитування у стилі `/status` та перевизначення моделі для сесії | [Session Tools](/uk/concepts/session-tool)     |

Для роботи із зображеннями використовуйте `image` для аналізу і `image_generate` для генерації або редагування. Якщо ви використовуєте `openai/*`, `google/*`, `fal/*` або іншого не стандартного провайдера зображень, спочатку налаштуйте автентифікацію/API-ключ цього провайдера.

Для роботи з музикою використовуйте `music_generate`. Якщо ви використовуєте `google/*`, `minimax/*` або іншого не стандартного музичного провайдера, спочатку налаштуйте автентифікацію/API-ключ цього провайдера.

Для роботи з відео використовуйте `video_generate`. Якщо ви використовуєте `qwen/*` або іншого не стандартного відеопровайдера, спочатку налаштуйте автентифікацію/API-ключ цього провайдера.

Для генерації аудіо на основі робочих процесів використовуйте `music_generate`, коли його реєструє
плагін на кшталт ComfyUI. Це окремо від `tts`, який є перетворенням тексту на мовлення.

`session_status` — це полегшений інструмент статусу/зчитування в групі сесій.
Він відповідає на запитання у стилі `/status` про поточну сесію і може
за бажанням встановити перевизначення моделі для окремої сесії; `model=default` скасовує це
перевизначення. Як і `/status`, він може заповнювати відсутні лічильники токенів/кешу та
мітку активної моделі середовища виконання з останнього запису про використання в транскрипті.

`gateway` — це інструмент середовища виконання лише для власника для операцій gateway:

- `config.schema.lookup` для однієї підгілки конфігурації за шляхом перед редагуванням
- `config.get` для поточного знімка конфігурації + хешу
- `config.patch` для часткових оновлень конфігурації з перезапуском
- `config.apply` лише для повної заміни конфігурації
- `update.run` для явного самооновлення + перезапуску

Для часткових змін віддавайте перевагу `config.schema.lookup`, а потім `config.patch`. Використовуйте
`config.apply` лише тоді, коли ви свідомо замінюєте всю конфігурацію.
Інструмент також відмовляється змінювати `tools.exec.ask` або `tools.exec.security`;
застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec.

### Інструменти, надані плагінами

Плагіни можуть реєструвати додаткові інструменти. Декілька прикладів:

- [Lobster](/uk/tools/lobster) — типізоване середовище виконання робочих процесів із відновлюваними погодженнями
- [LLM Task](/uk/tools/llm-task) — крок LLM лише з JSON для структурованого виводу
- [Music Generation](/uk/tools/music-generation) — спільний інструмент `music_generate` із провайдерами на основі робочих процесів
- [Diffs](/uk/tools/diffs) — переглядач і рендерер diff
- [OpenProse](/uk/prose) — оркестрація робочих процесів із пріоритетом markdown

## Налаштування інструментів

### Списки дозволів і заборон

Керуйте тим, які інструменти агент може викликати, через `tools.allow` / `tools.deny` у
конфігурації. Заборона завжди має пріоритет над дозволом.

```json5
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}
```

### Профілі інструментів

`tools.profile` задає базовий список дозволів перед застосуванням `allow`/`deny`.
Перевизначення для окремого агента: `agents.list[].tools.profile`.

| Профіль    | Що він містить                                                                                                                                   |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `full`     | Без обмежень (те саме, що не задано)                                                                                                             |
| `coding`   | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate`, `music_generate`, `video_generate` |
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status`                                                        |
| `minimal`  | Лише `session_status`                                                                                                                            |

### Групи інструментів

Використовуйте скорочення `group:*` у списках дозволів/заборон:

| Група              | Інструменти                                                                                               |
| ------------------ | --------------------------------------------------------------------------------------------------------- |
| `group:runtime`    | exec, process, code_execution (`bash` приймається як псевдонім для `exec`)                               |
| `group:fs`         | read, write, edit, apply_patch                                                                            |
| `group:sessions`   | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
| `group:memory`     | memory_search, memory_get                                                                                 |
| `group:web`        | web_search, x_search, web_fetch                                                                           |
| `group:ui`         | browser, canvas                                                                                           |
| `group:automation` | cron, gateway                                                                                             |
| `group:messaging`  | message                                                                                                   |
| `group:nodes`      | nodes                                                                                                     |
| `group:agents`     | agents_list                                                                                               |
| `group:media`      | image, image_generate, music_generate, video_generate, tts                                                |
| `group:openclaw`   | Усі вбудовані інструменти OpenClaw (крім інструментів плагінів)                                          |

`sessions_history` повертає обмежене, відфільтроване з погляду безпеки представлення для пригадування. Він прибирає
теги thinking, каркас `<relevant-memories>`, XML-навантаження викликів інструментів у простому тексті
(зокрема `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>` і усічені блоки викликів інструментів),
понижений каркас викликів інструментів, витеклі ASCII/повноширинні токени
керування моделлю та некоректний XML викликів інструментів MiniMax із тексту помічника, а потім застосовує
редагування/усічення та, за потреби, заповнювачі для надто великих рядків замість того, щоб працювати
як необроблений дамп транскрипту.

### Обмеження для конкретних провайдерів

Використовуйте `tools.byProvider`, щоб обмежувати інструменти для певних провайдерів без
зміни глобальних значень за замовчуванням:

```json5
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}
```
