Інструменти та плагіни
Усе, що агент робить, окрім генерування тексту, відбувається через інструменти. Інструменти — це спосіб, у який агент читає файли, запускає команди, переглядає вебсторінки, надсилає повідомлення та взаємодіє з пристроями.Інструменти, Skills і плагіни
OpenClaw має три рівні, які працюють разом:Інструменти — це те, що викликає агент
Інструмент — це типізована функція, яку агент може викликати (наприклад,
exec, browser,
web_search, message). OpenClaw постачається з набором вбудованих інструментів, а
плагіни можуть реєструвати додаткові.Агент бачить інструменти як структуровані визначення функцій, надіслані до API моделі.Skills навчають агента коли і як діяти
Skill — це markdown-файл (
SKILL.md), який вбудовується в системний промпт.
Skills надають агенту контекст, обмеження та покрокові вказівки для
ефективного використання інструментів. Skills зберігаються у вашому робочому просторі, у спільних теках
або постачаються всередині плагінів.Довідка про Skills | Створення SkillsПлагіни пакують усе разом
Плагін — це пакет, який може реєструвати будь-яку комбінацію можливостей:
канали, провайдери моделей, інструменти, Skills, мовлення, транскрибування в реальному часі,
голос у реальному часі, розуміння медіа, генерацію зображень, генерацію відео,
отримання вебданих, вебпошук тощо. Деякі плагіни є core (постачаються з
OpenClaw), інші — external (опубліковані в npm спільнотою).Установлення та налаштування плагінів | Створіть власний
Вбудовані інструменти
Ці інструменти постачаються з OpenClaw і доступні без встановлення будь-яких плагінів:| Інструмент | Що він робить | Сторінка |
|---|---|---|
exec / process | Запускає команди оболонки, керує фоновими процесами | Exec |
code_execution | Виконує ізольований віддалений аналіз Python | Code 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.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, щоб обмежувати інструменти для певних провайдерів без
зміни глобальних значень за замовчуванням: