Skip to content

About

Owner-trusted catalog of executable .py plugins (nodes / routers / handlers) for the auto-lzt flow engine — installed by the owner from the bot, unsandboxed by design.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

English · Русский

lzt-plugins

Каталог исполняемых .py-плагинов для движка auto-lzt.

Плагин — это код, который выполняется в процессе движка, с вашими токенами и вашими деньгами. Песочницы нет by design. Поэтому каталог владельческий: плагин ставит владелец стенда из меню бота /plugins, никогда через публичный API.

Не путайте с lzt-flows: там модули-графы, это данные, их публикует кто угодно. Здесь — код.

Что в каталоге

Плагин Версия Что делает
steam-autobuy 1.0.0 автопокупка Steam-аккаунтов: узлы steam.search и steam.fast_buy, бюджет и фильтры, dry_run включён по умолчанию

Подключение

LZT_FLOW_PLUGIN_INDEX_URL=https://raw.githubusercontent.com/open-lzt/lzt-plugins/main/plugins.json
LZT_FLOW_PLUGIN_INDEX_TOKEN=<github PAT>   # только для приватного каталога, read-доступ repo

Дальше: бот читает plugins.json, скачивает source_url (zip), распаковывает в .system/plugins/<name>/. Рантайм подхватывает плагин на следующем рестарте, не сразу.

plugins.json

{
  "schema_version": 1,
  "plugins": [
    {
      "name": "steam-autobuy",
      "version": "1.0.0",
      "description": "Автопокупка Steam-аккаунтов: поиск с фильтрами и бюджетом + покупка (steam.search, steam.fast_buy). dry_run включён по умолчанию.",
      "source_url": "https://raw.githubusercontent.com/open-lzt/lzt-plugins/main/dist/steam-autobuy.zip",
      "requirements": []
    }
  ]
}

requirements — pip-пакеты, ставятся один раз при установке. Пусто, если хватает того, что движок уже несёт.

manifest.json

Лежит внутри плагина, рядом с кодом.

{
  "schema_version": 1,
  "name": "steam-autobuy",
  "version": "1.0.0",
  "description": "Автопокупка Steam-аккаунтов: узлы steam.search + steam.fast_buy (бюджет, dry_run).",
  "entry": "plugin.py",
  "requirements": []
}

Формат плагина

Точка входа обязана экспортировать PRE_INIT — список функций, которые движок вызывает при загрузке. POST_INIT и SHUTDOWN опциональны.

REGISTRATIONS = [
    NodeRegistration(
        node_type=NodeType(
            key="steam.search",
            category=NodeCategory.LOGIC,
            input_schema=SteamSearchInput,
            output_schema=SteamSearchOutput,
            idempotent=True,
            capabilities=frozenset({NodeCapability.MARKET_READ}),
        ),
        impl=SteamSearchNode,
    ),
    NodeRegistration(
        node_type=NodeType(
            key="steam.fast_buy",
            category=NodeCategory.ACTION,
            input_schema=SteamFastBuyInput,
            output_schema=SteamFastBuyOutput,
            idempotent=False,
            capabilities=frozenset({NodeCapability.MARKET_MUTATE, NodeCapability.MONEY}),
        ),
        impl=SteamFastBuyNode,
    ),
]


def _register(ctx: PluginLoadContext) -> PluginLoadedContext:
    loaded = PluginLoadedContext()
    loaded.nodes.extend(REGISTRATIONS)
    return loaded


PRE_INIT = [_register]

capabilities — что узел вправе делать. MONEY и MARKET_MUTATE означают реальные траты, idempotent=False — повтор не бесплатен. Схемы входа и выхода — Pydantic-модели.

Полный рабочий пример — plugins/steam-autobuy/plugin.py.

Добавить плагин

  1. plugins/<name>/ — plugin.py (экспортирует PRE_INIT) и manifest.json.
  2. Заархивировать файлы плагина в dist/<name>.zip, plugin.py — в корне архива.
  3. Дописать запись в plugins.json: name, version, description, source_url, requirements.

Чего в этом репозитории нет

CI, автоматической валидации, тестов и файла LICENSE. Проверка плагина — на владельце, который его ставит.

Экосистема

auto-lzt — движок · lzt-flows — модули-графы · весь стенд

About

Owner-trusted catalog of executable .py plugins (nodes / routers / handlers) for the auto-lzt flow engine — installed by the owner from the bot, unsandboxed by design.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages