Get started

Публікація

Публікація

Під час публікації папку Skills або пакет плагіна надсилають до ClawHub від імені вибраного вами власника. ClawHub перевіряє, чи дає ваш токен право публікувати від імені цього власника, перевіряє метадані, назву, версію, файли та інформацію про вихідний код, а потім зберігає випуск і запускає автоматизовані перевірки безпеки.

Якщо перевірка не пройдена, нічого не публікується. Нові випуски також можуть не з’являтися у звичайних засобах установлення та завантаження до завершення перевірки.

Skills

Найпростіший спосіб публікації — через CLI. Увійдіть, а потім опублікуйте локальну папку Skills:

bash
clawhub loginclawhub skill publish ./my-skill \  --slug my-skill \  --name "My Skill" \  --owner <owner>

Використовуйте --owner <handle> для публікації від імені власника-організації. Не вказуйте цей параметр, щоб публікувати від імені автентифікованого користувача. Під час публікації незмінений вміст пропускається. Нова Skills починається з версії 1.0.0, а для подальших змін автоматично публікується наступна версія виправлення. Передавайте --version, лише коли потрібна конкретна версія.

Для репозиторіїв каталогів використовуйте багаторазовий робочий процес skill-publish.yml від ClawHub. Він викликає skill publish для кожної безпосередньої папки Skills у root (типове значення: skills) або лише для папки, переданої як skill_path.

yaml
jobs:  publish:    uses: openclaw/clawhub/.github/workflows/skill-publish.yml@main    with:      owner: <owner>      dry_run: false    secrets:      clawhub_token: ${{ secrets.CLAWHUB_TOKEN }}

Використовуйте dry_run: true, щоб попередньо переглянути нові та змінені Skills без публікації.

Плагіни

Плагіни використовують назви пакетів у стилі npm. Назви пакетів з областю містять власника в першій частині назви:

text
@owner/package-name

Область має відповідати вибраному власнику публікації. Якщо ваш пакет називається @openclaw/dronzer, його можна опублікувати лише як @openclaw. Якщо ви публікуєте як @vintageayu, перейменуйте пакет на @vintageayu/dronzer.

Це не дає пакету заявити простір імен організації, який не контролює видавець.

Якщо ви є законним власником організації, бренду, області пакета, ідентифікатора власника або простору імен, який уже зайнятий чи зарезервований у ClawHub, створіть звернення щодо отримання прав на організацію або простір імен із загальнодоступними доказами, що не містять конфіденційних даних. У розділі Отримання прав на організації та простори імен описано, що слід додати, а що не можна публікувати у відкритих зверненнях.

Перед публікацією плагіна

  • Виберіть власника, який відповідає області пакета.
  • Додайте openclaw.plugin.json. Для плагінів із кодом також потрібен package.json із openclaw.compat.pluginApi та openclaw.build.openclawVersion.
  • Щоб показати власну піктограму картки плагіна, додайте icon до openclaw.plugin.json, указавши будь-яку URL-адресу зображення HTTPS.
  • Додайте репозиторій вихідного коду й метадані точного коміту або використовуйте CLI у робочій копії, пов’язаній із GitHub, щоб ці дані було виявлено автоматично.
  • Перед публікацією виконайте clawhub package validate <source>. Відомості про усунення проблем із пакетом, маніфестом, імпортом SDK або артефактом див. у розділі Виправлення помилок перевірки плагінів.
  • Перед створенням випуску виконайте clawhub package publish <source> --dry-run.
  • Очікуйте, що нові випуски не з’являтимуться в загальнодоступних засобах установлення до завершення автоматизованих перевірок безпеки та верифікації.

Довірена публікація пакетів

Налаштування довіреної публікації пакетів складається з двох етапів:

  1. Один раз опублікуйте пакет звичайним способом вручну або з автентифікацією за токеном за допомогою clawhub package publish. Це створює запис пакета й визначає менеджерів пакета, які можуть змінювати конфігурацію його довіреного видавця.
  2. Менеджер пакета задає конфігурацію довіреного видавця GitHub Actions:
bash
clawhub package trusted-publisher set @owner/package-name \  --repository owner/repo \  --workflow-filename package-publish.yml

Після налаштування конфігурації майбутні підтримувані публікації з GitHub Actions можуть використовувати OIDC і довірену публікацію без зберігання довготривалого токена ClawHub у репозиторії. Налаштовані репозиторій і назва файлу робочого процесу мають відповідати твердженню OIDC GitHub Actions. Якщо ви також передаєте --environment <name>, твердження про середовище GitHub Actions має точно відповідати цій назві.

ClawHub перевіряє налаштований репозиторій GitHub під час установлення конфігурації довіреного видавця. Загальнодоступні репозиторії можна перевірити за допомогою відкритих метаданих GitHub. Для приватних репозиторіїв ClawHub повинен мати доступ GitHub до відповідного репозиторію, наприклад через майбутнє встановлення застосунку ClawHub GitHub App або іншу авторизовану інтеграцію GitHub.

Поточний багаторазовий робочий процес публікації пакетів підтримує довірену публікацію без секретів для публікацій workflow_dispatch, коли доступний дозвіл id-token: write. Для справжніх публікацій, ініційованих надсиланням тегу, усе ще потрібен clawhub_token, тому залишайте CLAWHUB_TOKEN доступним для випусків за тегами, перших публікацій, недовірених пакетів або аварійних публікацій.

Переглянути або видалити конфігурацію можна такими командами:

bash
clawhub package trusted-publisher get @owner/package-nameclawhub package trusted-publisher delete @owner/package-name

Видалення конфігурації довіреного видавця є способом відкочування. Воно вимикає подальше створення токенів довіреної публікації, доки менеджер пакета знову не налаштує конфігурацію.

Поширені запитання

Область пакета має відповідати вибраному власнику

Якщо область пакета й вибраний власник не збігаються, ClawHub відхиляє публікацію:

text
Package scope "@openclaw" must match selected owner "@vintageayu".Publish as "@openclaw" or rename this package to "@vintageayu/dronzer".

Щоб виправити це, виберіть власника, указаного областю пакета, або перейменуйте пакет так, щоб область відповідала власнику, від імені якого ви можете публікувати.

Якщо назва пакета вже має правильну область, але пакет належить неправильному видавцеві, натомість передайте право власності:

sh
clawhub package transfer @opik/opik-openclaw --to opik

Передавайте пакет або Skills лише тоді, коли маєте адміністративний доступ і до поточного власника, і до цільового видавця. Передавання пакета не дає змоги публікувати в області, якою ви не можете керувати.

Якщо ви не маєте доступу до поточного власника, але вважаєте свою організацію, проєкт або бренд законним власником простору імен, створіть звернення щодо отримання прав на організацію або простір імен із загальнодоступними доказами без конфіденційних даних для перевірки працівниками. Перед поданням ознайомтеся з розділом Отримання прав на організації та простори імен.

Це захищає простори імен організацій. Пакет із назвою @openclaw/dronzer заявляє простір імен @openclaw, тому публікувати його можуть лише видавці з доступом до власника @openclaw.

Was this useful?
On this page

On this page