Get started
Publicação
Publicação
A publicação envia uma pasta de skill ou pacote de Plugin para o ClawHub sob o proprietário que você escolher. O ClawHub verifica se seu token pode publicar para esse proprietário, valida as informações de metadados, nome, versão, arquivos e origem, depois armazena a versão e inicia verificações de segurança automatizadas.
Se a validação falhar, nada será publicado. Novas versões também podem ficar fora das superfícies normais de instalação e download até que a revisão termine.
Skills
O caminho de publicação mais simples é a CLI. Entre e depois publique uma pasta de skill local:
clawhub loginclawhub skill publish ./my-skill \ --slug my-skill \ --name "My Skill" \ --owner <owner>Use --owner <handle> ao publicar para um proprietário de organização. Omita para publicar como
o usuário autenticado. A publicação ignora conteúdo inalterado. Uma nova skill começa
em 1.0.0, e alterações posteriores publicam automaticamente a próxima versão de patch. Passe
--version somente quando precisar de uma versão explícita.
Para repositórios de catálogo, use o workflow reutilizável
skill-publish.yml do ClawHub.
Ele chama skill publish para cada pasta de skill imediata em root (padrão:
skills), ou somente a pasta fornecida como 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 }}Use dry_run: true para pré-visualizar Skills novas e alteradas sem publicar.
Plugins
Plugins usam nomes de pacote no estilo npm. Nomes de pacote com escopo incluem o proprietário na primeira parte do nome:
@owner/package-nameO escopo deve corresponder ao proprietário de publicação selecionado. Se seu pacote se chama
@openclaw/dronzer, ele só pode ser publicado como @openclaw. Se você publicar como
@vintageayu, renomeie o pacote para @vintageayu/dronzer.
Isso impede que um pacote reivindique um namespace de organização que o publicador não controla.
Se você for o proprietário legítimo de uma organização, marca, escopo de pacote, identificador de proprietário ou namespace que já está reivindicado ou reservado no ClawHub, abra uma issue de Reivindicação de Organização / Namespace com prova pública e não sensível. Veja Reivindicações de Organização e Namespace para saber o que incluir e o que manter fora de issues públicas.
Antes de Publicar um Plugin
- Escolha um proprietário que corresponda ao escopo do pacote.
- Inclua
openclaw.plugin.json. Plugins de código também precisam depackage.jsoncomopenclaw.compat.pluginApieopenclaw.build.openclawVersion. - Para exibir um ícone personalizado no cartão do Plugin, adicione
iconaoopenclaw.plugin.jsoncom qualquer URL de imagem HTTPS. - Inclua o repositório de origem e os metadados exatos de commit, ou use a CLI a partir de um checkout baseado no GitHub para que ela possa detectá-los.
- Execute
clawhub package validate <source>antes de publicar. Para achados de pacote, manifesto, importação de SDK ou artefato, veja Correções de validação de Plugin. - Execute
clawhub package publish <source> --dry-runantes de criar uma versão. - Espere que novas versões fiquem fora das superfícies públicas de instalação até que as verificações de segurança automatizadas e a verificação terminem.
Publicação Confiável para Pacotes
A publicação confiável de pacotes é uma configuração em duas etapas:
- Publique o pacote uma vez por meio de
clawhub package publishnormal manual ou autenticado por token. Isso cria o registro do pacote e estabelece os gerentes do pacote que podem alterar sua configuração de publicador confiável. - Um gerente do pacote define a configuração de publicador confiável do GitHub Actions:
clawhub package trusted-publisher set @owner/package-name \ --repository owner/repo \ --workflow-filename package-publish.ymlDepois que a configuração é definida, publicações futuras compatíveis pelo GitHub Actions podem usar
OIDC/publicação confiável sem armazenar um token ClawHub de longa duração no
repositório. O repositório configurado e o nome do arquivo de workflow devem corresponder à
declaração OIDC do GitHub Actions. Se você também passar --environment <name>, a declaração de ambiente do GitHub
Actions deve corresponder exatamente a esse nome.
O ClawHub verifica o repositório GitHub configurado quando a configuração de publicador confiável é definida. Repositórios públicos podem ser verificados por meio de metadados públicos do GitHub. Repositórios privados exigem que o ClawHub tenha acesso do GitHub a esse repositório, por exemplo, por meio de uma futura instalação do GitHub App do ClawHub ou outra integração GitHub autorizada.
O workflow reutilizável atual de publicação de pacotes oferece suporte a publicação confiável
sem segredo para publicações workflow_dispatch quando id-token: write está
disponível. Publicações reais por push de tag ainda precisam de clawhub_token, então mantenha
CLAWHUB_TOKEN disponível para versões por tag, primeiras publicações, pacotes não confiáveis
ou publicações emergenciais.
Inspecione ou remova a configuração com:
clawhub package trusted-publisher get @owner/package-nameclawhub package trusted-publisher delete @owner/package-nameExcluir a configuração de publicador confiável é o caminho de reversão. Isso desativa a emissão futura de tokens de publicação confiável até que um gerente do pacote defina a configuração novamente.
Perguntas Frequentes
O escopo do pacote deve corresponder ao proprietário selecionado
Se o escopo do pacote e o proprietário selecionado não corresponderem, o ClawHub rejeita a publicação:
Package scope "@openclaw" must match selected owner "@vintageayu".Publish as "@openclaw" or rename this package to "@vintageayu/dronzer".Para corrigir isso, escolha o proprietário nomeado pelo escopo do pacote ou renomeie o pacote para que o escopo corresponda ao proprietário pelo qual você pode publicar.
Se o nome do pacote já tiver o escopo correto, mas o pacote pertencer ao publicador errado, transfira a propriedade em vez disso:
clawhub package transfer @opik/opik-openclaw --to opikUse transferência de pacote ou skill somente quando tiver acesso de administrador tanto ao proprietário atual quanto ao publicador de destino. A transferência de pacote não permite publicar em um escopo que você não pode gerenciar.
Se você não tiver acesso ao proprietário atual, mas acreditar que sua organização, projeto ou marca é o proprietário legítimo do namespace, abra uma issue de Reivindicação de Organização / Namespace com prova pública e não sensível para revisão da equipe. Veja Reivindicações de Organização e Namespace antes de registrar.
Isso protege namespaces de organizações. Um pacote chamado @openclaw/dronzer reivindica o
namespace @openclaw, então somente publicadores com acesso ao proprietário @openclaw
podem publicá-lo.