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

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

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

Інструменти, Skills і plugins

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

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

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

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

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

Plugins пакують усе разом

Plugin — це пакет, який може реєструвати будь-яку комбінацію можливостей: канали, провайдерів моделей, інструменти, skills, мовлення, транскрипцію в реальному часі, голос у реальному часі, розуміння медіа, генерацію зображень, генерацію відео, web fetch, web search тощо. Деякі plugins є core (постачаються разом з OpenClaw), інші — external (опубліковані спільнотою в npm).Установлення й налаштування plugins | Створіть власний

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

Ці інструменти постачаються разом з OpenClaw і доступні без встановлення будь-яких plugins:
ІнструментЩо робитьСторінка
exec / processЗапускає shell-команди, керує фоновими процесамиExec
code_executionВиконує ізольований віддалений Python-аналізCode Execution
browserКерує браузером Chromium (навігація, кліки, знімки екрана)Browser
web_search / x_search / web_fetchШукає у вебі, шукає дописи в X, отримує вміст сторінокWeb
read / write / editФайловий I/O у робочому просторі
apply_patchБагатофрагментні патчі файлівApply Patch
messageНадсилає повідомлення через усі каналиAgent Send
canvasКерує node Canvas (present, eval, snapshot)
nodesВиявляє та вибирає спарені пристрої
cron / gatewayКерує запланованими завданнями; перевіряє, патчить, перезапускає або оновлює gateway
image / image_generateАналізує або генерує зображенняImage Generation
video_generateГенерує відеоVideo Generation
ttsОдноразове перетворення тексту на мовленняTTS
sessions_* / subagents / agents_listКерування сесіями, статусом і оркестрацією субагентівSub-agents
session_statusПолегшене зчитування у стилі /status і перевизначення моделі сесіїSession Tools
Для роботи із зображеннями використовуйте image для аналізу та image_generate для генерації або редагування. Якщо ви націлюєтеся на openai/*, google/*, fal/* або іншого нестандартного провайдера зображень, спочатку налаштуйте автентифікацію/API-ключ цього провайдера. Для роботи з відео використовуйте video_generate. Якщо ви націлюєтеся на qwen/* або іншого нестандартного провайдера відео, спочатку налаштуйте автентифікацію/API-ключ цього провайдера. session_status — це полегшений інструмент статусу/зчитування в групі sessions. Він відповідає на запитання у стилі /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.

Інструменти, надані plugins

Plugins можуть реєструвати додаткові інструменти. Деякі приклади:
  • Lobster — типізоване середовище виконання робочих процесів із відновлюваними погодженнями
  • LLM Task — крок LLM лише з JSON для структурованого виводу
  • Diffs — переглядач і рендерер дифів
  • OpenProse — оркестрація робочих процесів із пріоритетом markdown

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

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

Керуйте тим, які інструменти агент може викликати, через tools.allow / tools.deny у конфігурації. Заборона завжди має пріоритет над дозволом.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

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

tools.profile задає базовий allowlist перед застосуванням allow/deny. Перевизначення для окремого агента: agents.list[].tools.profile.
ПрофільЩо включає
fullБез обмежень (те саме, що не вказано)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalлише session_status

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

Використовуйте скорочення group:* у списках allow/deny:
ГрупаІнструменти
group:runtimeexec, process, code_execution (bash приймається як псевдонім для exec)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list
group:mediaimage, image_generate, video_generate, tts
group:openclawУсі вбудовані інструменти OpenClaw (без інструментів plugins)
sessions_history повертає обмежене, відфільтроване з погляду безпеки подання для згадування. Воно видаляє теги thinking, каркас <relevant-memories>, XML-payload викликів інструментів у простому тексті (включно з <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> і усіченими блоками викликів інструментів), понижений каркас викликів інструментів, витеклі ASCII/full-width токени керування моделлю та некоректний XML викликів інструментів MiniMax з тексту помічника, а потім застосовує редагування/усічення та, за потреби, заповнювачі надто великих рядків замість того, щоб діяти як сирий дамп транскрипту.

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

Використовуйте tools.byProvider, щоб обмежувати інструменти для конкретних провайдерів без зміни глобальних значень за замовчуванням:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}