Публікація
Публікація надсилає папку Skills або пакет Plugin до ClawHub під вибраним власником. ClawHub перевіряє, що ваш токен може публікувати від імені цього власника, перевіряє метадані, назву, версію, файли та інформацію про джерело, потім зберігає реліз і запускає автоматизовані перевірки безпеки. Якщо перевірка не проходить, нічого не публікується. Нові релізи також можуть не з’являтися у звичайних поверхнях встановлення та завантаження, доки не завершиться огляд.Skills
Найпростіший шлях публікації — CLI. Увійдіть, потім опублікуйте локальну папку Skills:--owner <handle> під час публікації для власника-організації.
Не вказуйте його, щоб публікувати як автентифікований користувач. Публікація
пропускає незмінений вміст. Новий Skills починається з 1.0.0, а подальші
зміни автоматично публікують наступну patch-версію. Передавайте --version
лише тоді, коли потрібна явна версія.
Для репозиторіїв каталогу використовуйте багаторазовий
workflow skill-publish.yml
ClawHub. Він викликає skill publish для кожної безпосередньої папки Skills
під root (за замовчуванням: skills) або лише для папки, переданої як
skill_path.
dry_run: true, щоб попередньо переглянути нові та змінені
Skills без публікації.
Plugins
Plugins використовують назви пакетів у стилі npm. Назви scoped-пакетів містять власника в першій частині назви:@openclaw/dronzer, його можна опублікувати лише як @openclaw. Якщо ви
публікуєте як @vintageayu, перейменуйте пакет на @vintageayu/dronzer.
Це не дозволяє пакету заявляти namespace організації, який публікатор не
контролює.
Якщо ви є законним власником організації, бренду, scope пакета, handle власника
або namespace, який уже заявлено чи зарезервовано на ClawHub, відкрийте
issue для заявки на організацію / namespace
із публічним, неконфіденційним доказом. Див.
Заявки на організації та namespace, щоб дізнатися,
що включати, а що не варто додавати до публічних issues.
Перед публікацією Plugin
- Виберіть власника, який відповідає scope пакета.
- Додайте
openclaw.plugin.json. Code Plugins також потребуютьpackage.jsonзopenclaw.compat.pluginApiіopenclaw.build.openclawVersion. - Щоб показати власну іконку картки Plugin, додайте
iconдоopenclaw.plugin.jsonз будь-якою HTTPS URL-адресою зображення. - Додайте репозиторій джерела та точні метадані коміту або використовуйте CLI з checkout, пов’язаного з GitHub, щоб він міг їх виявити.
- Запустіть
clawhub package validate <source>перед публікацією. Для findings щодо пакета, manifest, SDK import або artifact див. Виправлення перевірки Plugin. - Запустіть
clawhub package publish <source> --dry-runперед створенням релізу. - Очікуйте, що нові релізи не потраплять до публічних поверхонь встановлення, доки не завершаться автоматизовані перевірки безпеки та верифікація.
Trusted Publishing для пакетів
Package trusted publishing налаштовується у два кроки:- Опублікуйте пакет один раз через звичайний ручний або автентифікований
токеном
clawhub package publish. Це створює рядок пакета та визначає package managers, які можуть змінювати його trusted publisher config. - Package manager задає GitHub Actions trusted publisher config:
--environment <name>, GitHub Actions environment claim має точно відповідати
цій назві.
ClawHub перевіряє налаштований GitHub-репозиторій під час задавання trusted
publisher config. Публічні репозиторії можна перевірити через публічні
метадані GitHub. Для приватних репозиторіїв ClawHub потрібен доступ GitHub до
цього репозиторію, наприклад через майбутнє встановлення ClawHub GitHub App або
іншу авторизовану інтеграцію GitHub.
Поточний багаторазовий package publish workflow підтримує secretless trusted
publishing для публікацій workflow_dispatch, коли доступний id-token: write.
Справжні публікації через tag-push усе ще потребують clawhub_token, тому
залишайте CLAWHUB_TOKEN доступним для tag-релізів, перших публікацій,
untrusted packages або break-glass публікацій.
Перегляньте або видаліть config за допомогою:
FAQ
Scope пакета має відповідати вибраному власнику
Якщо scope пакета та вибраний власник не збігаються, ClawHub відхиляє публікацію:@openclaw/dronzer заявляє
namespace @openclaw, тому лише публікатори з доступом до власника @openclaw
можуть його опублікувати.