Przejdź do głównej treści

Narzędzia i pluginy

Wszystko, co agent robi poza generowaniem tekstu, odbywa się przez narzędzia. Narzędzia umożliwiają agentowi odczytywanie plików, uruchamianie poleceń, przeglądanie Web, wysyłanie wiadomości i interakcję z urządzeniami.

Narzędzia, Skills i pluginy

OpenClaw ma trzy warstwy, które współpracują ze sobą:
1

Narzędzia to to, co wywołuje agent

Narzędzie to typowana funkcja, którą agent może wywołać (np. exec, browser, web_search, message). OpenClaw dostarcza zestaw wbudowanych narzędzi, a pluginy mogą rejestrować dodatkowe.Agent widzi narzędzia jako ustrukturyzowane definicje funkcji wysyłane do API modelu.
2

Skills uczą agenta kiedy i jak

Skill to plik markdown (SKILL.md) wstrzykiwany do system prompt. Skills dają agentowi kontekst, ograniczenia i instrukcje krok po kroku dotyczące skutecznego używania narzędzi. Skills znajdują się w Twoim workspace, we współdzielonych katalogach albo są dostarczane wewnątrz pluginów.Dokumentacja Skills | Tworzenie Skills
3

Pluginy pakują wszystko razem

Plugin to pakiet, który może rejestrować dowolną kombinację możliwości: kanały, dostawców modeli, narzędzia, Skills, mowę, transkrypcję realtime, głos realtime, rozumienie mediów, generowanie obrazów, generowanie wideo, web fetch, web search i inne. Niektóre pluginy są rdzeniowe (dostarczane z OpenClaw), inne są zewnętrzne (publikowane przez społeczność na npm).Instalowanie i konfigurowanie pluginów | Zbuduj własny

Wbudowane narzędzia

Te narzędzia są dostarczane z OpenClaw i są dostępne bez instalowania pluginów:
NarzędzieCo robiStrona
exec / processUruchamianie poleceń powłoki, zarządzanie procesami w tleExec
code_executionUruchamianie sandboxowanej zdalnej analizy w PythonieCode Execution
browserSterowanie przeglądarką opartą na Chromium (nawigacja, kliknięcia, zrzuty ekranu)Browser
web_search / x_search / web_fetchWyszukiwanie w Web, wyszukiwanie postów X, pobieranie treści stronWeb
read / write / editOperacje I/O na plikach w workspace
apply_patchWielosegmentowe łatki plikówApply Patch
messageWysyłanie wiadomości przez wszystkie kanałyAgent Send
canvasSterowanie Canvas węzła (present, eval, snapshot)
nodesWykrywanie i kierowanie do sparowanych urządzeń
cron / gatewayZarządzanie zadaniami harmonogramu; inspekcja, poprawki, restart lub aktualizacja gateway
image / image_generateAnaliza lub generowanie obrazów
ttsJednorazowa konwersja tekstu na mowęTTS
sessions_* / subagents / agents_listZarządzanie sesjami, status i orkiestracja podagentówSub-agents
session_statusLekkie odczyty w stylu /status i nadpisanie modelu dla sesjiSession Tools
Do pracy z obrazami używaj image do analizy oraz image_generate do generowania lub edycji. Jeśli kierujesz żądania do openai/*, google/*, fal/* lub innego niedomyślnego dostawcy obrazów, najpierw skonfiguruj uwierzytelnianie / klucz API tego dostawcy. session_status to lekkie narzędzie statusu/odczytu w grupie sessions. Odpowiada na pytania w stylu /status dotyczące bieżącej sesji i może opcjonalnie ustawić nadpisanie modelu dla sesji; model=default usuwa to nadpisanie. Podobnie jak /status, może uzupełniać rzadkie liczniki tokenów/cache oraz aktywną etykietę modelu środowiska uruchomieniowego na podstawie najnowszego wpisu usage w transkrypcie. gateway to narzędzie runtime tylko dla właściciela do operacji na gateway:
  • config.schema.lookup dla jednego poddrzewa konfiguracji ograniczonego do ścieżki przed edycją
  • config.get dla bieżącej migawki konfiguracji + hasha
  • config.patch dla częściowych aktualizacji konfiguracji z restartem
  • config.apply tylko do pełnej wymiany konfiguracji
  • update.run dla jawnej samoaktualizacji + restartu
W przypadku częściowych zmian preferuj config.schema.lookup, a następnie config.patch. Używaj config.apply tylko wtedy, gdy świadomie zastępujesz całą konfigurację. Narzędzie odmawia również zmiany tools.exec.ask lub tools.exec.security; starsze aliasy tools.bash.* są normalizowane do tych samych chronionych ścieżek exec.

Narzędzia dostarczane przez pluginy

Pluginy mogą rejestrować dodatkowe narzędzia. Kilka przykładów:
  • Lobster — typowane środowisko uruchomieniowe workflow z zatwierdzeniami wznawialnymi
  • LLM Task — krok LLM tylko w JSON dla ustrukturyzowanego wyjścia
  • Diffs — przeglądarka i renderer diffów
  • OpenProse — orkiestracja workflow w podejściu markdown-first

Konfiguracja narzędzi

Listy dozwolonych i zabronionych

Kontroluj, które narzędzia agent może wywoływać, przez tools.allow / tools.deny w konfiguracji. Zakaz zawsze ma pierwszeństwo przed zezwoleniem.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

Profile narzędzi

tools.profile ustawia bazową listę dozwolonych przed zastosowaniem allow/deny. Nadpisanie dla agenta: agents.list[].tools.profile.
ProfilCo zawiera
fullBrak ograniczeń (to samo co brak ustawienia)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalTylko session_status

Grupy narzędzi

Używaj skrótów group:* w listach dozwolonych/zabronionych:
GrupaNarzędzia
group:runtimeexec, process, code_execution (bash jest akceptowane jako alias dla 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, tts
group:openclawWszystkie wbudowane narzędzia OpenClaw (bez narzędzi pluginów)
sessions_history zwraca ograniczony, filtrowany pod kątem bezpieczeństwa widok odczytu historii. Usuwa tagi myślenia, rusztowanie <relevant-memories>, ładunki XML wywołań narzędzi w postaci zwykłego tekstu (w tym <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> oraz obcięte bloki wywołań narzędzi), zdegradowane rusztowanie wywołań narzędzi, wyciekłe tokeny sterujące modelem ASCII/pełnoszerokie, a także błędny XML wywołań narzędzi MiniMax z tekstu asystenta, a następnie stosuje redakcję/obcinanie i ewentualne placeholdery zbyt dużych wierszy zamiast działać jak surowy zrzut transkryptu.

Ograniczenia specyficzne dla dostawcy

Użyj tools.byProvider, aby ograniczyć narzędzia dla określonych dostawców bez zmiany ustawień globalnych:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}