chore(i18n): refresh it translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-30 20:11:07 +00:00
parent 7a664d9a40
commit 0fe59627b0
6 changed files with 1066 additions and 1375 deletions

View File

@ -1,14 +1,14 @@
---
read_when:
- Hai problemi di connettività/autenticazione e vuoi correzioni guidate
- Hai aggiornato e vuoi una verifica rapida
- Hai problemi di connettività/autenticazione e vuoi soluzioni guidate
- Hai aggiornato e vuoi un controllo rapido
summary: Riferimento CLI per `openclaw doctor` (controlli di integrità + riparazioni guidate)
title: Diagnostica
x-i18n:
generated_at: "2026-04-30T08:43:01Z"
generated_at: "2026-04-30T20:05:25Z"
model: gpt-5.5
provider: openai
source_hash: 9985c84d23861dd9468a4659ee00519573fe6d540c436548da0a68067dbabc4c
source_hash: 265d82a10da086cf89687886e491be018a720b70021e0b26bd8f39b25a907e14
source_path: cli/doctor.md
workflow: 16
---
@ -34,7 +34,7 @@ openclaw doctor --generate-gateway-token
## Opzioni
- `--no-workspace-suggestions`: disabilita i suggerimenti di memoria/ricerca dell'area di lavoro
- `--no-workspace-suggestions`: disattiva i suggerimenti di memoria/ricerca dell'area di lavoro
- `--yes`: accetta i valori predefiniti senza chiedere conferma
- `--repair`: applica le riparazioni consigliate senza chiedere conferma
- `--fix`: alias di `--repair`
@ -45,28 +45,29 @@ openclaw doctor --generate-gateway-token
Note:
- I prompt interattivi (come le correzioni keychain/OAuth) vengono eseguiti solo quando stdin è una TTY e `--non-interactive` **non** è impostato. Le esecuzioni headless (Cron, Telegram, nessun terminale) salteranno i prompt.
- Prestazioni: le esecuzioni non interattive di `doctor` saltano il caricamento anticipato dei Plugin, così i controlli di integrità headless restano veloci. Le sessioni interattive caricano comunque completamente i Plugin quando un controllo richiede il loro contributo.
- I prompt interattivi (come le correzioni keychain/OAuth) vengono eseguiti solo quando stdin è un TTY e `--non-interactive` **non** è impostato. Le esecuzioni senza terminale (cron, Telegram, nessun terminale) salteranno i prompt.
- Prestazioni: le esecuzioni non interattive di `doctor` saltano il caricamento anticipato dei Plugin, così i controlli di integrità senza terminale restano rapidi. Le sessioni interattive caricano comunque completamente i Plugin quando un controllo richiede il loro contributo.
- `--fix` (alias di `--repair`) scrive un backup in `~/.openclaw/openclaw.json.bak` ed elimina le chiavi di configurazione sconosciute, elencando ogni rimozione.
- I controlli di integrità dello stato ora rilevano file di trascrizione orfani nella directory delle sessioni. La loro archiviazione come `.deleted.<timestamp>` richiede una conferma interattiva; `--fix`, `--yes` e le esecuzioni headless li lasciano al loro posto.
- Doctor analizza anche `~/.openclaw/cron/jobs.json` (o `cron.store`) per forme legacy dei job Cron e può riscriverle sul posto prima che lo scheduler debba normalizzarle automaticamente a runtime.
- Doctor ripara le dipendenze runtime mancanti dei Plugin inclusi senza scrivere nelle installazioni globali pacchettizzate. Per installazioni npm di proprietà root o unità systemd irrigidite, imposta `OPENCLAW_PLUGIN_STAGE_DIR` su una directory scrivibile come `/var/lib/openclaw/plugin-runtime-deps`; può anche essere un elenco di percorsi come `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, dove le root precedenti sono layer di lookup in sola lettura e la root finale è il target della riparazione.
- Doctor ripara la configurazione obsoleta dei Plugin rimuovendo gli id Plugin mancanti da `plugins.allow`/`plugins.entries`, oltre alla configurazione di canale sospesa corrispondente, ai target Heartbeat e agli override dei modelli di canale quando il rilevamento dei Plugin è sano.
- Doctor mette in quarantena la configurazione Plugin non valida disabilitando la voce `plugins.entries.<id>` interessata e rimuovendo il suo payload `config` non valido. L'avvio del Gateway salta già solo quel Plugin non valido, così altri Plugin e canali possono continuare a funzionare.
- Imposta `OPENCLAW_SERVICE_REPAIR_POLICY=external` quando un altro supervisore possiede il ciclo di vita del Gateway. Doctor segnala comunque l'integrità di Gateway/servizio e applica riparazioni non relative al servizio, ma salta installazione/avvio/riavvio/bootstrap del servizio e la pulizia dei servizi legacy.
- Su Linux, doctor ignora le unità systemd inattive aggiuntive simili al Gateway e non riscrive i metadati di comando/entrypoint per un servizio Gateway systemd in esecuzione durante la riparazione. Arresta prima il servizio o usa `openclaw gateway install --force` quando vuoi intenzionalmente sostituire il launcher attivo.
- I controlli di integrità dello stato ora rilevano i file di trascrizione orfani nella directory delle sessioni. Archiviarli come `.deleted.<timestamp>` richiede una conferma interattiva; `--fix`, `--yes` e le esecuzioni senza terminale li lasciano al loro posto.
- Doctor analizza anche `~/.openclaw/cron/jobs.json` (o `cron.store`) per individuare forme legacy dei job cron e può riscriverle sul posto prima che lo scheduler debba normalizzarle automaticamente a runtime.
- Doctor ripara le dipendenze runtime mancanti dei Plugin inclusi senza scrivere nelle installazioni globali impacchettate. Per installazioni npm di proprietà di root o unità systemd irrigidite, imposta `OPENCLAW_PLUGIN_STAGE_DIR` su una directory scrivibile come `/var/lib/openclaw/plugin-runtime-deps`; può anche essere una lista di percorsi come `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, dove le root precedenti sono livelli di consultazione in sola lettura e la root finale è il target della riparazione.
- Doctor ripara la configurazione obsoleta dei Plugin rimuovendo gli id dei Plugin mancanti da `plugins.allow`/`plugins.entries`, oltre alla configurazione dei canali pendente corrispondente, ai target Heartbeat e agli override dei modelli dei canali quando la scoperta dei Plugin è integra.
- Doctor mette in quarantena la configurazione non valida dei Plugin disabilitando la voce `plugins.entries.<id>` interessata e rimuovendo il relativo payload `config` non valido. L'avvio del Gateway salta già solo quel Plugin difettoso, così gli altri Plugin e canali possono continuare a funzionare.
- Imposta `OPENCLAW_SERVICE_REPAIR_POLICY=external` quando un altro supervisore possiede il ciclo di vita del Gateway. Doctor segnala comunque lo stato del Gateway/servizio e applica le riparazioni non di servizio, ma salta installazione/avvio/riavvio/bootstrap del servizio e la pulizia dei servizi legacy.
- Su Linux, doctor ignora le unità systemd inattive aggiuntive simili al Gateway e non riscrive i metadati di comando/entrypoint per un servizio Gateway systemd in esecuzione durante la riparazione. Arresta prima il servizio oppure usa `openclaw gateway install --force` quando vuoi intenzionalmente sostituire il launcher attivo.
- Doctor migra automaticamente la configurazione piatta legacy di Talk (`talk.voiceId`, `talk.modelId` e simili) in `talk.provider` + `talk.providers.<provider>`.
- Le esecuzioni ripetute di `doctor --fix` non segnalano/applicano più la normalizzazione di Talk quando l'unica differenza è l'ordine delle chiavi dell'oggetto.
- Doctor include un controllo di prontezza della ricerca in memoria e può consigliare `openclaw configure --section model` quando mancano le credenziali di embedding.
- Doctor avvisa quando non è configurato alcun proprietario dei comandi. Il proprietario dei comandi è l'account operatore umano autorizzato a eseguire comandi riservati al proprietario e ad approvare azioni pericolose. L'abbinamento via DM permette solo a qualcuno di parlare con il bot; se hai approvato un mittente prima che esistesse il bootstrap del primo proprietario, imposta esplicitamente `commands.ownerAllowFrom`.
- Doctor include un controllo di prontezza della ricerca in memoria e può consigliare `openclaw configure --section model` quando mancano le credenziali per gli embedding.
- Doctor avvisa quando non è configurato alcun proprietario dei comandi. Il proprietario dei comandi è l'account dell'operatore umano autorizzato a eseguire comandi riservati al proprietario e ad approvare azioni pericolose. L'abbinamento via DM consente solo a qualcuno di parlare con il bot; se hai approvato un mittente prima che esistesse il bootstrap del primo proprietario, imposta esplicitamente `commands.ownerAllowFrom`.
- Doctor avvisa quando sono configurati agenti in modalità Codex ed esistono asset personali della CLI Codex nella home Codex dell'operatore. Gli avvii locali del server app Codex usano home isolate per agente, quindi usa `openclaw migrate codex --dry-run` per inventariare gli asset che dovrebbero essere promossi deliberatamente.
- Se la modalità sandbox è abilitata ma Docker non è disponibile, doctor segnala un avviso ad alto segnale con rimedio (`install Docker` o `openclaw config set agents.defaults.sandbox.mode off`).
- Se `gateway.auth.token`/`gateway.auth.password` sono gestiti da SecretRef e non disponibili nel percorso del comando corrente, doctor segnala un avviso di sola lettura e non scrive credenziali fallback in chiaro.
- Se l'ispezione SecretRef del canale fallisce in un percorso di correzione, doctor continua e segnala un avviso invece di uscire in anticipo.
- La risoluzione automatica dello username Telegram `allowFrom` (`doctor --fix`) richiede un token Telegram risolvibile nel percorso del comando corrente. Se l'ispezione del token non è disponibile, doctor segnala un avviso e salta la risoluzione automatica per quel passaggio.
- Se `gateway.auth.token`/`gateway.auth.password` sono gestiti da SecretRef e non disponibili nel percorso del comando corrente, doctor segnala un avviso in sola lettura e non scrive credenziali di fallback in chiaro.
- Se l'ispezione SecretRef dei canali non riesce in un percorso di correzione, doctor continua e segnala un avviso invece di uscire in anticipo.
- La risoluzione automatica degli username Telegram `allowFrom` (`doctor --fix`) richiede un token Telegram risolvibile nel percorso del comando corrente. Se l'ispezione del token non è disponibile, doctor segnala un avviso e salta la risoluzione automatica per quel passaggio.
## macOS: override env di `launchctl`
Se in precedenza hai eseguito `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (o `...PASSWORD`), quel valore sovrascrive il tuo file di configurazione e può causare errori persistenti di “non autorizzato”.
Se in precedenza hai eseguito `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (o `...PASSWORD`), quel valore sovrascrive il tuo file di configurazione e può causare errori “non autorizzato” persistenti.
```bash
launchctl getenv OPENCLAW_GATEWAY_TOKEN
@ -79,4 +80,4 @@ launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD
## Correlati
- [Riferimento CLI](/it/cli)
- [Gateway doctor](/it/gateway/doctor)
- [Doctor del Gateway](/it/gateway/doctor)

View File

@ -1,24 +1,24 @@
---
read_when:
- Vuoi migrare da Hermes o da un altro sistema di agenti a OpenClaw
- Stai aggiungendo un fornitore di migrazione di proprietà del plugin
- Stai aggiungendo un provider di migrazione gestito dal Plugin
summary: Riferimento CLI per `openclaw migrate` (importa lo stato da un altro sistema di agenti)
title: Migrare
x-i18n:
generated_at: "2026-04-30T08:44:15Z"
generated_at: "2026-04-30T20:05:26Z"
model: gpt-5.5
provider: openai
source_hash: d3db14c16b8f9dcbf86a4f12558cf4e8555aa9a255637034fb804148996a225e
source_hash: ffcd9e874bdaa0a5195e712d4fccd7b3d53034cb362c7f7462e9c7df72477b1a
source_path: cli/migrate.md
workflow: 16
---
# `openclaw migrate`
Importa lo stato da un altro sistema di agenti tramite un provider di migrazione gestito da un plugin. I provider inclusi coprono [Claude](/it/install/migrating-claude) e [Hermes](/it/install/migrating-hermes); i plugin di terze parti possono registrare provider aggiuntivi.
Importa lo stato da un altro sistema agent tramite un provider di migrazione posseduto da un Plugin. I provider inclusi coprono lo stato della CLI Codex, [Claude](/it/install/migrating-claude) e [Hermes](/it/install/migrating-hermes); i plugin di terze parti possono registrare provider aggiuntivi.
<Tip>
Per le procedure guidate rivolte agli utenti, vedi [Migrazione da Claude](/it/install/migrating-claude) e [Migrazione da Hermes](/it/install/migrating-hermes). L'[hub di migrazione](/it/install/migrating) elenca tutti i percorsi.
Per guide dettagliate rivolte agli utenti, consulta [Migrazione da Claude](/it/install/migrating-claude) e [Migrazione da Hermes](/it/install/migrating-hermes). L'[hub di migrazione](/it/install/migrating) elenca tutti i percorsi.
</Tip>
## Comandi
@ -26,8 +26,12 @@ Per le procedure guidate rivolte agli utenti, vedi [Migrazione da Claude](/it/in
```bash
openclaw migrate list
openclaw migrate claude --dry-run
openclaw migrate codex --dry-run
openclaw migrate codex --skill gog-vault77-google-workspace
openclaw migrate hermes --dry-run
openclaw migrate hermes
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
openclaw migrate apply codex --yes
openclaw migrate apply claude --yes
openclaw migrate apply hermes --yes
openclaw migrate apply hermes --include-secrets --yes
@ -37,22 +41,25 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
```
<ParamField path="<provider>" type="string">
Nome di un provider di migrazione registrato, per esempio `hermes`. Esegui `openclaw migrate list` per vedere i provider installati.
Nome di un provider di migrazione registrato, ad esempio `hermes`. Esegui `openclaw migrate list` per vedere i provider installati.
</ParamField>
<ParamField path="--dry-run" type="boolean">
Costruisce il piano ed esce senza modificare lo stato.
Genera il piano ed esce senza modificare lo stato.
</ParamField>
<ParamField path="--from <path>" type="string">
Sovrascrive la directory dello stato di origine. Hermes usa `~/.hermes` come valore predefinito.
Sovrascrive la directory dello stato sorgente. Hermes usa `~/.hermes` per impostazione predefinita.
</ParamField>
<ParamField path="--include-secrets" type="boolean">
Importa le credenziali supportate. Disattivato per impostazione predefinita.
</ParamField>
<ParamField path="--overwrite" type="boolean">
Consente ad apply di sostituire le destinazioni esistenti quando il piano segnala conflitti.
Consente ad apply di sostituire i target esistenti quando il piano segnala conflitti.
</ParamField>
<ParamField path="--yes" type="boolean">
Salta la richiesta di conferma. Obbligatorio in modalità non interattiva.
Salta la richiesta di conferma. Richiesto in modalità non interattiva.
</ParamField>
<ParamField path="--skill <name>" type="string">
Seleziona un elemento di copia skill per nome della skill o id dell'elemento. Ripeti il flag per migrare più skills. Se omesso, le migrazioni Codex interattive mostrano un selettore a caselle di controllo e le migrazioni non interattive mantengono tutte le skills pianificate.
</ParamField>
<ParamField path="--no-backup" type="boolean">
Salta il backup prima dell'applicazione. Richiede `--force` quando esiste uno stato OpenClaw locale.
@ -66,20 +73,20 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
## Modello di sicurezza
`openclaw migrate` funziona prima in anteprima.
`openclaw migrate` dà priorità all'anteprima.
<AccordionGroup>
<Accordion title="Anteprima prima di applicare">
Il provider restituisce un piano dettagliato prima che venga modificato qualcosa, inclusi conflitti, elementi saltati ed elementi sensibili. I piani JSON, l'output di apply e i report di migrazione oscurano le chiavi annidate che sembrano segreti, come chiavi API, token, intestazioni di autorizzazione, cookie e password.
<Accordion title="Anteprima prima dell'applicazione">
Il provider restituisce un piano dettagliato prima che cambi qualsiasi cosa, inclusi conflitti, elementi saltati ed elementi sensibili. I piani JSON, l'output di apply e i report di migrazione oscurano le chiavi annidate che sembrano segreti, come chiavi API, token, header di autorizzazione, cookie e password.
`openclaw migrate apply <provider>` mostra l'anteprima del piano e richiede conferma prima di modificare lo stato, a meno che `--yes` non sia impostato. In modalità non interattiva, apply richiede `--yes`.
`openclaw migrate apply <provider>` mostra l'anteprima del piano e chiede conferma prima di modificare lo stato, salvo che sia impostato `--yes`. In modalità non interattiva, apply richiede `--yes`.
</Accordion>
<Accordion title="Backup">
Apply crea e verifica un backup OpenClaw prima di applicare la migrazione. Se non esiste ancora uno stato OpenClaw locale, il passaggio di backup viene saltato e la migrazione può continuare. Per saltare un backup quando lo stato esiste, passa sia `--no-backup` sia `--force`.
</Accordion>
<Accordion title="Conflitti">
Apply rifiuta di continuare quando il piano presenta conflitti. Esamina il piano, quindi riesegui con `--overwrite` se la sostituzione delle destinazioni esistenti è intenzionale. I provider possono comunque scrivere backup a livello di elemento per i file sovrascritti nella directory del report di migrazione.
Apply rifiuta di continuare quando il piano contiene conflitti. Esamina il piano, quindi riesegui con `--overwrite` se la sostituzione dei target esistenti è intenzionale. I provider possono comunque scrivere backup a livello di elemento per i file sovrascritti nella directory del report di migrazione.
</Accordion>
<Accordion title="Segreti">
I segreti non vengono mai importati per impostazione predefinita. Usa `--include-secrets` per importare le credenziali supportate.
@ -88,23 +95,60 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
## Provider Claude
Il provider Claude incluso rileva per impostazione predefinita lo stato di Claude Code in `~/.claude`. Usa `--from <path>` per importare una specifica home di Claude Code o una root di progetto.
Il provider Claude incluso rileva per impostazione predefinita lo stato di Claude Code in `~/.claude`. Usa `--from <path>` per importare una home Claude Code o una radice di progetto specifica.
<Tip>
Per una procedura guidata rivolta agli utenti, vedi [Migrazione da Claude](/it/install/migrating-claude).
Per una guida dettagliata rivolta agli utenti, consulta [Migrazione da Claude](/it/install/migrating-claude).
</Tip>
### Cosa importa Claude
- `CLAUDE.md` di progetto e `.claude/CLAUDE.md` nello spazio di lavoro dell'agente OpenClaw.
- `~/.claude/CLAUDE.md` dell'utente aggiunto a `USER.md` dello spazio di lavoro.
- `CLAUDE.md` di progetto e `.claude/CLAUDE.md` nello spazio di lavoro dell'agent OpenClaw.
- `~/.claude/CLAUDE.md` utente aggiunto a `USER.md` dello spazio di lavoro.
- Definizioni dei server MCP da `.mcp.json` di progetto, `~/.claude.json` di Claude Code e `claude_desktop_config.json` di Claude Desktop.
- Directory delle Skills di Claude che includono `SKILL.md`.
- File Markdown dei comandi Claude convertiti in Skills OpenClaw solo con invocazione manuale.
- Directory delle skill Claude che includono `SKILL.md`.
- File Markdown dei comandi Claude convertiti in skills OpenClaw solo con invocazione manuale.
### Stato archiviato e da revisionare manualmente
### Stato di archivio e revisione manuale
Hook, autorizzazioni, impostazioni predefinite dell'ambiente, memoria locale, regole con ambito di percorso, sottoagenti, cache, piani e cronologia di progetto di Claude vengono conservati nel report di migrazione o segnalati come elementi da revisionare manualmente. OpenClaw non esegue hook, non copia allowlist ampie e non importa automaticamente lo stato delle credenziali OAuth/Desktop.
Hook Claude, permessi, impostazioni predefinite dell'ambiente, memoria locale, regole con ambito su percorso, subagent, cache, piani e cronologia del progetto vengono conservati nel report di migrazione o segnalati come elementi da revisionare manualmente. OpenClaw non esegue hook, non copia allowlist ampie e non importa automaticamente lo stato delle credenziali OAuth/Desktop.
## Provider Codex
Il provider Codex incluso rileva per impostazione predefinita lo stato della CLI Codex in `~/.codex`, oppure in
`CODEX_HOME` quando tale variabile d'ambiente è impostata. Usa `--from <path>` per
inventariare una home Codex specifica.
Usa questo provider quando passi all'harness Codex di OpenClaw e vuoi
promuovere deliberatamente risorse personali utili della CLI Codex. Gli avvii del server app Codex locale
usano directory `CODEX_HOME` e `HOME` per agent, quindi per impostazione predefinita non leggono
il tuo stato personale della CLI Codex.
Eseguire `openclaw migrate codex` in un terminale interattivo mostra l'anteprima del
piano completo, poi apre un selettore a caselle di controllo per gli elementi di copia delle skill prima della conferma
finale di apply. Tutte le skills partono selezionate; deseleziona qualsiasi skill che non vuoi
copiare in questo agent. Per esecuzioni scriptate o esatte, passa `--skill <name>` una volta
per skill, ad esempio:
```bash
openclaw migrate codex --dry-run --skill gog-vault77-google-workspace
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
```
### Cosa importa Codex
- Directory delle skill della CLI Codex sotto `$CODEX_HOME/skills`, esclusa la cache
`.system` di Codex.
- AgentSkills personali sotto `$HOME/.agents/skills`, copiate nello spazio di lavoro dell'agent
OpenClaw corrente quando vuoi una proprietà per agent.
### Stato Codex da revisione manuale
I plugin nativi Codex, `config.toml` e `hooks/hooks.json` nativo non vengono
attivati automaticamente. I plugin possono esporre server MCP, app, hook o altri
comportamenti eseguibili, quindi il provider li segnala per la revisione invece di caricarli
in OpenClaw. I file di configurazione e hook vengono copiati nel report di migrazione
per revisione manuale.
## Provider Hermes
@ -115,20 +159,20 @@ Il provider Hermes incluso rileva per impostazione predefinita lo stato in `~/.h
- Configurazione del modello predefinito da `config.yaml`.
- Provider di modelli configurati ed endpoint personalizzati compatibili con OpenAI da `providers` e `custom_providers`.
- Definizioni dei server MCP da `mcp_servers` o `mcp.servers`.
- `SOUL.md` e `AGENTS.md` nello spazio di lavoro dell'agente OpenClaw.
- `SOUL.md` e `AGENTS.md` nello spazio di lavoro dell'agent OpenClaw.
- `memories/MEMORY.md` e `memories/USER.md` aggiunti ai file di memoria dello spazio di lavoro.
- Impostazioni predefinite della configurazione di memoria per la memoria su file di OpenClaw, più elementi archiviati o da revisionare manualmente per provider di memoria esterni come Honcho.
- Impostazioni predefinite della configurazione della memoria per la memoria su file OpenClaw, più elementi di archivio o revisione manuale per provider di memoria esterni come Honcho.
- Skills che includono un file `SKILL.md` sotto `skills/<name>/`.
- Valori di configurazione per singola skill da `skills.config`.
- Valori di configurazione per skill da `skills.config`.
- Chiavi API supportate da `.env`, solo con `--include-secrets`.
### Chiavi `.env` supportate
`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `OPENROUTER_API_KEY`, `GOOGLE_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, `XAI_API_KEY`, `MISTRAL_API_KEY`, `DEEPSEEK_API_KEY`.
### Stato solo archiviato
### Stato solo archivio
Lo stato Hermes che OpenClaw non può interpretare in modo sicuro viene copiato nel report di migrazione per la revisione manuale, ma non viene caricato nella configurazione o nelle credenziali live di OpenClaw. Questo conserva lo stato opaco o non sicuro senza fingere che OpenClaw possa eseguirlo o considerarlo attendibile automaticamente:
Lo stato Hermes che OpenClaw non può interpretare in sicurezza viene copiato nel report di migrazione per la revisione manuale, ma non viene caricato nella configurazione o nelle credenziali OpenClaw attive. Questo preserva lo stato opaco o non sicuro senza fingere che OpenClaw possa eseguirlo o considerarlo attendibile automaticamente:
- `plugins/`
- `sessions/`
@ -144,9 +188,9 @@ Lo stato Hermes che OpenClaw non può interpretare in modo sicuro viene copiato
openclaw doctor
```
## Contratto Plugin
## Contratto del Plugin
Le origini di migrazione sono plugin. Un plugin dichiara i propri ID provider in `openclaw.plugin.json`:
Le sorgenti di migrazione sono plugin. Un plugin dichiara i suoi id provider in `openclaw.plugin.json`:
```json
{
@ -156,22 +200,22 @@ Le origini di migrazione sono plugin. Un plugin dichiara i propri ID provider in
}
```
A runtime il plugin chiama `api.registerMigrationProvider(...)`. Il provider implementa `detect`, `plan` e `apply`. Core gestisce l'orchestrazione CLI, la politica di backup, i prompt, l'output JSON e il preflight dei conflitti. Core passa il piano revisionato in `apply(ctx, plan)`, e i provider possono ricostruire il piano solo quando quell'argomento è assente per compatibilità.
A runtime il plugin chiama `api.registerMigrationProvider(...)`. Il provider implementa `detect`, `plan` e `apply`. Core possiede l'orchestrazione CLI, la policy di backup, i prompt, l'output JSON e il preflight dei conflitti. Core passa il piano revisionato a `apply(ctx, plan)` e i provider possono rigenerare il piano solo quando quell'argomento è assente per compatibilità.
I plugin provider possono usare `openclaw/plugin-sdk/migration` per la costruzione degli elementi e i conteggi di riepilogo, più `openclaw/plugin-sdk/migration-runtime` per copie di file consapevoli dei conflitti, copie nei report solo archivio, wrapper config-runtime memorizzati nella cache e report di migrazione.
I plugin provider possono usare `openclaw/plugin-sdk/migration` per la costruzione degli elementi e i conteggi di riepilogo, più `openclaw/plugin-sdk/migration-runtime` per copie di file consapevoli dei conflitti, copie di report solo archivio, wrapper config-runtime memorizzati in cache e report di migrazione.
## Integrazione con l'onboarding
L'onboarding può offrire la migrazione quando un provider rileva un'origine nota. Sia `openclaw onboard --flow import` sia `openclaw setup --wizard --import-from hermes` usano lo stesso provider di migrazione del plugin e mostrano comunque un'anteprima prima dell'applicazione.
L'onboarding può offrire la migrazione quando un provider rileva una sorgente nota. Sia `openclaw onboard --flow import` sia `openclaw setup --wizard --import-from hermes` usano lo stesso provider di migrazione del plugin e mostrano comunque un'anteprima prima dell'applicazione.
<Note>
Le importazioni durante l'onboarding richiedono una configurazione OpenClaw nuova. Reimposta prima configurazione, credenziali, sessioni e spazio di lavoro se hai già uno stato locale. Le importazioni backup-più-sovrascrittura o merge sono abilitate da feature gate per le configurazioni esistenti.
Le importazioni durante l'onboarding richiedono una configurazione OpenClaw nuova. Reimposta prima configurazione, credenziali, sessioni e spazio di lavoro se hai già uno stato locale. Le importazioni con backup più sovrascrittura o unione sono protette da feature gate per le configurazioni esistenti.
</Note>
## Correlati
- [Migrazione da Hermes](/it/install/migrating-hermes): procedura guidata rivolta agli utenti.
- [Migrazione da Claude](/it/install/migrating-claude): procedura guidata rivolta agli utenti.
- [Migrazione da Hermes](/it/install/migrating-hermes): guida dettagliata rivolta agli utenti.
- [Migrazione da Claude](/it/install/migrating-claude): guida dettagliata rivolta agli utenti.
- [Migrazione](/it/install/migrating): sposta OpenClaw su una nuova macchina.
- [Doctor](/it/gateway/doctor): controllo dello stato dopo l'applicazione di una migrazione.
- [Plugin](/it/tools/plugin): installazione e registrazione dei plugin.
- [Doctor](/it/gateway/doctor): controllo di integrità dopo l'applicazione di una migrazione.
- [Plugins](/it/tools/plugin): installazione e registrazione dei plugin.

View File

@ -1,34 +1,34 @@
---
read_when:
- Devi spiegare il workspace dellagente o il suo layout dei file
- Vuoi eseguire il backup o migrare un workspace dellagente
- Devi spiegare il workspace dell'agente o la sua struttura dei file
- Vuoi creare una copia di sicurezza o migrare uno spazio di lavoro di un agente
sidebarTitle: Agent workspace
summary: 'Workspace dellagente: posizione, layout e strategia di backup'
title: Workspace dellagente
summary: 'Area di lavoro dell''agente: posizione, struttura e strategia di backup'
title: Area di lavoro dell'agente
x-i18n:
generated_at: "2026-04-26T11:26:42Z"
model: gpt-5.4
generated_at: "2026-04-30T20:05:27Z"
model: gpt-5.5
provider: openai
source_hash: 35d59d1f0dec05db30f9166a43bfa519d7299b08d093bbeb905d8f83e5cd022a
source_hash: b1ccf74cbec3ff20f4c1c1ce52f099a7ca3365b2536b0aad6ff1d3a5fafcca0a
source_path: concepts/agent-workspace.md
workflow: 15
workflow: 16
---
Il workspace è la casa dellagente. È lunica directory di lavoro usata per gli strumenti file e per il contesto del workspace. Tienilo privato e trattalo come memoria.
L'area di lavoro è la casa dell'agente. È l'unica directory di lavoro usata per gli strumenti sui file e per il contesto dell'area di lavoro. Mantienila privata e trattala come memoria.
Questo è separato da `~/.openclaw/`, che memorizza config, credenziali e sessioni.
È separata da `~/.openclaw/`, che archivia configurazione, credenziali e sessioni.
<Warning>
Il workspace è la **cwd predefinita**, non una sandbox rigida. Gli strumenti risolvono i percorsi relativi rispetto al workspace, ma i percorsi assoluti possono comunque raggiungere altre parti dellhost a meno che la sandboxing non sia abilitata. Se ti serve isolamento, usa [`agents.defaults.sandbox`](/it/gateway/sandboxing) (e/o una config sandbox per agente).
L'area di lavoro è la **cwd predefinita**, non una sandbox rigida. Gli strumenti risolvono i percorsi relativi rispetto all'area di lavoro, ma i percorsi assoluti possono comunque raggiungere altre posizioni sull'host, a meno che il sandboxing non sia abilitato. Se hai bisogno di isolamento, usa [`agents.defaults.sandbox`](/it/gateway/sandboxing) (e/o la configurazione sandbox per agente).
Quando la sandboxing è abilitata e `workspaceAccess` non è `"rw"`, gli strumenti operano dentro un workspace sandbox sotto `~/.openclaw/sandboxes`, non nel tuo workspace host.
Quando il sandboxing è abilitato e `workspaceAccess` non è `"rw"`, gli strumenti operano dentro un'area di lavoro sandbox in `~/.openclaw/sandboxes`, non nella tua area di lavoro host.
</Warning>
## Posizione predefinita
- Predefinita: `~/.openclaw/workspace`
- Se `OPENCLAW_PROFILE` è impostata e non è `"default"`, il valore predefinito diventa `~/.openclaw/workspace-<profile>`.
- Override in `~/.openclaw/openclaw.json`:
- Se `OPENCLAW_PROFILE` è impostato e non è `"default"`, il valore predefinito diventa `~/.openclaw/workspace-<profile>`.
- Sovrascrivi in `~/.openclaw/openclaw.json`:
```json5
{
@ -40,96 +40,97 @@ Quando la sandboxing è abilitata e `workspaceAccess` non è `"rw"`, gli strumen
}
```
`openclaw onboard`, `openclaw configure` o `openclaw setup` creeranno il workspace e inizializzeranno i file bootstrap se mancanti.
`openclaw onboard`, `openclaw configure` o `openclaw setup` creerà l'area di lavoro e inizializzerà i file di bootstrap se mancano.
<Note>
Le copie di inizializzazione della sandbox accettano solo file regolari interni al workspace; alias symlink/hardlink che risolvono allesterno del workspace di origine vengono ignorati.
Le copie seed della sandbox accettano solo normali file interni all'area di lavoro; gli alias symlink/hardlink che si risolvono fuori dall'area di lavoro sorgente vengono ignorati.
</Note>
Se gestisci già tu i file del workspace, puoi disabilitare la creazione dei file bootstrap:
Se gestisci già tu i file dell'area di lavoro, puoi disabilitare la creazione dei file di bootstrap:
```json5
{ agents: { defaults: { skipBootstrap: true } } }
```
## Cartelle extra del workspace
## Cartelle aggiuntive dell'area di lavoro
Le installazioni meno recenti potrebbero aver creato `~/openclaw`. Mantenere più directory workspace può causare deriva confusa di auth o stato, perché solo un workspace è attivo alla volta.
Installazioni più vecchie potrebbero aver creato `~/openclaw`. Mantenere più directory dell'area di lavoro può causare confusione nell'autenticazione o deriva dello stato, perché solo un'area di lavoro è attiva alla volta.
<Note>
**Raccomandazione:** mantieni un solo workspace attivo. Se non usi più le cartelle extra, archiviale o spostale nel Cestino (ad esempio `trash ~/openclaw`). Se mantieni intenzionalmente più workspace, assicurati che `agents.defaults.workspace` punti a quello attivo.
**Consiglio:** mantieni una sola area di lavoro attiva. Se non usi più le cartelle aggiuntive, archiviale o spostale nel Cestino (per esempio `trash ~/openclaw`). Se mantieni intenzionalmente più aree di lavoro, assicurati che `agents.defaults.workspace` punti a quella attiva.
`openclaw doctor` avvisa quando rileva directory workspace extra.
`openclaw doctor` avvisa quando rileva directory dell'area di lavoro aggiuntive.
</Note>
## Mappa dei file del workspace
## Mappa dei file dell'area di lavoro
Questi sono i file standard che OpenClaw si aspetta allinterno del workspace:
Questi sono i file standard che OpenClaw si aspetta dentro l'area di lavoro:
<AccordionGroup>
<Accordion title="AGENTS.md — istruzioni operative">
Istruzioni operative per lagente e su come dovrebbe usare la memoria. Caricato allinizio di ogni sessione. Buon posto per regole, priorità e dettagli su “come comportarsi”.
<Accordion title="AGENTS.md — operating instructions">
Istruzioni operative per l'agente e su come dovrebbe usare la memoria. Caricate all'inizio di ogni sessione. Un buon posto per regole, priorità e dettagli su "come comportarsi".
</Accordion>
<Accordion title="SOUL.md — persona e tono">
Persona, tono e confini. Caricato a ogni sessione. Guida: [guida alla personalità di SOUL.md](/it/concepts/soul).
<Accordion title="SOUL.md — persona and tone">
Persona, tono e limiti. Caricato a ogni sessione. Guida: [guida alla personalità SOUL.md](/it/concepts/soul).
</Accordion>
<Accordion title="USER.md — chi è lutente">
Chi è lutente e come rivolgersi a lui. Caricato a ogni sessione.
<Accordion title="USER.md — who the user is">
Chi è l'utente e come rivolgersi a lui. Caricato a ogni sessione.
</Accordion>
<Accordion title="IDENTITY.md — nome, vibe, emoji">
Nome, vibe ed emoji dellagente. Creato/aggiornato durante il rituale bootstrap.
<Accordion title="IDENTITY.md — name, vibe, emoji">
Nome, stile ed emoji dell'agente. Creato/aggiornato durante il rituale di bootstrap.
</Accordion>
<Accordion title="TOOLS.md — convenzioni degli strumenti locali">
Note sui tuoi strumenti e convenzioni locali. Non controlla la disponibilità degli strumenti; è solo una guida.
<Accordion title="TOOLS.md — local tool conventions">
Note sui tuoi strumenti locali e sulle convenzioni. Non controlla la disponibilità degli strumenti; è solo una guida.
</Accordion>
<Accordion title="HEARTBEAT.md — checklist Heartbeat">
Piccola checklist facoltativa per le esecuzioni di Heartbeat. Mantienila breve per evitare consumo di token.
<Accordion title="HEARTBEAT.md — heartbeat checklist">
Piccola checklist facoltativa per le esecuzioni Heartbeat. Tienila breve per evitare consumo di token.
</Accordion>
<Accordion title="BOOT.md — checklist di avvio">
Checklist di avvio facoltativa eseguita automaticamente al riavvio del Gateway (quando gli [hook interni](/it/automation/hooks) sono abilitati). Mantienila breve; usa lo strumento message per gli invii in uscita.
<Accordion title="BOOT.md — startup checklist">
Checklist di avvio facoltativa eseguita automaticamente al riavvio del Gateway (quando gli [hook interni](/it/automation/hooks) sono abilitati). Tienila breve; usa lo strumento messaggi per gli invii in uscita.
</Accordion>
<Accordion title="BOOTSTRAP.md — rituale di prima esecuzione">
Rituale una tantum di prima esecuzione. Viene creato solo per un workspace completamente nuovo. Eliminalo dopo che il rituale è completo.
<Accordion title="BOOTSTRAP.md — first-run ritual">
Rituale una tantum della prima esecuzione. Creato solo per un'area di lavoro completamente nuova. Eliminalo dopo il completamento del rituale.
</Accordion>
<Accordion title="memory/YYYY-MM-DD.md — log giornaliero della memoria">
Log giornaliero della memoria (un file al giorno). Si consiglia di leggere oggi + ieri allavvio della sessione.
<Accordion title="memory/YYYY-MM-DD.md — daily memory log">
Log giornaliero della memoria (un file al giorno). Consigliato leggere oggi + ieri all'avvio della sessione.
</Accordion>
<Accordion title="MEMORY.md — memoria a lungo termine curata (facoltativa)">
Memoria a lungo termine curata. Caricala solo nella sessione principale e privata (non in contesti condivisi/di gruppo). Consulta [Memory](/it/concepts/memory) per il flusso di lavoro e lo svuotamento automatico della memoria.
<Accordion title="MEMORY.md — curated long-term memory (optional)">
Memoria a lungo termine curata. Caricala solo nella sessione principale e privata (non nei contesti condivisi/di gruppo). Consulta [Memoria](/it/concepts/memory) per il flusso di lavoro e lo svuotamento automatico della memoria.
</Accordion>
<Accordion title="skills/ — Skills del workspace (facoltative)">
Skills specifiche del workspace. Posizione Skills a precedenza più alta per quel workspace. Sovrascrive le Skills dellagente del progetto, le Skills personali dellagente, le Skills gestite, le Skills incluse e `skills.load.extraDirs` quando i nomi coincidono.
<Accordion title="skills/ — workspace skills (optional)">
Skills specifiche dell'area di lavoro. Posizione delle Skills con precedenza più alta per quell'area di lavoro. Sovrascrive le Skills dell'agente del progetto, le Skills personali dell'agente, le Skills gestite, le Skills incluse e `skills.load.extraDirs` quando i nomi coincidono.
</Accordion>
<Accordion title="canvas/ — file Canvas UI (facoltativi)">
File Canvas UI per display dei Node (ad esempio `canvas/index.html`).
<Accordion title="canvas/ — Canvas UI files (optional)">
File dell'interfaccia Canvas per visualizzazioni dei nodi (per esempio `canvas/index.html`).
</Accordion>
</AccordionGroup>
<Note>
Se manca un file bootstrap, OpenClaw inserisce nella sessione un marcatore di “file mancante” e continua. I file bootstrap grandi vengono troncati quando vengono inseriti; regola i limiti con `agents.defaults.bootstrapMaxChars` (predefinito: 12000) e `agents.defaults.bootstrapTotalMaxChars` (predefinito: 60000). `openclaw setup` può ricreare i valori predefiniti mancanti senza sovrascrivere i file esistenti.
Se manca un file di bootstrap, OpenClaw inserisce nella sessione un marcatore di "file mancante" e continua. I file di bootstrap grandi vengono troncati quando inseriti; regola i limiti con `agents.defaults.bootstrapMaxChars` (predefinito: 12000) e `agents.defaults.bootstrapTotalMaxChars` (predefinito: 60000). `openclaw setup` può ricreare i file predefiniti mancanti senza sovrascrivere quelli esistenti.
</Note>
## Cosa NON è nel workspace
## Cosa NON è nell'area di lavoro
Questi elementi si trovano sotto `~/.openclaw/` e NON dovrebbero essere inclusi nel repo del workspace:
Questi si trovano sotto `~/.openclaw/` e NON dovrebbero essere inclusi nel repository dell'area di lavoro:
- `~/.openclaw/openclaw.json` (config)
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (profili auth del modello: OAuth + chiavi API)
- `~/.openclaw/credentials/` (stato di canale/provider più dati legacy di importazione OAuth)
- `~/.openclaw/agents/<agentId>/sessions/` (trascrizioni delle sessioni + metadati)
- `~/.openclaw/openclaw.json` (configurazione)
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (profili di autenticazione dei modelli: OAuth + chiavi API)
- `~/.openclaw/agents/<agentId>/agent/codex-home/` (account runtime Codex per agente, configurazione, Skills, plugins e stato nativo dei thread)
- `~/.openclaw/credentials/` (stato canale/provider più dati di importazione OAuth legacy)
- `~/.openclaw/agents/<agentId>/sessions/` (trascrizioni sessione + metadati)
- `~/.openclaw/skills/` (Skills gestite)
Se devi migrare sessioni o config, copiale separatamente e tienile fuori dal controllo di versione.
Se devi migrare sessioni o configurazione, copiale separatamente e tienile fuori dal controllo versione.
## Backup Git (consigliato, privato)
Tratta il workspace come memoria privata. Inseriscilo in un repo git **privato** così sarà sottoposto a backup e recuperabile.
Tratta l'area di lavoro come memoria privata. Mettila in un repository git **privato** così viene sottoposta a backup ed è recuperabile.
Esegui questi passaggi sulla macchina dove gira il Gateway (è lì che si trova il workspace).
Esegui questi passaggi sulla macchina in cui gira il Gateway (cioè dove si trova l'area di lavoro).
<Steps>
<Step title="Inizializza il repo">
Se git è installato, i workspace nuovi vengono inizializzati automaticamente. Se questo workspace non è già un repo, esegui:
<Step title="Initialize the repo">
Se git è installato, le aree di lavoro completamente nuove vengono inizializzate automaticamente. Se questa area di lavoro non è già un repository, esegui:
```bash
cd ~/.openclaw/workspace
@ -139,12 +140,12 @@ Esegui questi passaggi sulla macchina dove gira il Gateway (è lì che si trova
```
</Step>
<Step title="Aggiungi un remote privato">
<Step title="Add a private remote">
<Tabs>
<Tab title="GitHub web UI">
1. Crea un nuovo repository **privato** su GitHub.
2. Non inizializzarlo con un README (evita conflitti di merge).
3. Copia lURL remote HTTPS.
3. Copia l'URL remoto HTTPS.
4. Aggiungi il remote ed esegui il push:
```bash
@ -162,7 +163,7 @@ Esegui questi passaggi sulla macchina dove gira il Gateway (è lì che si trova
<Tab title="GitLab web UI">
1. Crea un nuovo repository **privato** su GitLab.
2. Non inizializzarlo con un README (evita conflitti di merge).
3. Copia lURL remote HTTPS.
3. Copia l'URL remoto HTTPS.
4. Aggiungi il remote ed esegui il push:
```bash
@ -174,7 +175,7 @@ Esegui questi passaggi sulla macchina dove gira il Gateway (è lì che si trova
</Tabs>
</Step>
<Step title="Aggiornamenti continui">
<Step title="Ongoing updates">
```bash
git status
git add .
@ -184,19 +185,19 @@ Esegui questi passaggi sulla macchina dove gira il Gateway (è lì che si trova
</Step>
</Steps>
## Non eseguire il commit dei segreti
## Non eseguire commit di segreti
<Warning>
Anche in un repo privato, evita di memorizzare segreti nel workspace:
Anche in un repository privato, evita di archiviare segreti nell'area di lavoro:
- Chiavi API, token OAuth, password o credenziali private.
- Qualsiasi cosa sotto `~/.openclaw/`.
- Dump grezzi di chat o allegati sensibili.
Se devi memorizzare riferimenti sensibili, usa segnaposto e conserva il segreto reale altrove (password manager, variabili dambiente o `~/.openclaw/`).
Se devi archiviare riferimenti sensibili, usa segnaposto e tieni il segreto reale altrove (gestore di password, variabili d'ambiente o `~/.openclaw/`).
</Warning>
Starter suggerito per `.gitignore`:
Starter `.gitignore` suggerito:
```gitignore
.DS_Store
@ -206,31 +207,31 @@ Starter suggerito per `.gitignore`:
**/secrets*
```
## Spostare il workspace su una nuova macchina
## Spostare l'area di lavoro su una nuova macchina
<Steps>
<Step title="Clona il repo">
Clona il repo nel percorso desiderato (predefinito `~/.openclaw/workspace`).
<Step title="Clone the repo">
Clona il repository nel percorso desiderato (predefinito `~/.openclaw/workspace`).
</Step>
<Step title="Aggiorna la config">
<Step title="Update config">
Imposta `agents.defaults.workspace` su quel percorso in `~/.openclaw/openclaw.json`.
</Step>
<Step title="Inizializza i file mancanti">
<Step title="Seed missing files">
Esegui `openclaw setup --workspace <path>` per inizializzare eventuali file mancanti.
</Step>
<Step title="Copia le sessioni (facoltativo)">
<Step title="Copy sessions (optional)">
Se hai bisogno delle sessioni, copia separatamente `~/.openclaw/agents/<agentId>/sessions/` dalla vecchia macchina.
</Step>
</Steps>
## Note avanzate
- Il routing multi-agente può usare workspace diversi per agente. Consulta [Channel routing](/it/channels/channel-routing) per la configurazione del routing.
- Se `agents.defaults.sandbox` è abilitato, le sessioni non principali possono usare workspace sandbox per sessione sotto `agents.defaults.sandbox.workspaceRoot`.
- Il routing multi-agente può usare aree di lavoro diverse per agente. Consulta [routing dei canali](/it/channels/channel-routing) per la configurazione del routing.
- Se `agents.defaults.sandbox` è abilitato, le sessioni non principali possono usare aree di lavoro sandbox per sessione sotto `agents.defaults.sandbox.workspaceRoot`.
## Correlati
- [Heartbeat](/it/gateway/heartbeat) — file workspace HEARTBEAT.md
- [Sandboxing](/it/gateway/sandboxing) — accesso al workspace in ambienti sandboxati
- [Session](/it/concepts/session) — percorsi di archiviazione delle sessioni
- [Standing orders](/it/automation/standing-orders) — istruzioni persistenti nei file del workspace
- [Heartbeat](/it/gateway/heartbeat) — file dell'area di lavoro HEARTBEAT.md
- [Sandboxing](/it/gateway/sandboxing) — accesso all'area di lavoro in ambienti sandbox
- [Sessione](/it/concepts/session) — percorsi di archiviazione delle sessioni
- [Ordini permanenti](/it/automation/standing-orders) — istruzioni persistenti nei file dell'area di lavoro

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,58 +1,58 @@
---
read_when:
- Aggiunta o modifica di Skills
- Modifica del gating delle Skills, delle allowlist o delle regole di caricamento
- Aggiungere o modificare Skills
- Modifica dei controlli di accesso delle Skills, degli elenchi consentiti o delle regole di caricamento
- Comprendere la precedenza delle Skills e il comportamento degli snapshot
sidebarTitle: Skills
summary: 'Skills: gestiti vs spazio di lavoro, regole di controllo, liste di consentiti degli agenti e collegamento della configurazione'
summary: 'Skills: gestite vs dell''area di lavoro, regole di controllo, allowlist degli agenti e cablaggio della configurazione'
title: Skills
x-i18n:
generated_at: "2026-04-30T09:17:51Z"
generated_at: "2026-04-30T20:05:39Z"
model: gpt-5.5
provider: openai
source_hash: d7dd17f52119bf0a0bb197025070abb68f7667a7d22c3d5fa6ef2f666110a45a
source_hash: b58d690786756bd3539940aae9f2abcb8a497798ed7b6afeb5e6d6e255fcf257
source_path: tools/skills.md
workflow: 16
---
OpenClaw usa cartelle di skill **compatibili con [AgentSkills](https://agentskills.io)** per insegnare all'agente come usare gli strumenti. Ogni skill è una directory che contiene un `SKILL.md` con frontmatter YAML e istruzioni. OpenClaw carica le skill incluse più eventuali override locali opzionali e le filtra al momento del caricamento in base ad ambiente, configurazione e presenza dei binari.
OpenClaw usa cartelle di skill **compatibili con [AgentSkills](https://agentskills.io)** per insegnare all'agente come usare gli strumenti. Ogni skill è una directory contenente un file `SKILL.md` con frontmatter YAML e istruzioni. OpenClaw carica le skill incluse più eventuali override locali opzionali e le filtra al momento del caricamento in base ad ambiente, configurazione e presenza dei binari.
## Posizioni e precedenza
OpenClaw carica le skill da queste fonti, **dalla precedenza più alta alla più bassa**:
OpenClaw carica le skill da queste fonti, **prima la precedenza più alta**:
| # | Fonte | Percorso |
| --- | --------------------- | -------------------------------- |
| 1 | Skill del workspace | `<workspace>/skills` |
| 2 | Skill agente progetto | `<workspace>/.agents/skills` |
| 3 | Skill agente personali | `~/.agents/skills` |
| 3 | Skill agente personali | `~/.agents/skills` |
| 4 | Skill gestite/locali | `~/.openclaw/skills` |
| 5 | Skill incluse | fornite con l'installazione |
| 6 | Cartelle skill extra | `skills.load.extraDirs` (config) |
Se il nome di una skill è in conflitto, vince la fonte con precedenza più alta.
Se il nome di una skill è in conflitto, vince la fonte più alta.
## Skill per agente rispetto a skill condivise
La directory nativa `$CODEX_HOME/skills` della CLI Codex non è una di queste radici delle skill di OpenClaw. In modalità harness Codex, gli avvii locali dell'app-server usano home Codex isolate per agente, quindi le skill personali della CLI Codex non vengono caricate implicitamente. Usa `openclaw migrate codex --dry-run` per inventariarle e `openclaw migrate codex` per scegliere le directory delle skill con un prompt interattivo a caselle di controllo prima di copiarle nel workspace dell'agente OpenClaw corrente. Per esecuzioni non interattive, ripeti `--skill <name>` per le skill esatte da copiare.
## Skill per agente e condivise
Nelle configurazioni **multi-agente**, ogni agente ha il proprio workspace:
| Ambito | Percorso | Visibile a |
| ---------------------- | ------------------------------------------- | --------------------------- |
| Per agente | `<workspace>/skills` | Solo quell'agente |
| Agente di progetto | `<workspace>/.agents/skills` | Solo l'agente di quel workspace |
| Agente personale | `~/.agents/skills` | Tutti gli agenti su quella macchina |
| Gestite/locali condivise | `~/.openclaw/skills` | Tutti gli agenti su quella macchina |
| Ambito | Percorso | Visibile a |
| -------------------- | ------------------------------------------- | --------------------------- |
| Per agente | `<workspace>/skills` | Solo quell'agente |
| Agente progetto | `<workspace>/.agents/skills` | Solo l'agente di quel workspace |
| Agente personale | `~/.agents/skills` | Tutti gli agenti su quella macchina |
| Gestite/locali condivise | `~/.openclaw/skills` | Tutti gli agenti su quella macchina |
| Directory extra condivise | `skills.load.extraDirs` (precedenza più bassa) | Tutti gli agenti su quella macchina |
Stesso nome in più posizioni → vince la fonte con precedenza più alta. Il workspace batte
agente di progetto, batte agente personale, batte gestite/locali, batte incluse,
batte directory extra.
Stesso nome in più posizioni → vince la fonte più alta. Il workspace batte
l'agente progetto, che batte l'agente personale, che batte gestite/locali, che batte incluse, che batte le directory extra.
## Allowlist delle skill degli agenti
La **posizione** della skill e la **visibilità** della skill sono controlli separati.
Posizione/precedenza decide quale copia di una skill con lo stesso nome vince; le
allowlist degli agenti decidono quali skill un agente può effettivamente usare.
La **posizione** delle skill e la **visibilità** delle skill sono controlli separati.
Posizione/precedenza decide quale copia di una skill con lo stesso nome vince; le allowlist degli agenti decidono quali skill un agente può effettivamente usare.
```json5
{
@ -70,75 +70,57 @@ allowlist degli agenti decidono quali skill un agente può effettivamente usare.
```
<AccordionGroup>
<Accordion title="Regole dell'allowlist">
- Ometti `agents.defaults.skills` per avere skill senza restrizioni per impostazione predefinita.
<Accordion title="Regole allowlist">
- Ometti `agents.defaults.skills` per skill senza restrizioni per impostazione predefinita.
- Ometti `agents.list[].skills` per ereditare `agents.defaults.skills`.
- Imposta `agents.list[].skills: []` per non avere skill.
- Imposta `agents.list[].skills: []` per nessuna skill.
- Un elenco `agents.list[].skills` non vuoto è l'insieme **finale** per quell'agente — non viene unito ai valori predefiniti.
- L'allowlist effettiva si applica a costruzione del prompt, scoperta dei comandi slash delle skill, sincronizzazione della sandbox e snapshot delle skill.
- L'allowlist effettiva si applica a creazione dei prompt, rilevamento degli slash-command delle skill, sincronizzazione sandbox e snapshot delle skill.
</Accordion>
</AccordionGroup>
## Plugin e skill
I Plugin possono fornire le proprie skill elencando directory `skills` in
`openclaw.plugin.json` (percorsi relativi alla radice del plugin). Le skill del Plugin
si caricano quando il Plugin è abilitato. Questo è il posto giusto per guide operative
specifiche dello strumento troppo lunghe per la descrizione dello strumento ma che devono
essere disponibili ogni volta che il Plugin è installato — per esempio, il plugin browser
fornisce una skill `browser-automation` per il controllo del browser in più passaggi.
I Plugin possono fornire le proprie skill elencando le directory `skills` in `openclaw.plugin.json` (percorsi relativi alla radice del Plugin). Le skill del Plugin vengono caricate quando il Plugin è abilitato. Questo è il posto giusto per guide operative specifiche degli strumenti che sono troppo lunghe per la descrizione dello strumento ma dovrebbero essere disponibili ogni volta che il Plugin è installato — per esempio, il Plugin browser fornisce una skill `browser-automation` per il controllo del browser in più passaggi.
Le directory delle skill dei Plugin vengono unite nello stesso percorso a bassa precedenza di
`skills.load.extraDirs`, quindi una skill inclusa, gestita, dell'agente o del workspace con
lo stesso nome le sovrascrive. Puoi condizionarle tramite
`metadata.openclaw.requires.config` nella voce di configurazione del Plugin.
Le directory delle skill del Plugin vengono unite nello stesso percorso a bassa precedenza di `skills.load.extraDirs`, quindi una skill inclusa, gestita, dell'agente o del workspace con lo stesso nome le sovrascrive. Puoi vincolarle tramite `metadata.openclaw.requires.config` nella voce di configurazione del Plugin.
Vedi [Plugin](/it/tools/plugin) per scoperta/configurazione e [Strumenti](/it/tools) per
la superficie degli strumenti insegnata da quelle skill.
Vedi [Plugin](/it/tools/plugin) per rilevamento/configurazione e [Strumenti](/it/tools) per la superficie degli strumenti che quelle skill insegnano.
## Skill Workshop
Il Plugin **Skill Workshop**, opzionale e sperimentale, può creare o aggiornare
skill del workspace a partire da procedure riutilizzabili osservate durante il lavoro
dell'agente. È disabilitato per impostazione predefinita e deve essere abilitato
esplicitamente tramite `plugins.entries.skill-workshop`.
Il Plugin opzionale e sperimentale **Skill Workshop** può creare o aggiornare skill del workspace da procedure riutilizzabili osservate durante il lavoro dell'agente. È disabilitato per impostazione predefinita e deve essere abilitato esplicitamente tramite `plugins.entries.skill-workshop`.
Skill Workshop scrive solo in `<workspace>/skills`, analizza i contenuti generati,
supporta approvazione in sospeso o scritture sicure automatiche, mette in quarantena
le proposte non sicure e aggiorna lo snapshot delle skill dopo scritture riuscite,
così le nuove skill diventano disponibili senza riavviare il Gateway.
Skill Workshop scrive solo in `<workspace>/skills`, scansiona i contenuti generati, supporta approvazione in sospeso o scritture sicure automatiche, mette in quarantena le proposte non sicure e aggiorna lo snapshot delle skill dopo scritture riuscite, così le nuove skill diventano disponibili senza riavviare il Gateway.
Usalo per correzioni come _"la prossima volta, verifica l'attribuzione della GIF"_ o
workflow maturati con l'esperienza come checklist di QA dei media. Inizia con approvazione
in sospeso; usa le scritture automatiche solo in workspace affidabili dopo aver esaminato
le proposte. Guida completa: [Plugin Skill Workshop](/it/plugins/skill-workshop).
Usalo per correzioni come _"la prossima volta, verifica l'attribuzione GIF"_ o workflow conquistati con fatica come checklist QA per i media. Inizia con l'approvazione in sospeso; usa le scritture automatiche solo in workspace attendibili dopo aver esaminato le sue proposte. Guida completa: [Plugin Skill Workshop](/it/plugins/skill-workshop).
## ClawHub (installazione e sincronizzazione)
[ClawHub](https://clawhub.ai) è il registro pubblico delle skill per OpenClaw.
Usa i comandi nativi `openclaw skills` per scoperta/installazione/aggiornamento, oppure la
CLI separata `clawhub` per workflow di pubblicazione/sincronizzazione. Guida completa:
[ClawHub](https://clawhub.ai) è il registro pubblico delle Skills per OpenClaw.
Usa i comandi nativi `openclaw skills` per scoprire/installare/aggiornare, oppure la
CLI separata `clawhub` per i flussi di pubblicazione/sincronizzazione. Guida completa:
[ClawHub](/it/tools/clawhub).
| Azione | Comando |
| ----------------------------------- | -------------------------------------- |
| Installa una skill nel workspace | `openclaw skills install <skill-slug>` |
| Aggiorna tutte le skill installate | `openclaw skills update --all` |
| Sincronizza (scansione + pubblicazione aggiornamenti) | `clawhub sync --all` |
| Azione | Comando |
| ---------------------------------- | -------------------------------------- |
| Installare una skill nel workspace | `openclaw skills install <skill-slug>` |
| Aggiornare tutte le skill installate | `openclaw skills update --all` |
| Sincronizzare (scansione + pubblicazione degli aggiornamenti) | `clawhub sync --all` |
`openclaw skills install` nativo installa nella directory `skills/` del workspace attivo.
Anche la CLI separata `clawhub` installa in `./skills` nella directory di lavoro corrente
(o ripiega sul workspace OpenClaw configurato). OpenClaw la rileva come
Il comando nativo `openclaw skills install` installa nella directory attiva
`skills/` del workspace. Anche la CLI separata `clawhub` installa in
`./skills` sotto la directory di lavoro corrente (oppure ripiega sul
workspace OpenClaw configurato). OpenClaw lo rileva come
`<workspace>/skills` nella sessione successiva.
Le radici delle skill configurate supportano anche un livello di raggruppamento, come
Le radici skill configurate supportano anche un livello di raggruppamento, come
`skills/<group>/<skill>/SKILL.md`, così le skill di terze parti correlate possono essere
mantenute in una cartella condivisa senza scansioni ricorsive ampie.
mantenute in una cartella condivisa senza unampia scansione ricorsiva.
Le pagine delle skill ClawHub mostrano lo stato più recente della scansione di sicurezza prima dell'installazione,
con pagine di dettaglio degli scanner per VirusTotal, ClawScan e analisi statica.
Le pagine delle skill di ClawHub mostrano lo stato dellultima scansione di sicurezza prima dellinstallazione,
con pagine di dettaglio dello scanner per VirusTotal, ClawScan e analisi statica.
`openclaw skills install <slug>` rimane solo il percorso di installazione; i publisher
recuperano i falsi positivi tramite la dashboard ClawHub o
gestiscono i falsi positivi tramite la dashboard di ClawHub o
`clawhub skill rescan <slug>`.
## Sicurezza
@ -149,12 +131,12 @@ Preferisci esecuzioni in sandbox per input non attendibili e strumenti rischiosi
[Sandboxing](/it/gateway/sandboxing) per i controlli lato agente.
</Warning>
- La scoperta delle skill nel workspace e nelle directory extra accetta solo radici di skill e file `SKILL.md` il cui realpath risolto rimane all'interno della radice configurata.
- Le installazioni delle dipendenze delle skill supportate dal Gateway (`skills.install`, onboarding e interfaccia impostazioni Skills) eseguono lo scanner integrato per codice pericoloso prima di eseguire i metadati dell'installer. I risultati `critical` bloccano per impostazione predefinita, a meno che il chiamante non imposti esplicitamente l'override pericoloso; i risultati sospetti continuano solo ad avvisare.
- `openclaw skills install <slug>` è diverso: scarica una cartella skill ClawHub nel workspace e non usa il percorso dei metadati dell'installer sopra.
- `skills.entries.*.env` e `skills.entries.*.apiKey` iniettano segreti nel processo **host** per quel turno dell'agente (non nella sandbox). Tieni i segreti fuori da prompt e log.
- Il rilevamento delle skill nel workspace e nelle directory aggiuntive accetta solo radici skill e file `SKILL.md` il cui realpath risolto rimane allinterno della radice configurata.
- Le installazioni di dipendenze delle skill supportate dal Gateway (`skills.install`, onboarding e interfaccia impostazioni Skills) eseguono lo scanner integrato per codice pericoloso prima di eseguire i metadati dellinstaller. I risultati `critical` bloccano per impostazione predefinita, a meno che il chiamante non imposti esplicitamente loverride pericoloso; i risultati sospetti continuano solo ad avvisare.
- `openclaw skills install <slug>` è diverso: scarica una cartella skill di ClawHub nel workspace e non usa il percorso dei metadati dellinstaller sopra.
- `skills.entries.*.env` e `skills.entries.*.apiKey` iniettano segreti nel processo **host** per quel turno dellagente (non nella sandbox). Tieni i segreti fuori da prompt e log.
Per un modello di minacce e checklist più ampi, vedi [Sicurezza](/it/gateway/security).
Per un modello di minaccia e checklist più ampi, vedi [Sicurezza](/it/gateway/security).
## Formato SKILL.md
@ -168,34 +150,34 @@ description: Generate or edit images via a provider-backed image workflow
```
OpenClaw segue la specifica AgentSkills per layout/intento. Il parser usato
dall'agente incorporato supporta solo chiavi frontmatter **su una singola riga**;
`metadata` deve essere un **oggetto JSON su una singola riga**. Usa `{baseDir}` nelle
istruzioni per fare riferimento al percorso della cartella della skill.
dallagente incorporato supporta solo chiavi frontmatter **a riga singola**;
`metadata` deve essere un **oggetto JSON a riga singola**. Usa `{baseDir}` nelle
istruzioni per fare riferimento al percorso della cartella skill.
### Chiavi frontmatter opzionali
<ParamField path="homepage" type="string">
URL mostrato come "Sito web" nell'interfaccia Skills di macOS. Supportato anche tramite `metadata.openclaw.homepage`.
URL mostrato come "Sito web" nellinterfaccia macOS Skills. Supportato anche tramite `metadata.openclaw.homepage`.
</ParamField>
<ParamField path="user-invocable" type="boolean" default="true">
Quando `true`, la skill viene esposta come comando slash utente.
</ParamField>
<ParamField path="disable-model-invocation" type="boolean" default="false">
Quando `true`, la skill viene esclusa dal prompt del modello (rimane disponibile tramite invocazione utente).
Quando `true`, la skill viene esclusa dal prompt del modello (rimane comunque disponibile tramite invocazione utente).
</ParamField>
<ParamField path="command-dispatch" type='"tool"'>
Quando impostato su `tool`, il comando slash bypassa il modello e viene inoltrato direttamente a uno strumento.
Quando impostato su `tool`, il comando slash bypassa il modello e viene inviato direttamente a uno strumento.
</ParamField>
<ParamField path="command-tool" type="string">
Nome dello strumento da invocare quando è impostato `command-dispatch: tool`.
</ParamField>
<ParamField path="command-arg-mode" type='"raw"' default="raw">
Per l'inoltro allo strumento, passa la stringa args grezza allo strumento (nessuna analisi core). Lo strumento viene invocato con `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
Per linvio allo strumento, inoltra la stringa grezza degli argomenti allo strumento (nessun parsing core). Lo strumento viene invocato con `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
</ParamField>
## Condizionamento (filtri al caricamento)
## Gating (filtri al caricamento)
OpenClaw filtra le skill al momento del caricamento usando `metadata` (JSON su una singola riga):
OpenClaw filtra le skill al momento del caricamento usando `metadata` (JSON a riga singola):
```markdown
---
@ -218,10 +200,10 @@ Campi sotto `metadata.openclaw`:
Quando `true`, include sempre la skill (salta gli altri gate).
</ParamField>
<ParamField path="emoji" type="string">
Emoji opzionale usata dall'interfaccia Skills di macOS.
Emoji opzionale usata dallinterfaccia macOS Skills.
</ParamField>
<ParamField path="homepage" type="string">
URL opzionale mostrato come "Sito web" nell'interfaccia Skills di macOS.
URL opzionale mostrato come "Sito web" nellinterfaccia macOS Skills.
</ParamField>
<ParamField path="os" type='"darwin" | "linux" | "win32"' >
Elenco opzionale di piattaforme. Se impostato, la skill è idonea solo su quei sistemi operativi.
@ -233,33 +215,33 @@ Campi sotto `metadata.openclaw`:
Almeno uno deve esistere in `PATH`.
</ParamField>
<ParamField path="requires.env" type="string[]">
La variabile d'ambiente deve esistere o essere fornita nella configurazione.
La variabile dambiente deve esistere o essere fornita nella configurazione.
</ParamField>
<ParamField path="requires.config" type="string[]">
Elenco di percorsi `openclaw.json` che devono essere truthy.
</ParamField>
<ParamField path="primaryEnv" type="string">
Nome della variabile d'ambiente associata a `skills.entries.<name>.apiKey`.
Nome della variabile dambiente associata a `skills.entries.<name>.apiKey`.
</ParamField>
<ParamField path="install" type="object[]">
Specifiche installer opzionali usate dall'interfaccia Skills di macOS (brew/node/go/uv/download).
Specifiche installer opzionali usate dallinterfaccia macOS Skills (brew/node/go/uv/download).
</ParamField>
Se non è presente `metadata.openclaw`, la skill è sempre idonea (a meno che
sia disabilitata nella configurazione o bloccata da `skills.allowBundled` per le skill incluse).
non sia disabilitata nella configurazione o bloccata da `skills.allowBundled` per le skill in bundle).
<Note>
I blocchi legacy `metadata.clawdbot` sono ancora accettati quando
`metadata.openclaw` è assente, così le skill installate più vecchie mantengono i propri
gate di dipendenza e suggerimenti per l'installer. Le skill nuove e aggiornate devono usare
`metadata.openclaw` è assente, così le skill installate più vecchie mantengono
i gate delle dipendenze e i suggerimenti dellinstaller. Le skill nuove e aggiornate devono usare
`metadata.openclaw`.
</Note>
### Note sul sandboxing
- `requires.bins` viene controllato sull'**host** al momento del caricamento della skill.
- Se un agente è in sandbox, il binario deve esistere anche **dentro il container**. Installalo tramite `agents.defaults.sandbox.docker.setupCommand` (o un'immagine personalizzata). `setupCommand` viene eseguito una volta dopo la creazione del container. Le installazioni di pacchetti richiedono anche uscita di rete, un file system radice scrivibile e un utente root nella sandbox.
- Esempio: la skill `summarize` (`skills/summarize/SKILL.md`) ha bisogno della CLI `summarize` nel container sandbox per essere eseguita lì.
- `requires.bins` viene controllato sull**host** al momento del caricamento della skill.
- Se un agente è in sandbox, il binario deve esistere anche **allinterno del container**. Installalo tramite `agents.defaults.sandbox.docker.setupCommand` (o unimmagine personalizzata). `setupCommand` viene eseguito una volta dopo la creazione del container. Le installazioni di pacchetti richiedono anche egress di rete, un file system root scrivibile e un utente root nella sandbox.
- Esempio: la skill `summarize` (`skills/summarize/SKILL.md`) richiede la CLI `summarize` nel container sandbox per essere eseguita lì.
### Specifiche installer
@ -289,25 +271,25 @@ metadata:
```
<AccordionGroup>
<Accordion title="Regole di selezione dell'installer">
- Se sono elencati più installer, il gateway sceglie una singola opzione preferita (brew quando disponibile, altrimenti node).
- Se tutti gli installer sono `download`, OpenClaw elenca ogni voce così puoi vedere gli artefatti disponibili.
- Le specifiche dell'installer possono includere `os: ["darwin"|"linux"|"win32"]` per filtrare le opzioni per piattaforma.
- Le installazioni Node rispettano `skills.install.nodeManager` in `openclaw.json` (predefinito: npm; opzioni: npm/pnpm/yarn/bun). Questo influisce solo sulle installazioni degli skill; il runtime Gateway dovrebbe comunque essere Node: Bun non è consigliato per WhatsApp/Telegram.
- La selezione dell'installer basata su Gateway è guidata dalle preferenze: quando le specifiche di installazione combinano tipi diversi, OpenClaw preferisce Homebrew quando `skills.install.preferBrew` è abilitato e `brew` esiste, poi `uv`, poi il gestore node configurato, poi altri fallback come `go` o `download`.
- Se ogni specifica di installazione è `download`, OpenClaw mostra tutte le opzioni di download invece di ridurle a un unico installer preferito.
<Accordion title="Regole di selezione del programma di installazione">
- Se sono elencati più programmi di installazione, il Gateway sceglie una singola opzione preferita (brew quando disponibile, altrimenti node).
- Se tutti i programmi di installazione sono `download`, OpenClaw elenca ogni voce così puoi vedere gli artefatti disponibili.
- Le specifiche del programma di installazione possono includere `os: ["darwin"|"linux"|"win32"]` per filtrare le opzioni per piattaforma.
- Le installazioni Node rispettano `skills.install.nodeManager` in `openclaw.json` (predefinito: npm; opzioni: npm/pnpm/yarn/bun). Questo influisce solo sulle installazioni delle skill; il runtime del Gateway deve comunque essere Node: Bun non è consigliato per WhatsApp/Telegram.
- La selezione del programma di installazione supportata dal Gateway è guidata dalle preferenze: quando le specifiche di installazione combinano tipi diversi, OpenClaw preferisce Homebrew quando `skills.install.preferBrew` è abilitato e `brew` esiste, poi `uv`, poi il gestore node configurato, poi altri fallback come `go` o `download`.
- Se ogni specifica di installazione è `download`, OpenClaw espone tutte le opzioni di download invece di ridurle a un solo programma di installazione preferito.
</Accordion>
<Accordion title="Dettagli per installer">
- **Installazioni Go:** se `go` manca e `brew` è disponibile, il gateway installa prima Go tramite Homebrew e imposta `GOBIN` sul `bin` di Homebrew quando possibile.
- **Installazioni download:** `url` (obbligatorio), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (predefinito: automatico quando viene rilevato un archivio), `stripComponents`, `targetDir` (predefinito: `~/.openclaw/tools/<skillKey>`).
<Accordion title="Dettagli per programma di installazione">
- **Installazioni Go:** se `go` manca e `brew` è disponibile, il Gateway installa prima Go tramite Homebrew e imposta `GOBIN` sul `bin` di Homebrew quando possibile.
- **Installazioni tramite download:** `url` (obbligatorio), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (predefinito: automatico quando viene rilevato un archivio), `stripComponents`, `targetDir` (predefinito: `~/.openclaw/tools/<skillKey>`).
</Accordion>
</AccordionGroup>
## Override della configurazione
## Override di configurazione
Gli skill inclusi e gestiti possono essere attivati/disattivati e forniti con valori env
Le skill incluse e gestite possono essere abilitate o disabilitate e fornite con valori env
sotto `skills.entries` in `~/.openclaw/openclaw.json`:
```json5
@ -333,77 +315,78 @@ sotto `skills.entries` in `~/.openclaw/openclaw.json`:
```
<ParamField path="enabled" type="boolean">
`false` disabilita lo skill anche se è incluso o installato.
Lo skill incluso `coding-agent` è opt-in: imposta
`skills.entries.coding-agent.enabled: true` prima di esporlo agli agenti,
`false` disabilita la skill anche se è inclusa o installata.
La skill inclusa `coding-agent` è opt-in: imposta
`skills.entries.coding-agent.enabled: true` prima di esporla agli agenti,
poi assicurati che uno tra `claude`, `codex`, `opencode` o `pi` sia installato e
autenticato per la propria CLI.
</ParamField>
<ParamField path="apiKey" type='string | { source, provider, id }'>
Comodità per gli skill che dichiarano `metadata.openclaw.primaryEnv`. Supporta testo in chiaro o SecretRef.
Scorciatoia per le skill che dichiarano `metadata.openclaw.primaryEnv`. Supporta testo in chiaro o SecretRef.
</ParamField>
<ParamField path="env" type="Record<string, string>">
Iniettato solo se la variabile non è già impostata nel processo.
</ParamField>
<ParamField path="config" type="object">
Contenitore opzionale per campi personalizzati per singolo skill. Le chiavi personalizzate devono stare qui.
Contenitore opzionale per campi personalizzati per singola skill. Le chiavi personalizzate devono stare qui.
</ParamField>
<ParamField path="allowBundled" type="string[]">
Allowlist opzionale solo per gli skill **inclusi**. Se impostata, sono idonei solo gli skill inclusi nell'elenco (gli skill gestiti/workspace non sono interessati).
Allowlist opzionale solo per le skill **incluse**. Se impostata, solo le skill incluse nell'elenco sono idonee (skill gestite/workspace non interessate).
</ParamField>
Se il nome dello skill contiene trattini, racchiudi la chiave tra virgolette (JSON5 consente chiavi
tra virgolette). Le chiavi di configurazione corrispondono al **nome dello skill** per impostazione predefinita: se uno skill
Se il nome della skill contiene trattini, racchiudi la chiave tra virgolette (JSON5 consente chiavi
tra virgolette). Le chiavi di configurazione corrispondono al **nome della skill** per impostazione predefinita: se una skill
definisce `metadata.openclaw.skillKey`, usa quella chiave sotto `skills.entries`.
<Note>
Per la generazione/modifica di immagini stock dentro OpenClaw, usa lo strumento core
`image_generate` con `agents.defaults.imageGenerationModel` invece
di uno skill incluso. Gli esempi di skill qui sono per workflow personalizzati o di terze parti. Per l'analisi nativa delle immagini usa lo strumento `image` con
di una skill inclusa. Gli esempi di skill qui sono per flussi di lavoro personalizzati o di terze parti.
Per l'analisi nativa delle immagini usa lo strumento `image` con
`agents.defaults.imageModel`. Se scegli `openai/*`, `google/*`,
`fal/*` o un altro modello di immagine specifico del provider, aggiungi anche la chiave
`fal/*` o un altro modello di immagine specifico di un provider, aggiungi anche la chiave
auth/API di quel provider.
</Note>
## Iniezione dell'ambiente
Quando si avvia un'esecuzione dell'agente, OpenClaw:
Quando parte un'esecuzione dell'agente, OpenClaw:
1. Legge i metadati dello skill.
1. Legge i metadati delle skill.
2. Applica `skills.entries.<key>.env` e `skills.entries.<key>.apiKey` a `process.env`.
3. Costruisce il prompt di sistema con gli skill **idonei**.
4. Ripristina l'ambiente originale al termine dell'esecuzione.
3. Costruisce il prompt di sistema con le skill **idonee**.
4. Ripristina l'ambiente originale dopo la fine dell'esecuzione.
L'iniezione dell'ambiente è **limitata all'esecuzione dell'agente**, non è un ambiente
shell globale.
di shell globale.
Per il backend incluso `claude-cli`, OpenClaw materializza anche lo stesso
Per il backend `claude-cli` incluso, OpenClaw materializza anche lo stesso
snapshot idoneo come Plugin temporaneo di Claude Code e lo passa con
`--plugin-dir`. Claude Code può quindi usare il proprio resolver nativo degli skill mentre
OpenClaw mantiene comunque la precedenza, le allowlist per agente, il gating e
l'iniezione di chiavi env/API `skills.entries.*`. Gli altri backend CLI usano solo il
`--plugin-dir`. Claude Code può quindi usare il proprio risolutore nativo di skill mentre
OpenClaw mantiene comunque precedenza, allowlist per agente, gating e
iniezione di chiavi env/API `skills.entries.*`. Gli altri backend CLI usano solo il
catalogo del prompt.
## Snapshot e aggiornamento
OpenClaw crea snapshot degli skill idonei **quando inizia una sessione** e
riutilizza tale elenco per i turni successivi nella stessa sessione. Le modifiche a
skill o configurazione hanno effetto nella successiva nuova sessione.
OpenClaw acquisisce snapshot delle skill idonee **quando una sessione inizia** e
riusa quell'elenco per i turni successivi nella stessa sessione. Le modifiche a
skill o configurazione hanno effetto alla successiva nuova sessione.
Gli Skills possono aggiornarsi a metà sessione in due casi:
Le skill possono aggiornarsi a metà sessione in due casi:
- Il watcher degli Skills è abilitato.
- Appare un nuovo nodo remoto idoneo.
- Il watcher delle skill è abilitato.
- Compare un nuovo nodo remoto idoneo.
Consideralo un **hot reload**: l'elenco aggiornato viene acquisito al
turno successivo dell'agente. Se l'allowlist effettiva degli skill dell'agente cambia per quella
sessione, OpenClaw aggiorna lo snapshot così gli skill visibili restano allineati
turno successivo dell'agente. Se l'allowlist effettiva delle skill dell'agente cambia per quella
sessione, OpenClaw aggiorna lo snapshot così le skill visibili restano allineate
con l'agente corrente.
### Watcher degli Skills
### Watcher delle skill
Per impostazione predefinita, OpenClaw osserva le cartelle degli skill e incrementa lo snapshot degli skill
quando i file `SKILL.md` cambiano. Configura sotto `skills.load`:
Per impostazione predefinita, OpenClaw osserva le cartelle delle skill e incrementa lo snapshot delle skill
quando cambiano i file `SKILL.md`. Configura sotto `skills.load`:
```json5
{
@ -416,28 +399,28 @@ quando i file `SKILL.md` cambiano. Configura sotto `skills.load`:
}
```
### Nodi macOS remoti (gateway Linux)
### Nodi macOS remoti (Gateway Linux)
Se il Gateway viene eseguito su Linux ma è connesso un **nodo macOS** con
`system.run` consentito (sicurezza delle approvazioni Exec non impostata su `deny`),
OpenClaw può considerare idonei gli skill solo macOS quando i binari richiesti
sono presenti su quel nodo. L'agente dovrebbe eseguire quegli skill
OpenClaw può considerare idonee le skill solo macOS quando i binari richiesti
sono presenti su quel nodo. L'agente deve eseguire quelle skill
tramite lo strumento `exec` con `host=node`.
Questo si basa sul fatto che il nodo segnali il proprio supporto ai comandi e su una verifica dei binari
Questo si basa sul fatto che il nodo segnali il proprio supporto dei comandi e su una sonda binaria
tramite `system.which` o `system.run`. I nodi offline **non** rendono
visibili gli skill solo remoti. Se un nodo connesso smette di rispondere alle verifiche dei binari,
OpenClaw cancella le corrispondenze dei binari in cache così gli agenti non vedono più
skill che al momento non possono essere eseguiti lì.
visibili le skill solo remote. Se un nodo connesso smette di rispondere alle sonde
bin, OpenClaw cancella le corrispondenze bin memorizzate nella cache così gli agenti non vedono più
skill che al momento non possono essere eseguite lì.
## Impatto sui token
Quando gli skill sono idonei, OpenClaw inietta un elenco XML compatto degli skill disponibili
Quando le skill sono idonee, OpenClaw inietta un elenco XML compatto delle skill disponibili
nel prompt di sistema (tramite `formatSkillsForPrompt` in
`pi-coding-agent`). Il costo è deterministico:
- **Overhead di base** (solo quando ≥1 skill): 195 caratteri.
- **Per skill:** 97 caratteri + la lunghezza dei valori XML con escape `<name>`, `<description>` e `<location>`.
- **Overhead di base** (solo quando c'è ≥1 skill): 195 caratteri.
- **Per skill:** 97 caratteri + la lunghezza dei valori XML con escaping `<name>`, `<description>` e `<location>`.
Formula (caratteri):
@ -445,29 +428,29 @@ Formula (caratteri):
total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped))
```
L'escape XML espande `& < > " '` in entità (`&amp;`, `&lt;`, ecc.),
aumentando la lunghezza. I conteggi dei token variano in base al tokenizer del modello. Una stima approssimativa
in stile OpenAI è ~4 caratteri/token, quindi **97 caratteri ≈ 24 token** per
L'escaping XML espande `& < > " '` in entità (`&amp;`, `&lt;`, ecc.),
aumentando la lunghezza. I conteggi dei token variano in base al tokenizer del modello. Una stima
approssimativa in stile OpenAI è ~4 caratteri/token, quindi **97 caratteri ≈ 24 token** per
skill più le lunghezze effettive dei campi.
## Ciclo di vita degli skill gestiti
## Ciclo di vita delle skill gestite
OpenClaw distribuisce un set di base di skill come **skill inclusi** con
OpenClaw distribuisce un set di base di skill come **skill incluse** con
l'installazione (pacchetto npm o OpenClaw.app). `~/.openclaw/skills` esiste per
override locali, ad esempio per fissare o applicare patch a uno skill senza
modificare la copia inclusa. Gli skill del workspace sono di proprietà dell'utente e prevalgono
su entrambi in caso di conflitti di nome.
override locali, per esempio per fissare una versione o applicare patch a una skill senza
modificare la copia inclusa. Le skill del workspace sono di proprietà dell'utente e hanno precedenza
su entrambe in caso di conflitti di nome.
## Cerchi altri skill?
## Cerchi altre skill?
Esplora [https://clawhub.ai](https://clawhub.ai). Schema di configurazione
completo: [Configurazione Skills](/it/tools/skills-config).
Sfoglia [https://clawhub.ai](https://clawhub.ai). Schema di configurazione completo:
[Configurazione delle skill](/it/tools/skills-config).
## Correlati
- [ClawHub](/it/tools/clawhub) — registro pubblico degli skill
- [Creazione di skill](/it/tools/creating-skills) — creazione di skill personalizzati
- [Plugin](/it/tools/plugin) — panoramica del sistema Plugin
- [ClawHub](/it/tools/clawhub) — registro pubblico delle skill
- [Creare skill](/it/tools/creating-skills) — costruire skill personalizzate
- [Plugin](/it/tools/plugin) — panoramica del sistema di Plugin
- [Plugin Skill Workshop](/it/plugins/skill-workshop) — genera skill dal lavoro dell'agente
- [Configurazione Skills](/it/tools/skills-config) — riferimento della configurazione degli skill
- [Configurazione delle skill](/it/tools/skills-config) — riferimento della configurazione delle skill
- [Comandi slash](/it/tools/slash-commands) — tutti i comandi slash disponibili