Get started
Pubblicazione
Pubblicazione
La pubblicazione invia una cartella di skill o un pacchetto Plugin a ClawHub sotto il proprietario che scegli. ClawHub verifica che il tuo token possa pubblicare per quel proprietario, convalida metadati, nome, versione, file e informazioni sulla sorgente, quindi archivia la release e avvia controlli di sicurezza automatizzati.
Se la convalida non riesce, non viene pubblicato nulla. Le nuove release possono anche restare fuori dalle normali superfici di installazione e download finché la revisione non è completata.
Skills
Il percorso di pubblicazione più semplice è la CLI. Accedi, quindi pubblica una cartella di skill locale:
clawhub loginclawhub skill publish ./my-skill \ --slug my-skill \ --name "My Skill" \ --owner <owner>Usa --owner <handle> quando pubblichi per il proprietario di un'organizzazione. Omettilo per pubblicare come
utente autenticato. La pubblicazione salta i contenuti invariati. Una nuova skill inizia
da 1.0.0, e le modifiche successive pubblicano automaticamente la versione patch seguente. Passa
--version solo quando ti serve una versione esplicita.
Per i repository di catalogo, usa il workflow riutilizzabile
skill-publish.yml di ClawHub.
Chiama skill publish per ogni cartella di skill immediata sotto root (predefinito:
skills), oppure solo per la cartella fornita come skill_path.
jobs: publish: uses: openclaw/clawhub/.github/workflows/skill-publish.yml@main with: owner: <owner> dry_run: false secrets: clawhub_token: ${{ secrets.CLAWHUB_TOKEN }}Usa dry_run: true per visualizzare in anteprima le skill nuove e modificate senza pubblicarle.
Plugin
I Plugin usano nomi di pacchetto in stile npm. I nomi di pacchetto con scope includono il proprietario nella prima parte del nome:
@owner/package-nameLo scope deve corrispondere al proprietario di pubblicazione selezionato. Se il tuo pacchetto si chiama
@openclaw/dronzer, può essere pubblicato solo come @openclaw. Se pubblichi come
@vintageayu, rinomina il pacchetto in @vintageayu/dronzer.
Questo impedisce a un pacchetto di rivendicare un namespace di organizzazione che il publisher non controlla.
Se sei il legittimo proprietario di un'organizzazione, brand, scope di pacchetto, handle proprietario o namespace che è già rivendicato o riservato su ClawHub, apri una segnalazione di rivendicazione organizzazione / namespace con prove pubbliche e non sensibili. Consulta Rivendicazioni di organizzazioni e namespace per sapere cosa includere e cosa tenere fuori dalle segnalazioni pubbliche.
Prima di pubblicare un Plugin
- Scegli un proprietario che corrisponda allo scope del pacchetto.
- Includi
openclaw.plugin.json. I Plugin di codice richiedono anchepackage.jsonconopenclaw.compat.pluginApieopenclaw.build.openclawVersion. - Per mostrare un'icona personalizzata nella scheda del Plugin, aggiungi
iconaopenclaw.plugin.jsoncon qualsiasi URL immagine HTTPS. - Includi il repository sorgente e i metadati esatti del commit, oppure usa la CLI da un checkout basato su GitHub così può rilevarli.
- Esegui
clawhub package validate <source>prima di pubblicare. Per risultati su pacchetto, manifest, import SDK o artefatto, consulta Correzioni di convalida dei Plugin. - Esegui
clawhub package publish <source> --dry-runprima di creare una release. - Aspettati che le nuove release restino fuori dalle superfici di installazione pubbliche finché i controlli di sicurezza automatizzati e la verifica non sono completati.
Pubblicazione attendibile per i pacchetti
La pubblicazione attendibile dei pacchetti è una configurazione in due passaggi:
- Pubblica il pacchetto una volta tramite il normale
clawhub package publishmanuale o autenticato con token. Questo crea la riga del pacchetto e stabilisce i gestori del pacchetto che possono modificare la configurazione del publisher attendibile. - Un gestore del pacchetto imposta la configurazione del publisher attendibile di GitHub Actions:
clawhub package trusted-publisher set @owner/package-name \ --repository owner/repo \ --workflow-filename package-publish.ymlDopo che la configurazione è impostata, le future pubblicazioni GitHub Actions supportate possono usare
OIDC/pubblicazione attendibile senza archiviare un token ClawHub a lunga durata nel
repository. Il repository configurato e il nome file del workflow devono corrispondere alla
claim OIDC di GitHub Actions. Se passi anche --environment <name>, la claim dell'ambiente di GitHub
Actions deve corrispondere esattamente a quel nome.
ClawHub verifica il repository GitHub configurato quando viene impostata la configurazione del publisher attendibile. I repository pubblici possono essere verificati tramite metadati GitHub pubblici. I repository privati richiedono che ClawHub abbia accesso GitHub a quel repository, per esempio tramite una futura installazione della GitHub App di ClawHub o un'altra integrazione GitHub autorizzata.
L'attuale workflow riutilizzabile di pubblicazione pacchetti supporta la pubblicazione attendibile senza segreti
per le pubblicazioni workflow_dispatch quando id-token: write è
disponibile. Le pubblicazioni reali da push di tag richiedono ancora clawhub_token, quindi mantieni
CLAWHUB_TOKEN disponibile per release da tag, prime pubblicazioni, pacchetti non attendibili
o pubblicazioni di emergenza.
Ispeziona o rimuovi la configurazione con:
clawhub package trusted-publisher get @owner/package-nameclawhub package trusted-publisher delete @owner/package-nameL'eliminazione della configurazione del publisher attendibile è il percorso di rollback. Disabilita la futura creazione di token di pubblicazione attendibile finché un gestore del pacchetto non imposta di nuovo la configurazione.
Domande frequenti
Lo scope del pacchetto deve corrispondere al proprietario selezionato
Se lo scope del pacchetto e il proprietario selezionato non corrispondono, ClawHub rifiuta la pubblicazione:
Package scope "@openclaw" must match selected owner "@vintageayu".Publish as "@openclaw" or rename this package to "@vintageayu/dronzer".Per risolvere, scegli il proprietario indicato dallo scope del pacchetto, oppure rinomina il pacchetto in modo che lo scope corrisponda al proprietario con cui puoi pubblicare.
Se il nome del pacchetto ha già lo scope corretto ma il pacchetto appartiene al publisher sbagliato, trasferisci invece la proprietà:
clawhub package transfer @opik/opik-openclaw --to opikUsa il trasferimento di pacchetto o skill solo quando hai accesso amministrativo sia al proprietario attuale sia al publisher di destinazione. Il trasferimento del pacchetto non ti consente di pubblicare in uno scope che non puoi gestire.
Se non hai accesso al proprietario attuale ma ritieni che la tua organizzazione, progetto o brand sia il legittimo proprietario del namespace, apri una segnalazione di rivendicazione organizzazione / namespace con prove pubbliche e non sensibili per la revisione da parte dello staff. Consulta Rivendicazioni di organizzazioni e namespace prima di inviare la richiesta.
Questo protegge i namespace delle organizzazioni. Un pacchetto chiamato @openclaw/dronzer rivendica il
namespace @openclaw, quindi solo i publisher con accesso al proprietario @openclaw
possono pubblicarlo.