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

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

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

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

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

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

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

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

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

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

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

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

Ці інструменти постачаються з OpenClaw і доступні без встановлення будь-яких плагінів:
ІнструментЩо він робитьСторінка
exec / processЗапускає команди оболонки, керує фоновими процесамиExec
code_executionВиконує ізольований віддалений аналіз PythonCode Execution
browserКерує браузером Chromium (перехід, натискання, знімок екрана)Browser
web_search / x_search / web_fetchШукає у вебі, шукає дописи в X, отримує вміст сторінокWeb
read / write / editВведення/виведення файлів у робочому просторі
apply_patchБагатофрагментні патчі файлівApply Patch
messageНадсилає повідомлення в усі каналиAgent Send
canvasКерує node Canvas (present, eval, snapshot)
nodesВиявляє та вибирає спарені пристрої
cron / gatewayКерує запланованими завданнями; перевіряє, патчить, перезапускає або оновлює gateway
image / image_generateАналізує або генерує зображенняImage Generation
music_generateГенерує музичні трекиMusic 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-ключ цього провайдера. Для роботи з музикою використовуйте 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 — типізоване середовище виконання робочих процесів із відновлюваними погодженнями
  • LLM Task — крок LLM лише з JSON для структурованого виводу
  • Music Generation — спільний інструмент music_generate із провайдерами на основі робочих процесів
  • Diffs — переглядач і рендерер diff
  • OpenProse — оркестрація робочих процесів із пріоритетом markdown

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

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

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

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

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

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

Використовуйте скорочення group:* у списках дозволів/заборон:
ГрупаІнструменти
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, 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, щоб обмежувати інструменти для певних провайдерів без зміни глобальних значень за замовчуванням:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}