Маркетплейс и плагины/Публикация плагина через личный кабинет
Публикация плагина через личный кабинет
v1.0.x · обновлено 2026-07-19
Community-маркетплейс позволяет любому зарегистрированному пользователю
опубликовать свой плагин, чтобы его смогли установить все, — так же, как вы
публикуете приложение в App Store. Вы заполняете метаданные карточки, декларируете,
какие права нужны плагину, загружаете сборку и отправляете её на проверку. Эта
страница проведёт вас через весь процесс шаг за шагом.
[!NOTE]
Этот поток — для community (сторонних) плагинов, которые отправляются через
ваш личный кабинет на my.aihummer.ru. Плагины самого
AiHummer публикуются по своему конвейеру. Community-плагины бесплатны; можно
добавить необязательную ссылку на донат.
Прежде чем начать
Зарегистрированный аккаунт ЛК — зарегистрируйтесь и подтвердите его (см.
Регистрацию). Отправить плагин может любой
пользователь.
Собранный плагин — подписанный релизный тарбол, собранный с помощью
Plugin SDK (aihummer plugin package). Если вы ещё не
собрали плагин, начните оттуда.
Иконка и хотя бы один скриншот, а также готовые описания на русском и
английском языках.
Как устроена публикация (общая картина)
Заявка проходит через фиксированный конвейер. На каждом шаге вы видите её статус в
кабинете.
Этап
Что происходит
Кто действует
Черновик
Вы создаёте запись и заполняете метаданные; пока ничего не публично.
Вы
Отправлено
Вы отправляете плагин на проверку.
Вы
AI-проверка
Автоматический агент проверяет плагин по политике проверки — безопасность, корректность манифеста, полнота, контент.
Автоматика
Модерация
Модератор-человек читает отчёт AI, а также ваш артефакт и метаданные, и принимает решение.
Команда AiHummer
Опубликовано
После одобрения артефакт подписывается и добавляется в community-каталог и публичную витрину.
Команда AiHummer
Отклонено
Если что-то не прошло, вы получаете причины; исправляете и отправляете заново.
Вы → снова в черновик
[!IMPORTANT]
AI никогда не публикует плагин сам. Финальное решение всегда принимает
человек, и ничего не попадает в каталог без его одобрения.
Шаг 1 — Откройте «Мои плагины»
Войдите на my.aihummer.ru, откройте раздел «Мои плагины» и нажмите
«Опубликовать» (или «Новый плагин»). Так создаётся черновик, который
можно свободно редактировать, пока вы не отправите его на проверку.
Шаг 2 — Заполните метаданные карточки
Заполните все поля. Неполные метаданные — одна из самых частых причин, по которой
заявку возвращают на доработку.
Поле
Что указать
Название (RU + EN)
Отображаемое имя плагина на двух языках.
Краткое описание (RU + EN)
Одна строка для карточки в каталоге.
Полное описание (RU + EN)
Что делает плагин, как им пользоваться, что ему нужно. Осмысленно — не заглушка.
Категория
Выберите одну из разрешённого набора (например: Каналы, Продуктивность, Интеграции, Голос, Утилиты).
Версия
Строка в формате semver, например 1.0.0. Каждая новая заявка должна её увеличивать.
Иконка
Валидное квадратное изображение.
Скриншоты
Хотя бы один; показывающий плагин в действии.
Лицензия
Лицензия плагина (например MIT, Apache-2.0).
Сайт / репозиторий
Необязательная ссылка https:// на ваш проект.
Ссылка на донат
Необязательно. Валидная ссылка https:// на известный донат-хост — например Boosty, Patreon, PayPal или ЮMoney. Фишинг и произвольные хосты отклоняются.
Чейнджлог (RU + EN)
Что изменилось в этой версии.
[!TIP]
Пишите описания для реального пользователя, который никогда не видел ваш плагин.
«Для тупых» — это ровно то, что нужно: скажите, что он делает, когда его
применять и что ему нужно.
Шаг 3 — Задекларируйте capability-манифест
Capability-манифест — сердце модели безопасности. Это короткая структурированная
декларация всех прав, которые нужны вашему плагину: с какими хостами он общается,
какие файлы трогает, запускает ли внешние команды, какие каналы и доступы использует.
Зачем это декларировать
Пользователи видят запрашиваемые права до установки и соглашаются на них — как
запрос разрешений в мобильном приложении.
Инстанс использует манифест, чтобы ограничить плагин тем, что он задекларировал.
Проверяющие сверяют, что заявленные права совпадают с тем, что реально
делает код. Плагин, который тянется за неуказанным правом, отклоняется.
Принцип минимальных прав
Декларируйте только то, что плагин действительно использует, и ничего сверх.
Меньше прав — быстрее проверка, проще согласие пользователя и больше установок. Если
не трогаете файловую систему — укажите пустой список. Если не запускаете процессы —
поставьте exec в false.
Формат
Capability-манифест — это JSON-объект со следующими полями:
Поле
Тип
Значение
network
string[]
Хосты, к которым подключается плагин (его allowlist исходящих запросов).
filesystem
string[]
Пути, которые он читает или пишет, относительно своей директории плагина.
exec
boolean
Запускает ли он внешние процессы / команды.
channels
string[]
Каналы обмена сообщениями, с которыми он интегрируется (например telegram).
credentials
string[]
Именованные секреты/ключи конфигурации, которые он использует (никогда не значения секретов).
description
string
Короткое человекочитаемое описание того, что и зачем ему нужно.
Пример:
{ "network": ["api.example.com", "cdn.example.com"], "filesystem": ["./cache"], "exec": false, "channels": ["telegram"], "credentials": ["api_token"], "description": "Обращается к Example API для синхронизации задач и отправляет ответы в Telegram. Кэширует ответы в своей директории ./cache. Не запускает процессы, других хостов не использует."}
[!WARNING]
Не кладите реальные секреты, токены или ключи никуда — ни в манифест, ни в
метаданные, ни в артефакт. Указывайте доступы только по имени (например
api_token); реальное значение пользователь введёт при установке. Захардкоженные
секреты — автоматический отказ.
Он должен содержать manifest.json плагина (SDK-манифест — тип, версия, точка
входа, заявленные capabilities, поля конфигурации).
Capability-манифест из Шага 3 должен быть согласован с тем, что реально делают
код и manifest.json.
Иконку и скриншоты вы прикрепляете здесь же, если ещё не сделали этого.
[!TIP]
Перед загрузкой запустите aihummer plugin validate локально. Это тот же контракт
валидации, что использует маркетплейс, поэтому манифест, прошедший локально, будет
принят и здесь.
Шаг 5 — Отправьте на проверку
Когда все поля заполнены и артефакт загружен, нажмите «Отправить на проверку».
Кабинет сначала проверит полноту; если чего-то не хватает — он точно скажет, чего.
После принятия статус меняется на Отправлено, затем на AI-проверка — больше
делать ничего не нужно.
Шаг 6 — Следите за статусом и читайте вердикт
Откройте плагин в «Моих плагинах», чтобы отслеживать статус. По завершении
проверки вы увидите один из вариантов:
На модерации — автопроверка пройдена или отметила лишь мелочи; теперь плагин
смотрит человек. Просто ждите.
Отклонено — что-то не прошло. Вы увидите вердикт, краткое резюме и
конкретные непройденные пункты (с причиной по каждому). Это ваш список
исправлений.
Опубликовано — одобрено, подписано и в проде. Ваш плагин появляется на
маркетплейсе AiHummer и устанавливается в любой инстанс, где
включён community-каталог.
Как читать отказ и переотправить
Откройте плагин; прочитайте непройденные пункты и причины.
Исправьте их — чаще всего это одно из: отсутствующее/слабое описание,
несогласованный capability-манифест, захардкоженный секрет, плохая ссылка на
донат или неувеличенная версия.
Отредактируйте метаданные и/или загрузите новый артефакт с увеличенной версией.
Снова нажмите «Отправить на проверку». Заявка пройдёт по тому же конвейеру.
[!NOTE]
Отказ — не наказание, а чек-лист. Политика проверки
публична именно для того, чтобы вы могли выполнить все требования до отправки.
Установка и обновления — как пользователи
устанавливают плагины и как устроена модель доверия.
**Community-маркетплейс** позволяет любому зарегистрированному пользователю
опубликовать свой плагин, чтобы его смогли установить все, — так же, как вы
публикуете приложение в App Store. Вы заполняете метаданные карточки, декларируете,
какие права нужны плагину, загружаете сборку и отправляете её на проверку. Эта
страница проведёт вас через весь процесс шаг за шагом.
> [!NOTE]
> Этот поток — для **community (сторонних)** плагинов, которые отправляются через
> ваш [личный кабинет](/v1.0/portal/overview) на **my.aihummer.ru**. Плагины самого
> AiHummer публикуются по своему конвейеру. Community-плагины **бесплатны**; можно
> добавить необязательную ссылку на донат.
## Прежде чем начать
1. **Зарегистрированный аккаунт ЛК** — зарегистрируйтесь и подтвердите его (см.
[Регистрацию](/v1.0/portal/registration)). Отправить плагин может любой
пользователь.
2. **Собранный плагин** — подписанный релизный тарбол, собранный с помощью
[Plugin SDK](/v1.0/marketplace/sdk) (`aihummer plugin package`). Если вы ещё не
собрали плагин, начните оттуда.
3. **Иконка и хотя бы один скриншот**, а также готовые описания на **русском и
английском** языках.
## Как устроена публикация (общая картина)
Заявка проходит через фиксированный конвейер. На каждом шаге вы видите её статус в
кабинете.
| Этап | Что происходит | Кто действует |
|---|---|---|
| **Черновик** | Вы создаёте запись и заполняете метаданные; пока ничего не публично. | Вы |
| **Отправлено** | Вы отправляете плагин на проверку. | Вы |
| **AI-проверка** | Автоматический агент проверяет плагин по [политике проверки](/v1.0/marketplace/review-policy) — безопасность, корректность манифеста, полнота, контент. | Автоматика |
| **Модерация** | Модератор-человек читает отчёт AI, а также ваш артефакт и метаданные, и принимает решение. | Команда AiHummer |
| **Опубликовано** | После одобрения артефакт подписывается и добавляется в community-каталог и публичную витрину. | Команда AiHummer |
| **Отклонено** | Если что-то не прошло, вы получаете причины; исправляете и отправляете заново. | Вы → снова в черновик |
> [!IMPORTANT]
> AI **никогда** не публикует плагин сам. Финальное решение всегда принимает
> человек, и ничего не попадает в каталог без его одобрения.
## Шаг 1 — Откройте «Мои плагины»
Войдите на **my.aihummer.ru**, откройте раздел **«Мои плагины»** и нажмите
**«Опубликовать»** (или **«Новый плагин»**). Так создаётся **черновик**, который
можно свободно редактировать, пока вы не отправите его на проверку.
## Шаг 2 — Заполните метаданные карточки
Заполните все поля. Неполные метаданные — одна из самых частых причин, по которой
заявку возвращают на доработку.
| Поле | Что указать |
|---|---|
| **Название (RU + EN)** | Отображаемое имя плагина на двух языках. |
| **Краткое описание (RU + EN)** | Одна строка для карточки в каталоге. |
| **Полное описание (RU + EN)** | Что делает плагин, как им пользоваться, что ему нужно. Осмысленно — не заглушка. |
| **Категория** | Выберите одну из разрешённого набора (например: Каналы, Продуктивность, Интеграции, Голос, Утилиты). |
| **Версия** | Строка в формате [semver](https://semver.org), например `1.0.0`. Каждая новая заявка должна её увеличивать. |
| **Иконка** | Валидное квадратное изображение. |
| **Скриншоты** | Хотя бы один; показывающий плагин в действии. |
| **Лицензия** | Лицензия плагина (например MIT, Apache-2.0). |
| **Сайт / репозиторий** | Необязательная ссылка `https://` на ваш проект. |
| **Ссылка на донат** | Необязательно. Валидная ссылка `https://` на **известный донат-хост** — например Boosty, Patreon, PayPal или ЮMoney. Фишинг и произвольные хосты отклоняются. |
| **Чейнджлог (RU + EN)** | Что изменилось в этой версии. |
> [!TIP]
> Пишите описания для реального пользователя, который никогда не видел ваш плагин.
> «Для тупых» — это ровно то, что нужно: скажите, что он делает, когда его
> применять и что ему нужно.
## Шаг 3 — Задекларируйте capability-манифест
**Capability-манифест** — сердце модели безопасности. Это короткая структурированная
декларация **всех прав, которые нужны вашему плагину**: с какими хостами он общается,
какие файлы трогает, запускает ли внешние команды, какие каналы и доступы использует.
### Зачем это декларировать
- Пользователи видят запрашиваемые права **до установки** и соглашаются на них — как
запрос разрешений в мобильном приложении.
- Инстанс использует манифест, чтобы **ограничить** плагин тем, что он задекларировал.
- Проверяющие сверяют, что **заявленные** права **совпадают** с тем, что реально
делает код. Плагин, который тянется за неуказанным правом, отклоняется.
### Принцип минимальных прав
Декларируйте **только** то, что плагин действительно использует, и ничего сверх.
Меньше прав — быстрее проверка, проще согласие пользователя и больше установок. Если
не трогаете файловую систему — укажите пустой список. Если не запускаете процессы —
поставьте `exec` в `false`.
### Формат
Capability-манифест — это JSON-объект со следующими полями:
| Поле | Тип | Значение |
|---|---|---|
| `network` | string[] | Хосты, к которым подключается плагин (его allowlist исходящих запросов). |
| `filesystem` | string[] | Пути, которые он читает или пишет, относительно своей директории плагина. |
| `exec` | boolean | Запускает ли он внешние процессы / команды. |
| `channels` | string[] | Каналы обмена сообщениями, с которыми он интегрируется (например `telegram`). |
| `credentials` | string[] | Именованные секреты/ключи конфигурации, которые он использует (никогда не значения секретов). |
| `description` | string | Короткое человекочитаемое описание того, что и зачем ему нужно. |
Пример:
```json
{
"network": ["api.example.com", "cdn.example.com"],
"filesystem": ["./cache"],
"exec": false,
"channels": ["telegram"],
"credentials": ["api_token"],
"description": "Обращается к Example API для синхронизации задач и отправляет ответы в Telegram. Кэширует ответы в своей директории ./cache. Не запускает процессы, других хостов не использует."
}
```
> [!WARNING]
> **Не** кладите реальные секреты, токены или ключи никуда — ни в манифест, ни в
> метаданные, ни в артефакт. Указывайте доступы **только по имени** (например
> `api_token`); реальное значение пользователь введёт при установке. Захардкоженные
> секреты — автоматический отказ.
## Шаг 4 — Загрузите артефакт
Загрузите сборку плагина:
- **Формат:** релизный тарбол `.tar.gz`, собранный командой
[`aihummer plugin package`](/v1.0/marketplace/sdk#the-cli).
- Он должен содержать **`manifest.json`** плагина (SDK-манифест — тип, версия, точка
входа, заявленные `capabilities`, поля конфигурации).
- Capability-манифест из Шага 3 должен быть **согласован** с тем, что реально делают
код и `manifest.json`.
Иконку и скриншоты вы прикрепляете здесь же, если ещё не сделали этого.
> [!TIP]
> Перед загрузкой запустите `aihummer plugin validate` локально. Это тот же контракт
> валидации, что использует маркетплейс, поэтому манифест, прошедший локально, будет
> принят и здесь.
## Шаг 5 — Отправьте на проверку
Когда все поля заполнены и артефакт загружен, нажмите **«Отправить на проверку»**.
Кабинет сначала проверит полноту; если чего-то не хватает — он точно скажет, чего.
После принятия статус меняется на **Отправлено**, затем на **AI-проверка** — больше
делать ничего не нужно.
## Шаг 6 — Следите за статусом и читайте вердикт
Откройте плагин в **«Моих плагинах»**, чтобы отслеживать статус. По завершении
проверки вы увидите один из вариантов:
- **На модерации** — автопроверка пройдена или отметила лишь мелочи; теперь плагин
смотрит человек. Просто ждите.
- **Отклонено** — что-то не прошло. Вы увидите **вердикт, краткое резюме и
конкретные непройденные пункты** (с причиной по каждому). Это ваш список
исправлений.
- **Опубликовано** — одобрено, подписано и в проде. Ваш плагин появляется на
[маркетплейсе AiHummer](https://aihummer.ru) и устанавливается в любой инстанс, где
включён community-каталог.
### Как читать отказ и переотправить
1. Откройте плагин; прочитайте **непройденные пункты** и причины.
2. Исправьте их — чаще всего это одно из: отсутствующее/слабое описание,
несогласованный capability-манифест, захардкоженный секрет, плохая ссылка на
донат или неувеличенная версия.
3. Отредактируйте метаданные и/или загрузите **новый артефакт с увеличенной версией**.
4. Снова нажмите **«Отправить на проверку»**. Заявка пройдёт по тому же конвейеру.
> [!NOTE]
> Отказ — не наказание, а чек-лист. [Политика проверки](/v1.0/marketplace/review-policy)
> публична именно для того, чтобы вы могли выполнить все требования **до** отправки.
## Что дальше
- [Политика проверки и чек-лист](/v1.0/marketplace/review-policy) — точные критерии,
по которым проверяют ваш плагин.
- [Plugin SDK](/v1.0/marketplace/sdk) — сборка плагина и его `manifest.json`.
- [Публикация плагина](/v1.0/marketplace/publishing) — приватный side-load и другие
режимы публикации.
- [Установка и обновления](/v1.0/marketplace/install-updates) — как пользователи
устанавливают плагины и как устроена модель доверия.