外观
在官网发布插件
萌卡 NT 官网的发布表单、审核系统和框架插件市场已经打通。开发者一次填写资料并提交审核;审核通过后,官网才会原子更新线上文章和市场目录。无需手写市场 JSON,也不需要再到投稿中心重复提交。
未登录时会先进入官网登录页。插件 ID 发布后不可更换;它同时关联官网文章、安装记录、权限快照和运行配置。
发布流程
- 使用开发者账号登录官网,在用户中心进入“发布插件”。
- 填写基础资料、平台下载和接入方式,并从当前框架清单中多选实际需要的 API 与订阅事件。
- 核对 API 与事件选择;官网勾选结果是审核、安装和运行时授权的唯一标准。
- 点击“提交审核”。系统会保存草稿、生成详情文章并建立审核快照。
- 审批人员检查详情、下载文件、接入方式和最小权限范围。
- 审核通过后,新快照才会发布并同步到框架插件市场。
这是一条完整流程,不再需要“先保存、进入 Halo 编辑器、返回列表后再次提交”。若提交失败,页面会保留错误原因;不会产生已上架但缺少权限或下载信息的半成品。
表单字段
| 项目 | 填写要求 |
|---|---|
| 插件名称 | 官网文章和插件市场显示名称 |
| 插件 ID | 稳定唯一标识,例如 Bilibili-Utility-Suite |
| 插件版本 | 当前发布版本,例如 1.5.0 |
| 一句话介绍 | 插件市场卡片摘要 |
| 插件 Logo | PNG、JPG/JPEG 或 WebP,最大 5 MB;自动归一为 512×512 |
| 支持平台 | 仅 Windows、仅 Linux、Windows + Linux 或“其他” |
| 下载地址 | Windows x86_64、Linux x86_64、Linux ARM64 分别填写;识别后必须在候选附件中单选确认,三个目标允许选择同一个通用文件 |
| 更新日志地址 | 双平台插件的统一 GitHub/Gitee Releases 页面 |
| 接入模式 | 正向、反向或正向 + 反向 WebSocket |
| 监听端口 | 快捷添加服务时预填;无固定端口填 0 |
| 内置 Web 后台 | 只有插件确实提供管理页面时才选择“支持” |
| 调用 API | 从当前框架 API 清单多选,支持搜索、快捷全选和清空 |
| 订阅事件 | 从标准事件清单多选,支持搜索、快捷全选和清空 |
标准事件名为:group_message、friend_message、group_event、friend_event、bot_offline。
官网权限快照规则
官网以发布页选择结果生成“调用 API”和“订阅事件”审核快照。插件安装包不需要 mengka-plugin.json,即使安装包中存在同名文件,里面的 capabilities 也不参与授权判断,不能扩大或缩小官网审核通过的权限。
- 事件权限不再由 API 自动扩大。例如只调用
send_group_msg并不代表插件需要读取所有群消息。 - 已上架插件发布更新时必须重新确认 API 与事件选择;旧安装包无需为了市场发布补写清单文件。
- 未授权 action 会返回失败的
action_result;未授权事件不会投递给该市场服务。 - 旧的手工 WS 服务继续按兼容规则运行,但不属于官网审核快照管理范围。
- 权限扩大需要提交新版本并重新审核、重新安装,不会静默影响已安装服务。
完整的托管运行、可选启动元数据、配置、生命周期和 HTTP 适配说明见插件托管与权限协议。所有公开 action 标准名见 API 总览。
安装包与启动入口
- Windows、Linux x86_64 和 Linux ARM64 应提供与目标平台匹配的可部署成品包。
- 安装包无需清单文件。框架会在解压后自动寻找可执行入口,并优先匹配插件 ID、
bin和release目录。 - 包内存在多个同等优先级入口时,框架会停止自动选择并提示开发者整理包结构,避免误启动其他工具。
- 需要自定义启动参数、工作目录、配置 Schema 或内置 Web 后台时,可以提供
mengka-plugin.json作为可选运行描述文件;它只负责启动和管理元数据,不负责 API 或事件授权。 - “其他”类型不会下载、解压或启动安装包。用户点击安装后直接进入正向/反向 WebSocket 服务添加流程,开发者仍需填写更新日志地址。
发布更新与版本连续性
在“管理我的插件”中选择“发布更新”。表单会载入已上架资料,并优先从 GitHub/Gitee 最新 Release 读取版本、附件和 Markdown 更新日志。
| 状态 | 官网行为 | 框架市场行为 |
|---|---|---|
| 草稿 | 仅作者可编辑 | 不显示 |
| 待审核(首次发布) | 审核人员可查看快照 | 不显示 |
| 待审核(已上架插件更新) | 新资料隔离在待审快照 | 继续显示上一审核版本 |
| 审核通过 | 同时提升待审字段、文章快照并发布 | 切换到新版本 |
| 审核驳回 | 保留线上版本,作者按原因修改 | 继续显示上一版本 |
| 已下架 | 停止公开发布 | 停止展示 |
提交审核后不能继续修改同一待审版本;这是为了保证审批人员看到的内容与最终发布内容完全一致。被驳回后可修正并再次提交。
下载与更新日志
- 单平台插件可填写直接压缩包或 Releases 页面。
- 双平台插件必须提供独立“更新日志地址”,作为版本号和日志的统一来源,避免偏向某个平台附件。
- 官网会为 Windows x86_64、Linux x86_64、Linux ARM64 分别识别候选附件并默认选择最匹配的文件。开发者必须在每组单选框中确认,也可以改选其他候选附件。
- 三组选择互不排斥;Shell、Java、Node.js 等真正跨平台或跨架构的成品包可以由 Windows 和两个 Linux 架构选择同一个文件。原生二进制仍应按平台和架构分别打包。
- 已上架插件的发行版信息会周期刷新;刷新只更新已批准插件,不会绕过审核扩大权限。
- 插件包必须是可部署成品,但不要求包含清单文件。自动识别支持
.zip、.tar、.tar.gz/.tgz、.tar.bz2/.tbz2、.tar.xz/.txz、.tar.zst/.tzst、.7z和.rar;不要把源码仓库首页当成安装包。
审核前自检
- 插件 ID 与历史版本及
MENGKA_PLUGIN_ID一致; - 至少一个平台下载地址有效,安装包可解压启动;
- Windows、Linux x86_64、Linux ARM64 安装包的目标架构正确,且每个包只有一个明确的启动入口;
- 官网勾选的 API 和事件与插件实际使用范围一致;
- 未申请插件不使用的 API 或事件;
- 配置密钥没有写入安装包、文章或普通配置默认值;
- 只有实际提供 Web 管理端时才启用“内置 Web 后台”;
- 更新日志、功能、安装方法和反馈渠道完整。
与其他业务的边界
- 官网开发者账号与普通用户登录共用账号体系,但发布、管理和审批分别校验权限。
- 审核人员授权不等于普通管理员权限;无审批权账号不能读取或处理待审插件。
- 插件文章只进入
mknt-plugin-market分类,不占用普通投稿流程。 - HTTP Webhook 默认关闭,启用后只向原 WebSocket 服务投递白名单事件,不会绕过 action 授权。
- 删除、下架和重新上架仍走独立受控流程,发布表单不会直接删除线上数据。
