Przejdź do głównej treści

Narzędzia i wtyczki

Wszystko, co agent robi poza generowaniem tekstu, odbywa się przez narzędzia. Narzędzia to sposób, w jaki agent odczytuje pliki, uruchamia polecenia, przegląda sieć, wysyła wiadomości i wchodzi w interakcję z urządzeniami.

Narzędzia, Skills i wtyczki

OpenClaw ma trzy współpracujące ze sobą warstwy:
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 wtyczki 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 promptu. Skills dostarczają agentowi kontekstu, ograniczeń i wskazówek krok po kroku dotyczących skutecznego używania narzędzi. Skills znajdują się w twoim workspace, w folderach współdzielonych albo są dostarczane wewnątrz wtyczek.Dokumentacja Skills | Tworzenie Skills
3

Wtyczki pakują wszystko razem

Wtyczka to pakiet, który może zarejestrować dowolną kombinację capabilities: kanały, dostawców modeli, narzędzia, Skills, mowę, transkrypcję realtime, głos realtime, rozumienie multimediów, generowanie obrazów, generowanie wideo, web fetch, web search i inne. Niektóre wtyczki są rdzeniowe (dostarczane z OpenClaw), a inne są zewnętrzne (publikowane na npm przez społeczność).Instalowanie i konfigurowanie wtyczek | Stwórz własną

Wbudowane narzędzia

Te narzędzia są dostarczane z OpenClaw i są dostępne bez instalowania jakichkolwiek wtyczek:
NarzędzieCo robiStrona
exec / processUruchamia polecenia powłoki, zarządza procesami w tleExec
code_executionUruchamia izolowaną zdalną analizę w PythonieCode Execution
browserSteruje przeglądarką Chromium (nawigacja, kliknięcia, zrzuty ekranu)Browser
web_search / x_search / web_fetchPrzeszukuje sieć, przeszukuje posty X, pobiera treść stronWeb
read / write / editOperacje wejścia/wyjścia na plikach w workspace
apply_patchWielohunkowe patche plikówApply Patch
messageWysyła wiadomości przez wszystkie kanałyAgent Send
canvasSteruje node Canvas (present, eval, snapshot)
nodesWykrywa sparowane urządzenia i kieruje działania do nich
cron / gatewayZarządza zaplanowanymi zadaniami; inspektuje, patchuje, restartuje lub aktualizuje gateway
image / image_generateAnalizuje lub generuje obrazyImage Generation
music_generateGeneruje utwory muzyczneMusic Generation
video_generateGeneruje wideoVideo Generation
ttsJednorazowa konwersja tekstu na mowęTTS
sessions_* / subagents / agents_listZarządzanie sesjami, stan i orkiestracja podagentówSub-agents
session_statusLekki odczyt 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 żądanie do openai/*, google/*, fal/* albo innego niedomyślnego dostawcy obrazów, najpierw skonfiguruj auth/klucz API tego dostawcy. Do pracy z muzyką używaj music_generate. Jeśli kierujesz żądanie do google/*, minimax/* albo innego niedomyślnego dostawcy muzyki, najpierw skonfiguruj auth/klucz API tego dostawcy. Do pracy z wideo używaj video_generate. Jeśli kierujesz żądanie do qwen/* albo innego niedomyślnego dostawcy wideo, najpierw skonfiguruj auth/klucz API tego dostawcy. Do generowania audio sterowanego workflow używaj music_generate, gdy wtyczka taka jak ComfyUI je rejestruje. To jest oddzielne od tts, które oznacza text-to-speech. session_status to lekkie narzędzie status/odczyt w grupie sesji. Odpowiada na pytania w stylu /status dotyczące bieżącej sesji i może opcjonalnie ustawić nadpisanie modelu dla danej sesji; model=default czyści to nadpisanie. Podobnie jak /status, może uzupełniać rzadkie liczniki tokenów/cache oraz etykietę aktywnego modelu runtime 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 o określonej ścieżce przed edycją
  • config.get dla bieżącej migawki konfiguracji + hasha
  • config.patch dla częściowych aktualizacji konfiguracji z restartem
  • config.apply tylko do pełnego zastąpienia konfiguracji
  • update.run do jawnej samoaktualizacji + restartu
W przypadku zmian częściowych preferuj config.schema.lookup, a następnie config.patch. Używaj config.apply tylko wtedy, gdy celowo 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 wtyczki

Wtyczki mogą rejestrować dodatkowe narzędzia. Kilka przykładów:
  • Lobster — typowane środowisko wykonawcze workflow z możliwością wznawiania zatwierdzeń
  • LLM Task — krok LLM tylko-JSON dla ustrukturyzowanego wyjścia
  • Music Generation — współdzielone narzędzie music_generate z dostawcami opartymi na workflow
  • Diffs — przeglądarka i renderer diffów
  • OpenProse — orkiestracja workflow z podejściem Markdown-first

Konfiguracja narzędzi

Listy zezwalania i blokowania

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

Profile narzędzi

tools.profile ustawia bazową allowlistę przed zastosowaniem allow/deny. Nadpisanie per agent: agents.list[].tools.profile.
ProfilCo obejmuje
fullBez ograniczeń (to samo co brak ustawienia)
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
minimalTylko session_status

Grupy narzędzi

Używaj skrótów group:* w listach allow/deny:
GrupaNarzędzia
group:runtimeexec, process, code_execution (bash jest akceptowany 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, music_generate, video_generate, tts
group:openclawWszystkie wbudowane narzędzia OpenClaw (bez narzędzi wtyczek)
seessions_history zwraca ograniczony widok odtworzenia z filtrami bezpieczeństwa. Usuwa tagi thinking, strukturę <relevant-memories>, payloady XML wywołań narzędzi w zwykłym tekście (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), zdegradowaną strukturę wywołań narzędzi, wyciekłe tokeny sterujące modelem ASCII/full-width oraz nieprawidłowy XML wywołań narzędzi MiniMax z tekstu asystenta, a następnie stosuje redakcję/obcinanie i ewentualne placeholders dla 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 globalnych ustawień domyślnych:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}