Langsung ke konten utama

Tool dan Plugin

Semua yang dilakukan agen di luar menghasilkan teks terjadi melalui tool. Tool adalah cara agen membaca file, menjalankan perintah, menjelajahi web, mengirim pesan, dan berinteraksi dengan perangkat.

Tool, Skills, dan plugin

OpenClaw memiliki tiga lapisan yang bekerja bersama:
1

Tool adalah yang dipanggil agen

Tool adalah fungsi typed yang dapat dipanggil agen (misalnya exec, browser, web_search, message). OpenClaw menyediakan sekumpulan tool bawaan dan plugin dapat mendaftarkan tool tambahan.Agen melihat tool sebagai definisi fungsi terstruktur yang dikirim ke API model.
2

Skills mengajarkan agen kapan dan bagaimana

Skill adalah file markdown (SKILL.md) yang disuntikkan ke system prompt. Skills memberi agen konteks, batasan, dan panduan langkah demi langkah untuk menggunakan tool secara efektif. Skills berada di workspace Anda, di folder bersama, atau dikirim di dalam plugin.Referensi Skills | Membuat Skills
3

Plugin mengemas semuanya menjadi satu

Plugin adalah package yang dapat mendaftarkan kombinasi kapabilitas apa pun: channel, provider model, tool, Skills, speech, transkripsi realtime, suara realtime, pemahaman media, pembuatan gambar, pembuatan video, pengambilan web, pencarian web, dan lainnya. Beberapa plugin adalah core (dikirim bersama OpenClaw), yang lain adalah external (dipublikasikan di npm oleh komunitas).Instal dan konfigurasi plugin | Bangun plugin Anda sendiri

Tool bawaan

Tool ini disertakan dengan OpenClaw dan tersedia tanpa menginstal plugin apa pun:
ToolFungsinyaHalaman
exec / processMenjalankan perintah shell, mengelola proses latar belakangExec
code_executionMenjalankan analisis Python jarak jauh dalam sandboxCode Execution
browserMengontrol browser Chromium (navigasi, klik, tangkapan layar)Browser
web_search / x_search / web_fetchMencari di web, mencari postingan X, mengambil konten halamanWeb
read / write / editI/O file di workspace
apply_patchPatch file multi-hunkApply Patch
messageMengirim pesan ke semua channelAgent Send
canvasMengendalikan node Canvas (present, eval, snapshot)
nodesMenemukan dan menargetkan perangkat yang telah dipasangkan
cron / gatewayMengelola pekerjaan terjadwal; memeriksa, mem-patch, memulai ulang, atau memperbarui gateway
image / image_generateMenganalisis atau membuat gambar
ttsKonversi text-to-speech satu kaliTTS
sessions_* / subagents / agents_listManajemen sesi, status, dan orkestrasi sub-agentSub-agents
session_statusReadback bergaya /status yang ringan dan override model sesiSession Tools
Untuk pekerjaan gambar, gunakan image untuk analisis dan image_generate untuk pembuatan atau pengeditan. Jika Anda menargetkan openai/*, google/*, fal/*, atau provider gambar non-default lainnya, konfigurasikan auth/API key provider tersebut terlebih dahulu. session_status adalah tool status/readback ringan dalam grup sessions. Tool ini menjawab pertanyaan bergaya /status tentang sesi saat ini dan dapat secara opsional menetapkan override model per sesi; model=default menghapus override tersebut. Seperti /status, tool ini dapat mengisi kembali penghitung token/cache yang jarang dan label model runtime aktif dari entri usage transkrip terbaru. gateway adalah tool runtime khusus pemilik untuk operasi gateway:
  • config.schema.lookup untuk satu subtree config dengan scope path sebelum edit
  • config.get untuk snapshot config saat ini + hash
  • config.patch untuk pembaruan config parsial dengan restart
  • config.apply hanya untuk penggantian config penuh
  • update.run untuk self-update eksplisit + restart
Untuk perubahan parsial, pilih config.schema.lookup lalu config.patch. Gunakan config.apply hanya saat Anda memang sengaja mengganti seluruh config. Tool ini juga menolak mengubah tools.exec.ask atau tools.exec.security; alias legacy tools.bash.* dinormalisasi ke path exec terlindungi yang sama.

Tool yang disediakan plugin

Plugin dapat mendaftarkan tool tambahan. Beberapa contoh:
  • Lobster — runtime alur kerja typed dengan persetujuan yang dapat dilanjutkan
  • LLM Task — langkah LLM hanya-JSON untuk output terstruktur
  • Diffs — penampil dan perender diff
  • OpenProse — orkestrasi alur kerja markdown-first

Konfigurasi tool

Daftar izin dan penolakan

Kontrol tool mana yang dapat dipanggil agen melalui tools.allow / tools.deny di config. Deny selalu menang atas allow.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

Profil tool

tools.profile menetapkan allowlist dasar sebelum allow/deny diterapkan. Override per agen: agents.list[].tools.profile.
ProfileYang termasuk di dalamnya
fullTanpa pembatasan (sama seperti tidak disetel)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalHanya session_status

Grup tool

Gunakan singkatan group:* di daftar allow/deny:
GroupTool
group:runtimeexec, process, code_execution (bash diterima sebagai alias untuk 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:openclawSemua tool bawaan OpenClaw (tidak termasuk tool plugin)
sessions_history mengembalikan tampilan recall yang dibatasi dan difilter demi keamanan. Tool ini menghapus tag thinking, scaffolding <relevant-memories>, payload XML tool-call teks biasa (termasuk <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls>, dan blok tool-call yang terpotong), scaffolding tool-call yang diturunkan, token kontrol model ASCII/full-width yang bocor, dan XML tool-call MiniMax yang malformed dari teks asisten, lalu menerapkan redaksi/pemotongan serta placeholder kemungkinan baris terlalu besar alih-alih bertindak sebagai dump transkrip mentah.

Pembatasan spesifik provider

Gunakan tools.byProvider untuk membatasi tool pada provider tertentu tanpa mengubah default global:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}