Loslegen
Veröffentlichen
Veröffentlichen
Beim Veröffentlichen wird ein Skills-Ordner oder Plugin-Paket unter dem von Ihnen ausgewählten Eigentümer an ClawHub gesendet. ClawHub prüft, ob Ihr Token für diesen Eigentümer veröffentlichen darf, validiert Metadaten, Namen, Version, Dateien und Quellinformationen, speichert anschließend das Release und startet automatisierte Sicherheitsprüfungen.
Wenn die Validierung fehlschlägt, wird nichts veröffentlicht. Neue Releases können außerdem von den regulären Installations- und Download-Oberflächen ausgeschlossen bleiben, bis die Überprüfung abgeschlossen ist.
Skills
Der einfachste Veröffentlichungsweg führt über die CLI. Melden Sie sich an und veröffentlichen Sie anschließend einen lokalen Skills-Ordner:
clawhub loginclawhub skill publish ./my-skill \ --slug my-skill \ --name "My Skill" \ --owner <owner>Verwenden Sie --owner <handle>, wenn Sie unter einem Organisationseigentümer
veröffentlichen. Lassen Sie die Angabe weg, um als authentifizierter Benutzer zu
veröffentlichen. Unveränderte Inhalte werden beim Veröffentlichen übersprungen.
Ein neuer Skill beginnt bei 1.0.0, und bei späteren Änderungen wird
automatisch die nächste Patch-Version veröffentlicht. Übergeben Sie
--version nur, wenn Sie eine explizite Version benötigen.
Verwenden Sie für Katalog-Repositorys den wiederverwendbaren
skill-publish.yml-Workflow
von ClawHub. Er ruft skill publish für jeden direkt unter
root liegenden Skills-Ordner auf (Standard:
skills) oder nur für den als skill_path angegebenen Ordner.
jobs: publish: uses: openclaw/clawhub/.github/workflows/skill-publish.yml@main with: owner: <owner> dry_run: false secrets: clawhub_token: ${{ secrets.CLAWHUB_TOKEN }}Verwenden Sie dry_run: true, um neue und geänderte Skills in einer Vorschau
anzuzeigen, ohne sie zu veröffentlichen.
Plugins
Plugins verwenden Paketnamen im npm-Stil. Paketnamen mit Scope enthalten den Eigentümer im ersten Teil des Namens:
@owner/package-nameDer Scope muss mit dem ausgewählten Veröffentlichungseigentümer übereinstimmen.
Wenn Ihr Paket @openclaw/dronzer heißt, kann es nur als @openclaw
veröffentlicht werden. Wenn Sie als @vintageayu veröffentlichen, benennen
Sie das Paket in @vintageayu/dronzer um.
Dadurch wird verhindert, dass ein Paket den Namensraum einer Organisation beansprucht, über den der Veröffentlichende keine Kontrolle hat.
Wenn Sie der rechtmäßige Eigentümer einer Organisation, Marke, eines Paket-Scopes, Eigentümer-Handles oder Namensraums sind, der auf ClawHub bereits beansprucht oder reserviert ist, erstellen Sie ein Anliegen zur Beanspruchung einer Organisation/eines Namensraums mit öffentlichen, nicht vertraulichen Nachweisen. Unter Beanspruchung von Organisationen und Namensräumen erfahren Sie, welche Angaben erforderlich sind und welche nicht in öffentliche Anliegen gehören.
Vor dem Veröffentlichen eines Plugins
- Wählen Sie einen Eigentümer, der dem Paket-Scope entspricht.
- Fügen Sie
openclaw.plugin.jsonhinzu. Code-Plugins benötigen außerdempackage.jsonmitopenclaw.compat.pluginApiundopenclaw.build.openclawVersion. - Um auf der Startseite und den Plugin-Listenseiten ein
benutzerdefiniertes Plugin-Katalogsymbol anzuzeigen, fügen Sie
iconmit einer beliebigen HTTPS-Bild-URL zuopenclaw.plugin.jsonhinzu. - Geben Sie das Quell-Repository und die Metadaten des exakten Commits an oder verwenden Sie die CLI aus einem GitHub-basierten Checkout, damit sie diese automatisch erkennen kann.
- Führen Sie vor dem Veröffentlichen
clawhub package validate <source>aus. Informationen zur Behebung von Problemen mit Paketen, Manifesten, SDK-Importen oder Artefakten finden Sie unter Fehlerbehebung bei der Plugin-Validierung. - Führen Sie
clawhub package publish <source> --dry-runaus, bevor Sie ein Release erstellen. - Rechnen Sie damit, dass neue Releases von öffentlichen Installationsoberflächen ausgeschlossen bleiben, bis automatisierte Sicherheitsprüfungen und die Verifizierung abgeschlossen sind.
Vertrauenswürdiges Veröffentlichen von Paketen
Das Einrichten des vertrauenswürdigen Veröffentlichens von Paketen erfolgt in zwei Schritten:
- Veröffentlichen Sie das Paket einmal über das reguläre manuelle
oder Token-authentifizierte
clawhub package publish. Dadurch wird der Paketeintrag erstellt und festgelegt, welche Paketverwalter die Konfiguration des vertrauenswürdigen Veröffentlichenden ändern können. - Ein Paketverwalter legt die Konfiguration des vertrauenswürdigen Veröffentlichenden für GitHub Actions fest:
clawhub package trusted-publisher set @owner/package-name \ --repository owner/repo \ --workflow-filename package-publish.ymlNachdem die Konfiguration festgelegt wurde, können künftig unterstützte
Veröffentlichungen über GitHub Actions OIDC beziehungsweise vertrauenswürdiges
Veröffentlichen nutzen, ohne ein langlebiges ClawHub-Token im Repository zu
speichern. Das konfigurierte Repository und der Workflow-Dateiname müssen mit
dem OIDC-Claim von GitHub Actions übereinstimmen. Wenn Sie zusätzlich
--environment <name> übergeben, muss der Environment-Claim von GitHub Actions
exakt mit diesem Namen übereinstimmen.
ClawHub verifiziert das konfigurierte GitHub-Repository, wenn die Konfiguration des vertrauenswürdigen Veröffentlichenden festgelegt wird. Öffentliche Repositorys können anhand öffentlicher GitHub-Metadaten verifiziert werden. Bei privaten Repositorys benötigt ClawHub Zugriff auf das betreffende GitHub-Repository, beispielsweise über eine zukünftige Installation der ClawHub GitHub App oder eine andere autorisierte GitHub-Integration.
Der aktuelle wiederverwendbare Paketveröffentlichungs-Workflow unterstützt
geheimnisfreies vertrauenswürdiges Veröffentlichen für
workflow_dispatch-Veröffentlichungen, wenn id-token: write verfügbar ist.
Reale Veröffentlichungen durch das Pushen von Tags benötigen weiterhin
clawhub_token. Halten Sie daher CLAWHUB_TOKEN für Tag-Releases,
Erstveröffentlichungen, nicht vertrauenswürdige Pakete oder
Notfallveröffentlichungen verfügbar.
Prüfen oder entfernen Sie die Konfiguration mit:
clawhub package trusted-publisher get @owner/package-nameclawhub package trusted-publisher delete @owner/package-nameDas Löschen der Konfiguration des vertrauenswürdigen Veröffentlichenden ist der Rollback-Pfad. Dadurch wird die zukünftige Ausstellung von Tokens für vertrauenswürdiges Veröffentlichen deaktiviert, bis ein Paketverwalter die Konfiguration erneut festlegt.
Häufig gestellte Fragen
Der Paket-Scope muss mit dem ausgewählten Eigentümer übereinstimmen
Wenn Paket-Scope und ausgewählter Eigentümer nicht übereinstimmen, lehnt ClawHub die Veröffentlichung ab:
Paket-Scope "@openclaw" muss mit dem ausgewählten Eigentümer "@vintageayu" übereinstimmen.Veröffentlichen Sie als "@openclaw" oder benennen Sie dieses Paket in "@vintageayu/dronzer" um.Wählen Sie zur Behebung entweder den durch den Paket-Scope angegebenen Eigentümer oder benennen Sie das Paket so um, dass der Scope mit dem Eigentümer übereinstimmt, unter dem Sie veröffentlichen können.
Wenn der Paketname bereits den richtigen Scope hat, das Paket jedoch dem falschen Veröffentlichenden gehört, übertragen Sie stattdessen die Eigentümerschaft:
clawhub package transfer @opik/opik-openclaw --to opikVerwenden Sie die Übertragung eines Pakets oder Skills nur, wenn Sie sowohl auf den aktuellen Eigentümer als auch auf den Zielveröffentlichenden administrativen Zugriff haben. Durch eine Paketübertragung können Sie nicht in einem Scope veröffentlichen, den Sie nicht verwalten können.
Wenn Sie keinen Zugriff auf den aktuellen Eigentümer haben, aber davon ausgehen, dass Ihre Organisation, Ihr Projekt oder Ihre Marke der rechtmäßige Eigentümer des Namensraums ist, erstellen Sie ein Anliegen zur Beanspruchung einer Organisation/eines Namensraums mit öffentlichen, nicht vertraulichen Nachweisen zur Überprüfung durch das Personal. Lesen Sie vor der Einreichung Beanspruchung von Organisationen und Namensräumen.
Dies schützt die Namensräume von Organisationen. Ein Paket namens
@openclaw/dronzer beansprucht den Namensraum @openclaw, sodass es nur
von Veröffentlichenden mit Zugriff auf den Eigentümer @openclaw
veröffentlicht werden kann.