CLI
CLI-pakket:clawhub, binair bestand: clawhub.
Installeer het globaal met npm of pnpm:
Globale vlaggen
--workdir <dir>: werkmap (standaard: cwd; valt terug op de Clawdbot-werkruimte indien geconfigureerd)--dir <dir>: installatiemap onder de werkmap (standaard:skills)--site <url>: basis-URL voor aanmelden via de browser (standaard:https://clawhub.ai)--registry <url>: API-basis-URL (standaard: gedetecteerd, andershttps://clawhub.ai)--no-input: prompts uitschakelen
CLAWHUB_SITE(verouderd:CLAWDHUB_SITE)CLAWHUB_REGISTRY(verouderd:CLAWDHUB_REGISTRY)CLAWHUB_WORKDIR(verouderd:CLAWDHUB_WORKDIR)
HTTP-proxy
De CLI respecteert standaardomgevingsvariabelen voor HTTP-proxy’s voor systemen achter bedrijfsproxy’s of beperkte netwerken:HTTPS_PROXY/https_proxyHTTP_PROXY/http_proxyNO_PROXY/no_proxy
HTTPS_PROXY wordt gebruikt voor HTTPS-verzoeken, HTTP_PROXY
voor gewone HTTP-verzoeken. NO_PROXY / no_proxy wordt gerespecteerd om de proxy voor
specifieke hosts of domeinen te omzeilen.
Dit is vereist op systemen waar directe uitgaande verbindingen worden geblokkeerd
(bijvoorbeeld Docker-containers, Hetzner-VPS’en met uitsluitend internet via een proxy,
bedrijfsfirewalls).
Voorbeeld:
Configuratiebestand
Slaat je API-token en de gecachte register-URL op.- macOS:
~/Library/Application Support/clawhub/config.json - Linux/XDG:
$XDG_CONFIG_HOME/clawhub/config.jsonof~/.config/clawhub/config.json - Windows:
%APPDATA%\\clawhub\\config.json - Verouderde terugvaloptie: als
clawhub/config.jsonnog niet bestaat, maarclawdhub/config.jsonwel, gebruikt de CLI het verouderde pad opnieuw - overschrijven:
CLAWHUB_CONFIG_PATH(verouderd:CLAWDHUB_CONFIG_PATH)
Opdrachten
login / auth login
- Standaard: opent de browser op
<site>/cli/authen voltooit het proces via een loopback-callback. - Headless:
clawhub login --token clh_... - Interactief op afstand/headless:
clawhub login --devicedrukt een code af en wacht terwijl je deze autoriseert op<site>/cli/device.
whoami
- Verifieert het opgeslagen token via
/api/v1/whoami.
token
- Drukt het opgeslagen API-token af naar stdout.
- Nuttig om een lokaal aanmeldingstoken via een pipe door te geven aan opdrachten voor het instellen van CI-geheimen.
star <skill> / unstar <skill>
- Voegt een skill toe aan of verwijdert deze uit je bladwijzers. Opdrachtnamen blijven
starenunstarvoor compatibiliteit. - Roept
POST /api/v1/stars/<slug>enDELETE /api/v1/stars/<slug>aan. --yesslaat de bevestiging over.
search <query...>
- Roept
/api/v1/search?q=...aan. - De uitvoer bevat de slug van de skill, de gebruikersnaam van de eigenaar, de weergavenaam en de relevantiescore.
- Bij het zoeken krijgen exacte overeenkomsten met tokens in de slug/naam voorrang op downloadpopulariteit. Een zelfstandig slugtoken zoals
mapkomt sterker overeen metpersonal-mapdan met de subtekenreeks inamap. - Populariteit is een kleine voorafgaande rangschikkingsfactor, geen garantie op de hoogste positie.
- Als een skill zou moeten verschijnen maar dat niet doet, voer dan aangemeld
clawhub inspect @owner/sluguit om voor de eigenaar zichtbare moderatiediagnostiek te controleren voordat je metagegevens hernoemt.
explore
- Geeft de nieuwste skills weer via
/api/v1/skills?limit=...&sort=createdAt(aflopend gesorteerd opcreatedAt). - Vlaggen:
--limit <n>(1-200, standaard: 25)--sort newest|updated|rating|downloads|trending(standaard: nieuwste). Verouderde aliassen voor installatiesortering blijven werken voor compatibiliteit.--json(machineleesbare uitvoer)
- Uitvoer:
<slug> v<version> <age> <summary>(samenvatting afgekapt tot 50 tekens).
inspect @owner/slug
- Haalt metagegevens en versiebestanden van de skill op zonder deze te installeren.
--version <version>: een specifieke versie inspecteren (standaard: nieuwste).--tag <tag>: een getagde versie inspecteren (bijvoorbeeldlatest).--versions: versiegeschiedenis weergeven (eerste pagina).--limit <n>: maximaal aantal weer te geven versies (1-200).--files: bestanden voor de geselecteerde versie weergeven.--file <path>: onbewerkte bestandsbytes ophalen (limiet van 10MB).--json: machineleesbare uitvoer;--filebevat de exacte bytes als base64 en, indien beschikbaar, UTF-8-tekst.
install @owner/slug
- Bepaalt de nieuwste versie voor de genoemde eigenaar en skill.
- Downloadt een zipbestand via
/api/v1/download. - Pakt het uit in
<workdir>/<dir>/<slug>. - Weigert vastgezette skills te overschrijven; voer eerst
clawhub unpin <skill>uit. - Schrijft:
<workdir>/.clawhub/lock.json(verouderd:.clawdhub)<skill>/.clawhub/origin.json(verouderd:.clawdhub)
uninstall <skill>
- Verwijdert
<workdir>/<dir>/<slug>en verwijdert de vermelding uit het vergrendelingsbestand. - Verstuurt naar beste vermogen telemetrie wanneer je bent aangemeld, zodat de huidige installatieaantallen kunnen worden gedeactiveerd.
- Interactief: vraagt om bevestiging.
- Niet-interactief (
--no-input): vereist--yes.
list
- Leest
<workdir>/.clawhub/lock.json(verouderd:.clawdhub). - Toont
pinnednaast skills die metclawhub pinzijn bevroren, inclusief de optionele reden.
pin <skill>
- Markeert een geïnstalleerde skill als vastgezet in het vergrendelingsbestand.
--reason <text>legt vast waarom de skill is bevroren.- Vastgezette skills worden overgeslagen door
update --allen geweigerd door een directeupdate <skill>. - Vastgezette skills weigeren ook
install --force, zodat de lokale bytes niet per ongeluk kunnen worden vervangen.
unpin <skill>
- Verwijdert de vastzetting uit het vergrendelingsbestand van een geïnstalleerde skill, zodat toekomstige updates deze kunnen wijzigen.
update [@owner/slug] / update --all
- Berekent de vingerafdruk op basis van lokale bestanden.
- Als de vingerafdruk overeenkomt met een bekende versie: geen prompt.
- Als de vingerafdruk niet overeenkomt:
- wordt dit standaard geweigerd
- wordt overschreven met
--force(of na een prompt, indien interactief)
- Vastgezette skills worden nooit bijgewerkt door
--force. update <skill>mislukt onmiddellijk voor vastgezette skills en vraagt je eerstclawhub unpin <skill>uit te voeren.update --allslaat vastgezette slugs over en drukt een samenvatting af van wat bevroren bleef.
skill publish <path>
- Vergelijkt de vingerafdruk van de lokale bundel met ClawHub en wordt succesvol afgesloten wanneer de inhoud al is gepubliceerd.
- Nieuwe skills gebruiken standaard
1.0.0; gewijzigde skills gebruiken standaard de volgende patchversie. --version <version>selecteert expliciet een versie en publiceert zelfs wanneer de inhoud overeenkomt met een bestaande versie.--dry-runbepaalt het publicatieresultaat zonder te uploaden;--jsondrukt een machineleesbaar resultaat af.--owner <handle>publiceert onder de uitgeversnaam van een organisatie/gebruiker wanneer de actor uitgeverstoegang heeft.--migrate-ownerverplaatst een bestaande skill naar--ownerterwijl een nieuwe versie wordt gepubliceerd. Vereist beheerders-/eigenaarstoegang voor beide uitgevers.- Het gedrag voor eigenaren en beoordelingen wordt uitgelegd in
docs/publishing.md. - Het publiceren van een skill betekent dat deze onder
MIT-0op ClawHub wordt uitgebracht. - Gepubliceerde skills mogen zonder naamsvermelding vrij worden gebruikt, gewijzigd en verspreid.
- ClawHub ondersteunt geen betaalde skills of prijzen per skill.
- Verouderde alias:
publish <path>.
GitHub Actions
De herbruikbare workflowskill-publish.yml
van ClawHub roept skill publish aan voor één skill_path, of voor elke directe skillmap
onder root (standaard: skills). Ongewijzigde skills worden overgeslagen en hetzelfde
automatische gedrag voor patchversies wordt gebruikt.
Stel dry_run: true in om een voorbeeld te bekijken zonder token. Voor daadwerkelijke publicaties is het
geheim clawhub_token vereist.
sync
- Scant de huidige werkmap, de geconfigureerde skillsmap en alle
--root <dir>-mappen op lokale skillmappen dieSKILL.mdofskill.mdbevatten. - Vergelijkt de vingerafdruk van elke lokale skill met ClawHub en publiceert alleen nieuwe of gewijzigde skills.
- Nieuwe skills worden gepubliceerd als
1.0.0; gewijzigde skills worden standaard als de volgende patchversie gepubliceerd. Gebruik--bump minor|majorvoor updatebatches die met een grotere semver-stap moeten worden verhoogd. --dry-runtoont het publicatieplan zonder te uploaden;--jsondrukt een machineleesbaar plan af.--allpubliceert elke nieuwe of gewijzigde skill zonder prompt. Zonder--allkun je in interactieve terminals de te publiceren skills selecteren.--owner <handle>publiceert onder de uitgeversnaam van een organisatie/gebruiker wanneer de actor uitgeverstoegang heeft.syncpubliceert alleen in één richting. Het installeert, actualiseert of downloadt niets en rapporteert geen telemetrie over installaties/downloads.
scan --slug <slug>
- Vereist
clawhub login. - Voert ClawHub ClawScan uit via
POST /api/v1/skills/-/scanen pollt vervolgens totdat de scan een eindstatus heeft. - Scans zijn asynchroon en kunnen enige tijd duren. In de wachtrij toont de spinner in de terminal de huidige geprioriteerde scanpositie en hoeveel scans ervoor staan.
- Voor scans van gepubliceerde versies is eigendom of beheerderstoegang voor de uitgever vereist. Moderators/beheerders kunnen dezelfde backend gebruiken via
clawhub-admin. --updateis alleen geldig met--slug; hiermee worden succesvolle scanresultaten voor gepubliceerde versies teruggeschreven naar de geselecteerde versie.--output <file.zip>downloadt het volledige rapportarchief metmanifest.json,clawscan.json,skillspector.json,static-analysis.json,virustotal.jsonenREADME.md.--jsondrukt het volledige pollingantwoord af voor automatisering.- Scans van lokale paden worden niet langer ondersteund. Upload een nieuwe versie en gebruik vervolgens
scan downloadom de opgeslagen scanresultaten voor die ingediende versie op te halen.
scan download <name>
- Vereist
clawhub login. - Downloadt het opgeslagen ZIP-bestand met het scanrapport voor een ingediende skill- of pluginversie, inclusief versies die door beveiligingscontroles van ClawHub zijn geblokkeerd of verborgen.
- Downloads van skills gebruiken de skill-slug en zijn standaard ingesteld op
--kind skill. - Downloads van plugins gebruiken de pakketnaam en vereisen
--kind plugin. --versionis vereist, zodat auteurs precies de ingediende versie inspecteren die ClawHub heeft geblokkeerd.--output <file.zip>kiest het doelpad.
GitHub Actions
ClawHub levert een officiële herbruikbare workflow op/.github/workflows/skill-publish.yml
voor skill-repository’s en catalogusrepository’s.
Gebruikelijke catalogusconfiguratie:
rootis voor catalogusrepository’s standaard ingesteld opskills.- Geef
skill_path: skills/review-helperdoor om één skillmap te verwerken. ownerkomt overeen met de CLI-vlag--owner; laat deze weg om als de geauthenticeerde gebruiker te publiceren.- Voor het publiceren van V1-skills wordt
clawhub_tokengebruikt; vertrouwd publiceren met GitHub OIDC is voorlopig alleen beschikbaar voor pakketten.
delete <skill>
- Zonder
--versionwordt een skill voorlopig verwijderd (door de eigenaar, een moderator of een beheerder). - Roept
DELETE /api/v1/skills/{slug}aan. - Door de eigenaar geïnitieerde voorlopige verwijderingen reserveren de slug 30 dagen; de opdracht toont de vervaltijd.
--version <version>trekt één eigen versie die niet de nieuwste is in via een fail-closed, versiespecifieke route. Het versienummer blijft gereserveerd en kan niet opnieuw worden gepubliceerd met een andere inhoud. Publiceer een vervanging voordat je de huidige nieuwste versie verwijdert. Platform- medewerkers omzeilen het eigenaarschap niet voor deze versiegebonden flow.--reason <text>legt een moderatienotitie vast bij een voorlopige verwijdering van de volledige skill en in het auditlogboek.--note <text>is een alias voor--reason.--yesslaat de bevestiging over.
undelete <skill>
- Herstelt een verborgen skill (door de eigenaar, een moderator of een beheerder).
- Roept
POST /api/v1/skills/{slug}/undeleteaan. --version <version>herstelt uitsluitend exact het behouden artefact dat eerder door dezelfde eigenaar-actor is ingetrokken. De herstelde versie wordt hierdoor niet de nieuwste en verwijderde tags worden niet opnieuw aangemaakt.- Versieherstel roept
POST /api/v1/skills/{slug}/versions/{version}/restoreaan. --reason <text>legt een moderatienotitie vast bij de skill en in het auditlogboek.--note <text>is een alias voor--reason.--yesslaat de bevestiging over.
hide <skill>
- Verbergt een skill (door de eigenaar, een moderator of een beheerder).
- Alias voor
delete.
unhide <skill>
- Maakt een skill weer zichtbaar (door de eigenaar, een moderator of een beheerder).
- Alias voor
undelete.
skill rename <skill> <new-name>
- Wijzigt de naam van een eigen skill en behoudt de vorige slug als omleidingsalias.
- Roept
POST /api/v1/skills/{slug}/renameaan. --yesslaat de bevestiging over.
skill merge <source> <target>
- Voegt één eigen skill samen met een andere eigen skill.
- De bronslug wordt niet meer openbaar weergegeven en wordt een omleidingsalias naar het doel.
- Roept
POST /api/v1/skills/{sourceSlug}/mergeaan. --yesslaat de bevestiging over.
transfer
- Workflow voor eigendomsoverdracht.
- Overdrachten naar gebruikershandles maken een openstaand verzoek aan dat de ontvanger accepteert.
- Overdrachten naar organisatie-/uitgevershandles worden alleen onmiddellijk toegepast wanneer de actor beheerderstoegang heeft tot zowel de huidige eigenaar als de doeluitgever.
- Subopdrachten:
transfer request <skill> <handle> [--message "..."] [--yes]transfer list [--outgoing]transfer accept <skill> [--yes]transfer reject <skill> [--yes]transfer cancel <skill> [--yes]
- Eindpunten:
POST /api/v1/skills/{slug}/transferPOST /api/v1/skills/{slug}/transfer/acceptPOST /api/v1/skills/{slug}/transfer/rejectPOST /api/v1/skills/{slug}/transfer/cancelGET /api/v1/transfers/incomingGET /api/v1/transfers/outgoing
package explore [query...]
- Bladert door of doorzoekt de uniforme pakketcatalogus via
GET /api/v1/packagesenGET /api/v1/packages/search. - Gebruik dit voor plugins en andere vermeldingen uit pakketfamilies;
searchop het hoogste niveau blijft de zoekfunctie voor skills. - Vlaggen:
--family skill|code-plugin|bundle-plugin--official--executes-code--target <target>,--os <os>,--arch <arch>,--libc <libc>--requires-browser,--requires-desktop,--requires-native-deps--requires-external-service,--external-service <name>--binary <name>,--os-permission <name>--artifact-kind legacy-zip|npm-pack--npm-mirror--limit <n>(1-100, standaard: 25)--json
package inspect <name>
- Haalt pakketmetadata op zonder te installeren.
- Gebruik dit om pluginmetadata, compatibiliteit, verificatie, broncode en versies/bestanden te inspecteren.
--version <version>: inspecteert een specifieke versie (standaard: nieuwste).--tag <tag>: inspecteert een getagde versie (bijv.latest).--versions: geeft de versiegeschiedenis weer (eerste pagina).--limit <n>: maximumaantal weer te geven versies (1-100).--files: geeft bestanden voor de geselecteerde versie weer.--file <path>: haalt een begrensd UTF-8-tekstvoorbeeld op (limiet van 200KB).--json: machineleesbare uitvoer.
package download <name>
- Bepaalt een pakketversie via
GET /api/v1/packages/{name}/versions/{version}/artifact. - Downloadt het artefact vanuit
downloadUrlvan de resolver. - Verifieert ClawHub SHA-256 voor alle artefacten.
- Voor ClawPack npm-pack-artefacten worden ook de integriteit van npm
sha512, de npm-shasum en de naam/versie inpackage.jsonvan de tarball geverifieerd. - Oudere ZIP-versies worden via de oudere ZIP-route gedownload.
- Vlaggen:
--version <version>: downloadt een specifieke versie.--tag <tag>: downloadt een getagde versie (standaard:latest).-o, --output <path>: uitvoerbestand of -map.--force: overschrijft een bestaand uitvoerbestand.--json: machineleesbare uitvoer.
package verify <file>
- Berekent de ClawHub SHA-256, de integriteit van npm
sha512en de npm-shasum voor een lokaal artefact. - Met
--packageworden de verwachte metadata uit ClawHub bepaald en wordt het lokale bestand vergeleken met de metadata van het gepubliceerde artefact. - Met rechtstreekse digest-vlaggen wordt geverifieerd zonder netwerkzoekopdracht.
- Vlaggen:
--package <name>: pakketnaam om de verwachte artefactmetadata te bepalen.--version <version>of--tag <tag>: verwachte pakketversie.--sha256 <hex>: verwachte ClawHub SHA-256.--npm-integrity <sri>: verwachte npm-integriteit.--npm-shasum <sha1>: verwachte npm-shasum.--json: machineleesbare uitvoer.
package validate <source>
- Voert de meegeleverde Plugin Inspector van de ClawHub-CLI uit op een lokale map met een pluginpakket.
- Gebruikt standaard offline/statische validatie, zonder een lokale OpenClaw-checkout te zoeken of te importeren.
- Harde compatibiliteitsfouten resulteren in een afsluiting met een niet-nulwaarde. Bevindingen die alleen waarschuwingen bevatten, worden weergegeven maar resulteren in een afsluiting met nul.
- Vlaggen:
--out <dir>: schrijft rapporten van Plugin Inspector naar deze map.--openclaw <path>: inspecteert aan de hand van een expliciete lokale OpenClaw-checkout.--runtime: schakelt runtimevastlegging in; importeert plugincode.--allow-execute: staat runtimevastlegging toe in een geïsoleerde werkruimte.--no-mock-sdk: schakelt de gesimuleerde OpenClaw-SDK uit tijdens runtimevastlegging.--json: machineleesbare uitvoer.
package delete <name>
- Zonder
--versionworden een pakket en alle releases voorlopig verwijderd. --version <version>trekt één eigen release die niet de nieuwste is in via een fail-closed, versiespecifieke route. Het versienummer blijft gereserveerd en kan niet opnieuw worden gepubliceerd met een andere inhoud. Publiceer een vervanging voordat je de huidige nieuwste versie verwijdert. Deze versiegebonden flow vereist de pakketeigenaar of een beheerder van de organisatie-uitgever; platformmedewerkers omzeilen het pakketeigenaarschap niet.- Voorlopige verwijdering van het volledige pakket vereist de pakketeigenaar, een eigenaar/beheerder van de organisatie-uitgever, een platform- moderator of een platformbeheerder.
- Vlaggen:
--version <version>: trekt één versie in die niet de nieuwste is.--yes: slaat de bevestiging over.--json: machineleesbare uitvoer.
package undelete <name>
- Herstelt een voorlopig verwijderd pakket en de releases.
- Vereist de pakketeigenaar, een eigenaar/beheerder van de organisatie-uitgever, een platformmoderator of een platformbeheerder.
- Roept
POST /api/v1/packages/{name}/undeleteaan. --version <version>herstelt uitsluitend exact de behouden release die eerder door dezelfde eigenaar-actor is ingetrokken. De release wordt hierdoor niet de nieuwste en verwijderde pakkettags/dist-tags worden niet opnieuw aangemaakt.- Versieherstel roept
POST /api/v1/packages/{name}/versions/{version}/restoreaan. - Vlaggen:
--version <version>: herstelt één door de eigenaar ingetrokken release.--yes: slaat de bevestiging over.--json: machineleesbare uitvoer.
package transfer <name>
- Draagt een pakket over aan een andere uitgever.
- Vereist beheerderstoegang tot zowel de huidige pakketeigenaar als de doeluitgever, tenzij dit wordt uitgevoerd door een platformbeheerder.
- Pakketnamen met een bereik moeten worden overgedragen aan de eigenaar van het overeenkomende bereik.
- Roept
POST /api/v1/packages/{name}/transferaan. - Vlaggen:
--to <owner>: handle van de doeluitgever.--reason <text>: optionele auditreden.--json: machineleesbare uitvoer.
package report
- Geverifieerde opdracht om een pakket bij moderators te melden.
- Roept
POST /api/v1/packages/{name}/reportaan. - Meldingen gelden op pakketniveau, kunnen optioneel aan een versie worden gekoppeld en worden zichtbaar voor moderators ter beoordeling.
- Meldingen verbergen pakketten niet automatisch en blokkeren op zichzelf geen downloads.
- Vlaggen:
--version <version>: optionele pakketversie om aan de melding te koppelen.--reason <text>: verplichte reden voor de melding.--json: machineleesbare uitvoer.
package moderation-status
- Opdracht voor eigenaren om de zichtbaarheid van pakketmoderatie te controleren.
- Roept
GET /api/v1/packages/{name}/moderationaan. - Toont de huidige scanstatus van het pakket, het aantal openstaande meldingen, de handmatige moderatiestatus van de nieuwste release, de downloadblokkeringsstatus en moderatieredenen.
- Vlaggen:
--json: machineleesbare uitvoer.
package readiness <name>
- Controleert of een pakket gereed is voor toekomstig gebruik door OpenClaw.
- Roept
GET /api/v1/packages/{name}/readinessaan. - Meldt blokkades voor officiële status, beschikbaarheid van ClawPack, artefactdigest, bronherkomst, compatibiliteit met OpenClaw, hostdoelen, omgevingsmetadata en scanstatus.
- Vlaggen:
--json: machineleesbare uitvoer.
package migration-status <name>
- Toont een op operators gerichte migratiestatus voor een pakket dat mogelijk een gebundelde OpenClaw-plugin vervangt.
- Roept hetzelfde berekende gereedheidseindpunt aan als
package readiness, maar toont een op migratie gerichte status, de nieuwste versie, de status van het officiële pakket, controles en blokkades. - Vlaggen:
--json: machineleesbare uitvoer.
publisher create <handle>
- Maakt een organisatie-uitgever aan die eigendom is van de geverifieerde gebruiker.
- De handle wordt genormaliseerd naar kleine letters en kan met of zonder
@worden doorgegeven. - Nieuw aangemaakte organisatie-uitgevers zijn standaard niet vertrouwd/officieel.
- Mislukt als de handle al wordt gebruikt door een bestaande uitgever, gebruiker of gereserveerde route.
package publish <source>
- Publiceert een codeplugin of bundelplugin via
POST /api/v1/packages. <source>accepteert:- Lokaal mappad:
./my-plugin - Lokale npm-pack-tarball van ClawPack:
./my-plugin-1.2.3.tgz - GitHub-repository:
owner/repoofowner/repo@ref - GitHub-URL:
https://github.com/owner/repo
- Lokaal mappad:
- Metadata wordt automatisch gedetecteerd uit
package.json,openclaw.plugin.jsonen echte OpenClaw-bundelmarkeringen zoals.codex-plugin/plugin.json,.claude-plugin/plugin.jsonen.cursor-plugin/plugin.json. .tgz-bronnen worden behandeld als ClawPack. De CLI uploadt de exacte npm-pack- bytes en gebruikt de uitgepakte inhoud vanpackage/alleen voor validatie en het vooraf invullen van metadata.- Mappen met codeplugins worden vóór het uploaden verpakt in een ClawPack-npm-tarball, zodat OpenClaw-installaties het exacte artefact kunnen verifiëren. Mappen met bundelplugins gebruiken nog steeds het publicatiepad voor uitgepakte bestanden.
- Voor GitHub-bronnen wordt bronvermelding automatisch ingevuld op basis van de repository, de bepaalde commit, de ref en het subpad.
- Voor lokale mappen wordt bronvermelding automatisch gedetecteerd vanuit lokale git wanneer de externe origin naar GitHub verwijst.
- Externe codeplugins moeten
openclaw.compat.pluginApienopenclaw.build.openclawVersionexpliciet declareren.package.json.versionop het hoogste niveau wordt niet gebruikt als terugvaloptie voor publicatievalidatie. --dry-runtoont een voorbeeld van de bepaalde publicatiepayload zonder deze te uploaden.--jsonproduceert machineleesbare uitvoer voor CI.--owner <handle>publiceert onder de handle van een gebruiker of organisatie-uitgever wanneer de actor uitgeverstoegang heeft.- Pakketnamen met een bereik moeten overeenkomen met de geselecteerde eigenaar. Zie
docs/publishing.md. - Bestaande vlaggen (
--family,--name,--version,--source-repo,--source-commit,--source-ref,--source-path) blijven werken als overschrijvingen. - Privé-GitHub-repository’s vereisen
GITHUB_TOKEN.
Aanbevolen lokale werkwijze
Gebruik eerst--dry-run, zodat je de bepaalde pakketmetadata en
bronvermelding kunt bevestigen voordat je een live-release maakt:
Werkwijze voor lokale mappen
Bij codeplugins bouwt en uploadt publicatie vanuit een map een ClawPack-artefact vanuit de pakketmap:Minimale package.json voor --family code-plugin
Externe codeplugins hebben een kleine hoeveelheid OpenClaw-metadata nodig in
package.json. Dit minimale manifest volstaat voor een geslaagde publicatie:
openclaw.compat.pluginApiopenclaw.build.openclawVersion
package.json.versionis de releaseversie van je pakket, maar wordt niet gebruikt als terugvaloptie voor compatibiliteits-/buildvalidatie van OpenClaw.openclaw.hostTargetsenopenclaw.environmentzijn optionele metadata. ClawHub kan deze tonen als ze aanwezig zijn, maar ze zijn niet vereist voor publicatie.openclaw.compat.minGatewayVersionenopenclaw.build.pluginSdkVersionzijn optionele aanvullingen als je gedetailleerdere compatibiliteitsmetadata wilt publiceren.- Als je een oudere release van de
clawhub-CLI gebruikt, voer dan vóór publicatie een upgrade uit, zodat de lokale preflight-controles vóór het uploaden worden uitgevoerd. - Als de validatie een herstelcode meldt, zie dan Oplossingen voor pluginvalidatie.
GitHub Actions
ClawHub levert ook een officiële herbruikbare workflow op/.github/workflows/package-publish.yml
voor pluginrepository’s.
Typische configuratie van de aanroeper:
- De herbruikbare workflow stelt
sourcestandaard in op de repository van de aanroeper. - Geef voor monorepository’s
source_pathdoor, zodat de workflow de pakketmap van de plugin publiceert, bijvoorbeeldsource_path: extensions/codex. - Zet de herbruikbare workflow vast op een stabiele tag of volledige commit-SHA. Voer releasepublicaties niet uit vanaf
@main. pull_requestmoetdry_run: truegebruiken, zodat CI geen vervuiling veroorzaakt.- Echte publicaties moeten worden beperkt tot vertrouwde gebeurtenissen, zoals
workflow_dispatchof tag-pushes. - Vertrouwd publiceren zonder geheim werkt alleen op
workflow_dispatch; tag-pushes vereisen nog steedsclawhub_token. - Houd
clawhub_tokenbeschikbaar voor de eerste publicatie, niet-vertrouwde pakketten of noodpublicaties. - De workflow uploadt het JSON-resultaat als artefact en stelt het beschikbaar als workflowuitvoer.
package trusted-publisher get <name>
- Toont de configuratie van de vertrouwde GitHub Actions-uitgever voor een pakket.
- Gebruik dit na het instellen van de configuratie om de repository, de naam van het workflowbestand en de optionele omgevingsvergrendeling te bevestigen.
- Vlaggen:
--json: machineleesbare uitvoer.
package trusted-publisher set <name>
- Koppelt de configuratie van een vertrouwde GitHub Actions-uitgever aan een bestaand pakket of vervangt deze.
- Het pakket moet eerst worden aangemaakt via normale handmatige of met een token geverifieerde
clawhub package publish. - Nadat de configuratie is ingesteld, kunnen toekomstige ondersteunde GitHub Actions-publicaties OIDC/vertrouwde publicatie gebruiken zonder een langlevend ClawHub-token.
--repository <repo>moetowner/repozijn.--workflow-filename <file>moet overeenkomen met de naam van het workflowbestand in.github/workflows/.--environment <name>is optioneel. Als dit is geconfigureerd, moet de GitHub Actions- omgeving in de OIDC-claim exact overeenkomen.- ClawHub verifieert de geconfigureerde GitHub-repository wanneer deze opdracht wordt uitgevoerd. Openbare repository’s kunnen via openbare GitHub-metadata worden geverifieerd. Voor privé- repository’s moet ClawHub GitHub-toegang tot die repository hebben, bijvoorbeeld via een toekomstige installatie van de ClawHub GitHub App of een andere geautoriseerde GitHub-integratie.
- Vlaggen:
--repository <repo>: GitHub-repository, bijvoorbeeldopenclaw/example-plugin.--workflow-filename <file>: naam van het workflowbestand, bijvoorbeeldpackage-publish.yml.--environment <name>: optionele GitHub Actions-omgeving die exact moet overeenkomen.--json: machineleesbare uitvoer.
package trusted-publisher delete <name>
- Verwijdert de configuratie van de vertrouwde uitgever uit een pakket.
- Gebruik dit als terugdraaioptie als de workflow, repository of omgevingsvergrendeling moet worden uitgeschakeld of opnieuw aangemaakt.
- Toekomstige echte publicaties moeten normale geverifieerde publicatie gebruiken totdat de configuratie opnieuw is ingesteld.
- Vlaggen:
--json: machineleesbare uitvoer.
Installatietelemetrie
- Wordt na
clawhub install <slug>verzonden wanneer je bent ingelogd, tenzijCLAWHUB_DISABLE_TELEMETRY=1is ingesteld. - Rapportage gebeurt naar beste vermogen. Installatieopdrachten mislukken niet als telemetrie niet beschikbaar is.
- Details:
docs/telemetry.md.