萌卡 NT v2.0.3
Mengka NT v2.0.3 版本说明
修复
- 修复在线更新线路退化后下载失败率和 502 提示偏高的问题:恢复多线路并发探测、测速排序和逐线路降级。
- 修复 Release 元数据重复请求:增加本地缓存、ETag 和并发请求合并,不再通过共享匿名 GitHub 配额的镜像读取 Release API。
- 恢复更新包大小与 SHA-256 双重强校验,校验不通过不会覆盖当前程序。
- 恢复 Windows 与 Linux 分平台重启、缓存登录恢复策略,并区分限流、网络超时、下载失败、校验失败和重启失败,不再统一显示为 502。
- 修复多个插件 WS 服务与多个账号登录节点并存时,只有一个 WS 能正常调用账号 API 的问题。
- 修复专属 Key API 被插件服务节点错误拦截、返回
bot 不属于本节点的问题。 - 修复账号事件按插件服务节点过滤而造成部分 WS 收不到事件的问题。
调整
- 插件 WS 服务只负责连接模式、服务令牌和事件订阅,不再绑定账号登录节点。
- 普通账号 action 统一通过
self_id + client_type查找账号,并在该账号配置的登录节点上执行。 get_bot_list()直接返回当前框架实例中的全部协议账号;返回项仍保留账号自己的node_id。add_account、update_account以及节点管理 action 继续显式使用账号或目标节点的node_id。- 同一框架实例绑定的专属 Key 继续由框架自动带入,所有已认证插件 WS 服务共享该实例授权。
- 事件改为按插件连接声明的消息、通知和离线事件权限分发,不再复用节点字段作为插件权限。
不兼容调整与升级操作
本版本只提供 2.0.3 当前契约,不兼容旧的插件服务节点绑定协议:
- 创建或编辑正向/反向 WS 服务时,删除请求体中的
node_id。 - 反向 WS 服务端删除对
X-Mengka-Node-ID请求头的读取。 - ready 消息和
get_plugin_context不再包含服务级node_id,插件不得据此筛选账号。 - 将
get_bot_list({ all_nodes: true })改为get_bot_list();all_nodes参数已删除。 - 调用账号 API 时始终同时提交
self_id与client_type;Android 与 Linux 同 QQ 号仍按两个独立协议账号处理。 - 新增账号仍必须在
add_account中提交账号登录用的node_id;移动账号节点时在update_account中提交目标node_id。
数据库中旧 plugins.node_id 列不再被框架读取或写入。使用全新数据库时该列不会创建;旧数据库可保留这个无效列,无需手工修改账号表中的 accounts.node_id。
验证重点
- 从多个更新线路检查 v2.0.3,确认失败线路会自动降级;下载后必须通过包大小和 SHA-256 校验,再进入平台对应的重启流程。
- 分别在节点 1、节点 2 登录账号,并建立 WS1、WS2;两个 WS 都应能按账号参数调用任一节点账号。
- 使用专属 Key action(例如
get_pet_profile)验证两个 WS 都会进入同一套框架实例鉴权。 - 验证消息、通知及掉线事件只受连接订阅权限影响,不受账号节点影响。