plugin ecosystem

插件不是附件,
是产品本身。

驱动、界面、套件、场景逻辑,都是同一种 zip:精简 manifest + 构建好的面。 装进客户端插件池,按需启用;不合适当场换掉,不用重装整个终端。

first-party catalog

一方插件。

这些插件随 feed 发布,官方签名;直接下载 zip,或在客户端插件页搜索安装。

community

没有集中市场,
只有作者的源。

社区作者把插件放在自己的 GitHub 仓库,用自己的 Ed25519 密钥签名, 发布成自仓滚动 Release,并给仓库打上 snap-rail-plugin topic。 用户把作者 Release 地址加为插件源即可——官方不维护名单、不做 PR 上架、不转存社区 zip。

DISCOVER

从 topic 发现

在 GitHub topic 里浏览作者仓库,从 README 拿到 Release 地址。

GitHub topic
ADD SOURCE

把源加进终端

设置 → 插件 → ⚙ 插件源,粘贴作者的静态目录/Release 地址;搜索会合并各源。

看插件页操作
PUBLISH

发布你自己的

用 snap-rail-plugin CLI 打包签名,发布 tag feed 的滚动 Release。

发布指引
https://github.com/<author>/<repo>/releases/download/feed/

for developers

从空目录到一个可安装的 zip。

独立仓库用 @snap-rail/plugin-sdk 与 snap-rail-plugin CLI 打包签名; 驱动照抄 driver-modbus,界面只组合内置语义 UI 的原语。

# 插件作者:一条命令初始化(8 种模板)
pnpm dlx @snap-rail/plugin-sdk init my-driver --template driver
cd my-driver && pnpm install

# 构建 + 用你自己的密钥签名
pnpm run build
pnpm exec snap-rail-plugin pack . \
  --out dist \
  --sign-key release.private.pem \
  --key-id my-key

# 由已签名 zip 产出 index.json(你的插件源目录)
pnpm exec snap-rail-plugin feed dist

# 发布到你仓库的滚动 Release(tag: feed)
# 再给仓库打 topic: snap-rail-plugin

先读这三份

命名空间 @snap-rail/* 必须受信签名,不能冒名; 社区作者用自己作用域,自己的密钥。

snap-rail Windows 客户端
下载客户端