Vai al contenuto principale

Strumenti e plugin

Tutto ciò che l’agente fa oltre a generare testo avviene tramite strumenti. Gli strumenti sono il modo in cui l’agente legge file, esegue comandi, naviga sul web, invia messaggi e interagisce con i dispositivi.

Strumenti, Skills e plugin

OpenClaw ha tre livelli che lavorano insieme:
1

Gli strumenti sono ciò che l'agente invoca

Uno strumento è una funzione tipizzata che l’agente può invocare (ad es. exec, browser, web_search, message). OpenClaw include un insieme di strumenti integrati e i plugin possono registrarne altri.L’agente vede gli strumenti come definizioni di funzione strutturate inviate all’API del modello.
2

Le Skills insegnano all'agente quando e come

Una Skill è un file markdown (SKILL.md) iniettato nel prompt di sistema. Le Skills forniscono all’agente contesto, vincoli e indicazioni passo passo per usare gli strumenti in modo efficace. Le Skills si trovano nel tuo workspace, in cartelle condivise, oppure sono incluse nei plugin.Riferimento Skills | Creare Skills
3

I plugin raggruppano tutto insieme

Un plugin è un pacchetto che può registrare qualsiasi combinazione di funzionalità: canali, provider di modelli, strumenti, Skills, voce, trascrizione in tempo reale, voce in tempo reale, comprensione dei media, generazione di immagini, generazione di video, web fetch, web search e altro. Alcuni plugin sono core (inclusi con OpenClaw), altri sono esterni (pubblicati su npm dalla comunità).Installare e configurare i plugin | Crea il tuo

Strumenti integrati

Questi strumenti sono inclusi con OpenClaw e sono disponibili senza installare alcun plugin:
StrumentoCosa faPagina
exec / processEsegue comandi shell, gestisce processi in backgroundExec
code_executionEsegue analisi Python remote in sandboxCode Execution
browserControlla un browser Chromium (navigazione, clic, screenshot)Browser
web_search / x_search / web_fetchCerca nel web, cerca post su X, recupera contenuti di paginaWeb
read / write / editI/O su file nel workspace
apply_patchPatch di file multi-hunkApply Patch
messageInvia messaggi su tutti i canaliAgent Send
canvasControlla node Canvas (present, eval, snapshot)
nodesIndividua e seleziona dispositivi associati
cron / gatewayGestisce job pianificati; ispeziona, applica patch, riavvia o aggiorna il gateway
image / image_generateAnalizza o genera immagini
ttsConversione text-to-speech one-shotTTS
sessions_* / subagents / agents_listGestione delle sessioni, stato e orchestrazione di sotto-agentiSub-agents
session_statusLettura leggera in stile /status e override del modello per sessioneSession Tools
Per il lavoro sulle immagini, usa image per l’analisi e image_generate per la generazione o la modifica. Se usi openai/*, google/*, fal/* o un altro provider di immagini non predefinito, configura prima l’autenticazione/la chiave API di quel provider. session_status è lo strumento leggero di stato/rilettura nel gruppo sessions. Risponde a domande in stile /status sulla sessione corrente e può facoltativamente impostare un override del modello per sessione; model=default rimuove tale override. Come /status, può ricostruire contatori sparsi di token/cache e l’etichetta del modello runtime attivo dall’ultima voce di utilizzo della trascrizione. gateway è lo strumento runtime riservato al proprietario per le operazioni sul gateway:
  • config.schema.lookup per un sottoalbero di configurazione limitato a un percorso prima delle modifiche
  • config.get per lo snapshot di configurazione corrente + hash
  • config.patch per aggiornamenti parziali della configurazione con riavvio
  • config.apply solo per la sostituzione completa della configurazione
  • update.run per auto-aggiornamento esplicito + riavvio
Per modifiche parziali, preferisci config.schema.lookup e poi config.patch. Usa config.apply solo quando intendi sostituire l’intera configurazione. Lo strumento rifiuta anche di modificare tools.exec.ask o tools.exec.security; gli alias legacy tools.bash.* vengono normalizzati negli stessi percorsi exec protetti.

Strumenti forniti dai plugin

I plugin possono registrare strumenti aggiuntivi. Alcuni esempi:
  • Lobster — runtime di workflow tipizzato con approvazioni riprendibili
  • LLM Task — passaggio LLM solo JSON per output strutturato
  • Diffs — visualizzatore e renderer di diff
  • OpenProse — orchestrazione di workflow markdown-first

Configurazione degli strumenti

Liste di autorizzazione e di negazione

Controlla quali strumenti l’agente può invocare tramite tools.allow / tools.deny nella configurazione. Il deny prevale sempre sull’allow.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

Profili degli strumenti

tools.profile imposta una allowlist di base prima dell’applicazione di allow/deny. Override per agente: agents.list[].tools.profile.
ProfiloCosa include
fullNessuna restrizione (uguale a non impostato)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalSolo session_status

Gruppi di strumenti

Usa le abbreviazioni group:* nelle liste allow/deny:
GruppoStrumenti
group:runtimeexec, process, code_execution (bash è accettato come alias di 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:openclawTutti gli strumenti integrati di OpenClaw (esclude gli strumenti dei plugin)
sessions_history restituisce una vista di richiamo limitata e filtrata per la sicurezza. Rimuove i tag di pensiero, l’impalcatura <relevant-memories>, i payload XML di chiamata agli strumenti in testo normale (inclusi <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> e blocchi troncati di chiamata agli strumenti), l’impalcatura degradata delle chiamate agli strumenti, i token di controllo del modello ASCII/a larghezza piena trapelati e il malformed MiniMax tool-call XML dal testo dell’assistente, quindi applica redazione/troncamento e possibili placeholder per righe sovradimensionate invece di agire come dump grezzo della trascrizione.

Restrizioni specifiche del provider

Usa tools.byProvider per limitare gli strumenti per provider specifici senza modificare i valori predefiniti globali:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}