Публикация в каталог
Публиковать скринеры может любой аккаунт Space Market. Каждую версию проверяют автоматически и вручную: валидатор, пробный запуск и модератор. После одобрения версия появляется на витрине store.space-terminal.com, и пользователи добавляют её в свои терминалы. Как написать скринер — Свой скринер.
Подготовка манифеста
Заголовок раздела «Подготовка манифеста»Для каталога в manifest.yaml нужны ещё три поля:
description: {ru: "Что показывает скринер и откуда данные", en: "What it shows and where the data comes from"}categories: [open-interest] # от одной до трёхsource: https://github.com/you/my-screener # необязательноdescription— текст карточки на витрине, до 2000 символов на каждом языке. Пишите, что показывает таблица и откуда данные: по нему модератор сверяет поведение плагина.categories— от одной до трёх категорий витрины, список значений — в разделе Манифест.source— ссылкаhttps://на исходный код, если он открыт.
Проверьте: st validate должен напечатать catalog: ready. Версия —
вида 1.2.0 без хвоста +…. Код модуля для каталога — не больше
4 МиБ; обычный скринер на Rust занимает 150–300 КиБ, на TypeScript —
около 1 МиБ.
Профиль автора и токен
Заголовок раздела «Профиль автора и токен»- Зарегистрируйтесь или войдите на store.space-terminal.com.
- В шапке сайта откройте Автору.
- В поле Имя автора укажите имя, под которым ваши скринеры увидят все, — от 2 до 40 символов — и нажмите Стать автором. После этого имя показывается в строке Имя в каталоге, сменить его можно кнопкой Изменить.
- В панели токенов введите имя токена в поле Новый токен, например
macbookилиgithub-actions, и нажмите Создать токен. - Нажмите Копировать и сохраните токен — он начинается с
stp_.
Вход в st
Заголовок раздела «Вход в st»st loginВставьте токен в ответ на запрос и нажмите Enter. st сохранит его в
файл настроек, доступный только вашей учётной записи, и дальше будет
брать оттуда. Для сборки на сервере или в CI токен можно передать
переменной окружения ST_TOKEN.
Публикация
Заголовок раздела «Публикация»st publishЧто происходит:
stсобирает плагин и проверяет манифест, поля каталога и модуль — так же, как проверит сервер.- Пробный запуск у вас на компьютере:
initи три вызоваon_timerбез сети, на тестовых данных. Если плагин падает,stостановится и ничего не отправит. - Загрузка на сервер. Сервер повторяет проверки и пробный запуск — до 20 секунд.
- Версия получает статус на модерации,
stпечатает итог пробного запуска и ссылку на кабинет автора.
Пробный запуск без сети не видит бирж, поэтому скринер, которому нужен
HTTP, получит пометку «есть замечания» — это нормально. Чтобы
модератор увидел настоящие строки, приложите запись из st record:
st publish --recording recordings/<запись>.jsonЗапись — не больше 4 МиБ; на ней же пройдёт пробный запуск на сервере.
Модерация
Заголовок раздела «Модерация»Каждую версию смотрит человек. Правило модерации, как оно написано на сайте: «Модерация проверяет, что скринер делает то, что обещает описание, и ходит в сеть только за данными бирж».
Статус версий — в кабинете Автору, в списке ваших скринеров:
| Статус | Что значит |
|---|---|
| на модерации | Ждёт решения модератора |
| одобрена | Есть на витрине, пользователи могут её поставить |
| отклонена | Под версией — [Модератор] и причина отказа. Файлы отклонённой версии удаляются |
| отозвана | Модератор снял уже одобренную версию |
Рядом — [Автопроверка]: автопроверка пройдена, есть замечания или ошибка пробного запуска, с подробностями. Писем о решении нет — смотрите статус в кабинете.
Новые версии
Заголовок раздела «Новые версии»Поднимите version в manifest.yaml и снова выполните st publish:
номер каждой новой версии должен быть больше прежних. У пользователей
новая версия не ставится сама — терминал показывает кнопку ↑ и
спрашивает (см. Обновления).
Пользователь, закрепивший версию, остаётся на ней.
Бету публикуйте с суффиксом, например 1.3.0-rc.1: пользователи без
закрепа получают последнюю стабильную версию, а бету — только если
закрепят её в Мои плагины. Исключение — скринер, у которого ещё нет
ни одной одобренной стабильной версии: тогда бета ставится всем. Первый
выпуск лучше сразу делать стабильным, например 0.1.0.
Имя скринера (id) закрепляется за тем, кто опубликовал его первым:
другой автор с тем же id получит отказ.
Ограничения
Заголовок раздела «Ограничения»| Что | Лимит |
|---|---|
| Версий на модерации | Не больше 3 у одного скринера и 10 у автора |
| Публикаций | Не больше 30 в час с одного IP-адреса |
| Манифест | До 64 КиБ |
Модуль screener.wasm | До 10 МиБ, код — до 4 МиБ |
Запись для --recording | До 4 МиБ |
Ошибки публикации
Заголовок раздела «Ошибки публикации»st publish печатает код ошибки и подсказку:
| Код | Причина и что делать |
|---|---|
not ready for the catalog | Нет categories или description — заполните поля каталога |
version_exists, version_not_greater | Такая версия уже есть или она не больше прежних — поднимите version |
id_taken | Это имя принадлежит другому автору — смените id |
not_author | Не задано имя автора — сделайте это в кабинете Автору |
unauthorized, token_invalid | Токен отозван или введён с ошибкой — создайте новый и выполните st login |
too_many_pending | Модератор ещё не посмотрел прежние версии — дождитесь решения |
screener_revoked | Модератор снял скринер из каталога — новые версии не принимаются |
invalid_recording | Файл записи не от st record или от другого скринера — запишите заново или публикуйте без --recording |
rate_limited, server_busy | Слишком часто или сервер занят — st подскажет, через сколько повторить |
the trial run failed | Плагин упал на пробном запуске у вас — исправьте ошибку до загрузки |
Если скринер сняли
Заголовок раздела «Если скринер сняли»Модератор может отозвать версию или снять скринер целиком — например, если он ходит в сеть не за данными бирж. Терминалы пользователей удалят его при следующей проверке. В кабинете у скринера появится снят модератором и Причина: ….
Что дальше
Заголовок раздела «Что дальше»- Свой скринер
- Скринер с помощью Claude
- Space Market — как скринер выглядит у пользователя.