Overview

Інструменти та Plugins

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

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

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

  • Інструменти — це те, що викликає агент

    Інструмент — це типізована функція, яку агент може викликати (наприклад, exec, browser, web_search, message). OpenClaw постачає набір вбудованих інструментів, а плагіни можуть реєструвати додаткові.

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

  • Skills навчають агента, коли і як діяти

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

    Довідник Skills | Створення Skills

  • Плагіни пакують усе разом

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

    Встановлення та налаштування плагінів | Створіть власний

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

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

    Інструмент Що він робить Сторінка
    exec / process Виконує shell-команди, керує фоновими процесами Exec, Підтвердження Exec
    code_execution Виконує ізольований віддалений аналіз Python Виконання коду
    browser Керує браузером Chromium (навігація, клацання, знімок екрана) Браузер
    web_search / x_search / web_fetch Шукає в інтернеті, шукає дописи X, отримує вміст сторінок Веб, Веб-завантаження
    read / write / edit Файлове введення-виведення в робочому просторі
    apply_patch Багатофрагментні патчі файлів Застосування патча
    message Надсилає повідомлення через усі канали Надсилання агентом
    canvas Керує Node Canvas (present, eval, snapshot)
    nodes Виявляє та вибирає цільові спарені пристрої
    cron / gateway Керує запланованими завданнями; перевіряє, патчить, перезапускає або оновлює Gateway
    image / image_generate Аналізує або генерує зображення Генерація зображень
    music_generate Генерує музичні треки Генерація музики
    video_generate Генерує відео Генерація відео
    tts Одноразове перетворення тексту на мовлення TTS
    sessions_* / subagents / agents_list Керування сесіями, статус і оркестрація підагентів Підагенти
    session_status Легке зчитування у стилі /status і перевизначення моделі сесії Інструменти сесії

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

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

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

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

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

    gateway — це runtime-інструмент лише для власника для операцій 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.

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

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

    • Diffs — переглядач і рендерер diff
    • LLM Task — JSON-only крок LLM для структурованого виводу
    • Lobster — типізований runtime workflow з підтвердженнями, які можна поновлювати
    • Генерація музики — спільний інструмент music_generate з постачальниками на основі workflow
    • OpenProse — markdown-first оркестрація workflow
    • Tokenjuice — стискає шумні результати інструментів exec і bash

    Інструменти плагінів усе одно створюються через api.registerTool(...) і оголошуються у списку contracts.tools маніфесту плагіна. OpenClaw фіксує перевірений дескриптор інструмента під час виявлення та кешує його за джерелом і контрактом плагіна, щоб подальше планування інструментів могло пропускати завантаження runtime плагіна. Виконання інструмента все ще завантажує плагін-власник і викликає живу зареєстровану реалізацію.

    Конфігурація інструментів

    Списки дозволу й заборони

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

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

    OpenClaw завершує роботу із забороною за замовчуванням, коли явний allowlist не дає жодних інструментів, які можна викликати. Наприклад, tools.allow: ["query_db"] працює лише якщо завантажений плагін справді реєструє query_db. Якщо жоден вбудований інструмент, плагін або bundled MCP-інструмент не відповідає allowlist, запуск зупиняється до виклику моделі, замість того щоб продовжуватися як текстовий запуск, який міг би вигадати результати інструментів.

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

    tools.profile задає базовий allowlist перед застосуванням 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

    coding включає легкі веб-інструменти (web_search, web_fetch, x_search), але не повний інструмент керування браузером. Автоматизація браузера може керувати реальними сесіями та профілями з виконаним входом, тому додайте її явно через tools.alsoAllow: ["browser"] або для окремого агента agents.list[].tools.alsoAllow: ["browser"].

    Профілі coding і messaging також дозволяють налаштовані bundle MCP-інструменти під ключем плагіна bundle-mcp. Додайте tools.deny: ["bundle-mcp"], коли хочете, щоб профіль зберігав свої звичайні вбудовані інструменти, але приховував усі налаштовані MCP-інструменти. Профіль minimal не включає bundle MCP-інструменти.

    Приклад (найширша поверхня інструментів за замовчуванням):

    {
      tools: {
        profile: "full",
      },
    }
    

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

    Використовуйте скорочення 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 heartbeat_respond, cron, gateway
    group:messaging message
    group:nodes nodes
    group:agents agents_list, update_plan
    group:media image, image_generate, music_generate, video_generate, tts
    group:openclaw Усі вбудовані інструменти OpenClaw (крім інструментів Plugin)

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

    Обмеження, специфічні для постачальника

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

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