Releases: Carlor-Official/Mengka-NT
Release list
萌卡 NT v2.0.6
萌卡 NT v2.0.6
新增
- 新增账号上线事件,完善主动停止、网络断开与缓存恢复的状态通知;插件重连不会重复广播历史上线状态。
- 新增主动发送好友申请、入群申请、退出群聊、群戳一戳、设置群精华消息和群名称 API,并同步 Node.js SDK 与事件文档。
- 专属 Key 支持由所属用户明确确认后接管至新实例。接管提交后旧凭据不能发起新授权,旧框架升级后会自动退回未激活状态。
修复与优化
- 修复好友申请未进入查询和事件广播的问题,完善普通申请、拒绝后重新申请与好友新增的处理。
- 改善群成员加入、离开及管理通知的处理顺序,减少旧会话回读、重复推送和接口响应竞争造成的遗漏或误判。
- 完善群管理和文件上传的服务器确认,区分原生通知与状态回读,不把接口提交成功当作原生事件。
- 修复群聊及好友消息引用被错误拒绝、私聊接收事件丢失引用原文和群临时会话引用缓存的问题。
- 修复 Linux 群图片上传缺少当前协议应用标识、好友列表较大时分页不完整的问题。
- 修复节点代理配置及连接处理,完善跨节点账号操作的路由与错误反馈。
- 修复明确登录失效后仍反复缓存登录的问题;辅助接口错误不会被一概判定为全局掉线。
- 专属 Key 状态检查支持识别接管和管理员清空;网络超时或普通权限错误不会误删本地激活信息。
升级注意
- 升级前备份整个
data目录。专属 Key 接管使用新版算法服务协议,不兼容旧版绑定接口;服务端需先完成升级,用户再升级框架。 - 本次专属 Key 重置后,原有 Key 全部失效;请向管理员领取新 Key 并重新激活,不要重复使用旧 Key。旧版框架可能仍显示旧激活信息,请先升级。
- 多协议操作明确传入
self_id和client_type;申请事件的flag必须按原账号、原协议原样传回。 send_private_msg返回message_id,不包含success、msg_seq或msg_random;请勿套用其他发送接口的返回结构。- 事件来源以对应文档标注为准;服务端回读不是原生推送,不保证所有客户端未知通知模板或所有媒体格式均可触发。图片下载地址含临时凭据,不应作为永久消息标识。
萌卡 NT v2.0.5
萌卡 NT v2.0.5
更新内容
- 服务能力发现补全
get_summary_card和get_user_agent,修复用户系统插件启动时因管理能力列表不完整而无法对接的问题。管理 API v1 现在声明 47 项能力;SDK 总 action 数仍为 221,无新增兼容别名。 - 服务卡片操作区新增复制令牌按钮,空令牌、复制失败和连续点击提供明确反馈。
- 统一指纹选择框、复选框及玻璃质感控件,改善边框、触控与明暗主题的显示。
- 同步官方 API 文档与正反向 Node.js SDK 文档。
升级说明
- 升级前备份框架配置和完整
data目录,按操作系统和架构选择对应程序包。 - 使用用户系统插件 2.0.0 前,先升级框架到本版本。插件 2.0.0 为全新独立认证及数据库体系,不能覆盖使用 1.x 的旧数据库;请另行保留旧插件配置、数据库及主密钥。
- 插件使用服务令牌认证即可调用管理 API,不需要系统管理授权开关;账号仍由
self_id + client_type路由到真实运行节点。 - 若正在运行的旧更新器反复出现 502,请备份数据后手动替换完整包一次;本次更新不宣称改写仍在运行的旧更新器。
萌卡 NT v2.0.4
Mengka NT v2.0.4 版本说明
新增
- 新增萌卡原生事件目录,统一提供消息、通知、请求和系统四类事件。
- 新增精确事件监听器:好友与群消息、消息发送确认、好友和群请求、好友关系、消息撤回、群成员变化、群管理变化、群系统提示、表情回应、戳一戳、资料点赞、输入状态、插件生命周期、插件心跳和账号离线。
- 所有事件新增
event_id、occurred_at、category、event_type、self_id与client_type公共字段,方便去重、追踪和按协议账号处理。 - 新增好友申请原生推送链路:收到提示后由框架回读 QQ 好友系统消息,再生成带不透明
flag的请求事件。 - 新增群系统卡片规范化:输出稳定的摘要和已确认参与人,并将管理员、群文件、群名片、群名称、群头衔、群精华、表情回应与戳一戳变化分流到独立事件。
优化
- 正向与反向 Node.js SDK 可直接监听具体事件,不再要求插件重复解析
post_type + sub_type。 - 同一个事件可同时投递给大类监听器和具体监听器,事件 ID 保持一致。
- 插件连接认证会根据已注册的具体监听器自动计算所需事件权限。
- 群系统卡片不再把易变化的原始 XML 暴露为公共契约;无法确认的字段不填
0,也不使用猜测值。 - 插件心跳与 WebSocket 控制帧心跳同步,业务层可以直接确认事件通道存活。
- 固化在线更新的多线路并发探测、测速排序和逐线路降级;Release 元数据使用 ETag、本地缓存和并发请求合并,不再重复消耗匿名 GitHub 配额。
- 在线更新继续强制校验资源大小与 SHA-256,并按 Windows、Linux 分别执行替换、重启和缓存登录恢复。
修复
- 修复
request已出现在事件能力目录但连接权限结构未真正接收和校验请求事件的问题。 - 修复除入群、禁言以外的大量群系统提示被后端直接丢弃的问题。
- 修复插件只能订阅粗粒度事件、无法稳定区分同类通知的问题。
- 修复在线更新将 GitHub 限流、网络超时、线路下载失败、压缩包校验失败和服务重启失败统一显示为 502 的问题;当前版本会返回可区分的失败阶段与是否可重试信息。
插件升级说明
- 推荐将
group_notice、friend_notice等大类监听逐步改为具体事件监听器;大类监听仍可用于统一日志或审计。 - 正向连接必须在
connect()前注册事件,SDK 才能在认证阶段声明对应权限。 - 插件应使用
event_id去重,使用event_type判断业务类型,不要依赖可读摘要识别事件。 flag、request_id、request_type等请求标识必须原样传回处理接口,不要自行拼接。group_system_tip只表示框架确认收到一条未归类系统提示;插件不得从summary猜测缺失的账号、文件或消息标识。- 从 v2.0.3 升级可直接使用在线更新。v2.0.2 及更早版本若反复在在线更新阶段显示 502,请先完整备份
data目录并手动替换一次 v2.0.4 程序包;旧进程内的更新器无法被尚未安装的新修复反向替换,完成这一次手动升级后,后续版本即可使用新版多线路更新链路。
萌卡 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 都会进入同一套框架实例鉴权。 - 验证消息、通知及掉线事件只受连接订阅权限影响,不受账号节点影响。
萌卡 NT v2.0.2
萌卡 NT v2.0.2
本版本是 v2.0.1 的当前契约修正版。v2.0.1 已产生下载,因此不覆盖同版本资产,使用新版本明确区分最终构建。
修复内容
- 账号离线通知接口只接受和返回
offlineEnabled,移除遗留的emailEnabled参数及响应字段。 - 插件 WebSocket 管理 API 与 HTTP 管理 API 使用同一套当前字段,不再存在旧字段回退分支。
- 外发包重新基于最终私有源码提交构建,Windows、Linux AMD64 与 Linux ARM64 均使用 Garble 随机种子、字符串混淆、路径裁剪和符号剥离。
不兼容调整
- 调用
get_account_offline_notification时只读取offlineEnabled。 - 调用
update_account_offline_notification时只提交offlineEnabled和可选的email。 - 使用旧
emailEnabled字段的插件必须改为offlineEnabled;框架不会继续兼容旧字段。
升级说明
从 v2.0.1 升级前,请停止框架并完整备份安装目录中的 data。完整替换程序与 public 前端资源后重新启动。数据库无需手工迁移。
外发包仅包含混淆后的可执行文件、生产前端资源、协议清单和初始化 SQL;不包含源码、源码映射、数据库、配置、日志、密钥、开发依赖或 Git 元数据。
萌卡 NT v2.0.1
萌卡 NT v2.0.1
本版本以 v2.0.0 外发源码为唯一基线,完成插件管理契约、账号管理链路和扫码归属验证的当前版本切割。
核心更新
- 插件服务通过服务令牌认证后可直接调用框架提供的 45 个管理 API;服务列表和编辑弹窗不再显示“系统管理”授权项。
- 删除当前契约中的
system_management、allowed_actions及逐服务 action 授权逻辑;admin_base_url仅用于管理员 SSO 和“进入管理端”入口,可留空。 - Node.js 正向、反向 SDK 统一为 221 个 action,新增账号管理上下文、账号离线通知读取与修改接口。
- 账号编辑支持通过
target_client_type修改协议,并在切换前安全停止原协议会话,避免残留登录任务。 - 扫码找回改用临时内存设备身份生成二维码,修复恢复会话被当作 QQ 0 查询而无法生成二维码的问题;确认后只返回 QQ 号,不登录账号、不保存票据。
- QQ 账号参数统一限制为 5 至 12 位数字,消除管理页、插件接口和验证码链路之间的不一致。
- 全新数据库加入账号离线通知设置表校验;插件管理配置和 SSO 路径同步当前契约。
不兼容调整
- 插件必须删除服务创建、编辑请求中的
system_management与allowed_actions。 - 插件使用
get_plugin_context返回的management_api_version校验管理 API 版本,并以只读available_actions判断当前能力。 - 不提供旧字段、旧 action 名或 action 外层
access_key的兼容分支。专属 Key 仍由框架绑定并在服务端完成鉴权,插件不能读取或传递完整 Key。
安装与升级
从 v2.0.0 升级前,请停止框架并完整备份安装目录中的 data。随后完整替换程序和 public 前端资源再启动。旧数据库中遗留的已删除配置列不会参与当前逻辑,无需手工编辑数据库。
外发包仅包含编译后可执行文件、生产前端资源、协议清单和初始化 SQL;不包含源码、源码映射、数据库、管理员配置、日志、密钥、开发依赖或 Git 元数据。
萌卡 NT v2.0.0
萌卡 NT v2.0.0
本版本完成专属 Key 调用链路升级:Key 由框架实例统一托管,插件只调用业务 API,不再填写、保存或传递完整 Key。
核心更新
send_packet与 30 个 QQ 宠物 API 全部纳入专属 Key 服务端鉴权,并统一记录授权判断、实际执行结果和调用耗时。- 用户在框架管理端选择可用 Key 并固定绑定后,框架会在受控 API 调用时自动使用该绑定,插件无需增加任何 Key 参数或配置项。
- 正向与反向 WebSocket action 均移除
access_key字段;Node.js SDK 同步移除sendPacketKey、setSendPacketKey和单次accessKey入口。 - 专属 Key 继续以加密形式保存在本机,只向管理端展示 Key ID、权限范围、有效期和绑定状态,不向插件回显完整内容。
- 完善框架实例签名、算法鉴权协议与失败码处理,修复已绑定 Key 时受控 API 仍提示验证服务不可用的问题。
- 调用日志按真实受控请求写入算法系统,包含框架实例、插件、发送账号、API、授权结果与执行结果,便于定位失败原因。
升级说明
2.0.0 沿用 1.9.8 / 1.9.9 的数据库结构,从这两个版本升级不需要新增数据迁移。升级前请停止框架并完整备份原目录中的 data,随后完整替换程序和 public 前端资源再启动。
插件应删除 sendPacketKey 配置、setSendPacketKey 调用以及 action 外层的 access_key。受控 API 的业务参数保持不变;是否可用由当前框架实例绑定的专属 Key 自动判断。
外发包不包含数据库、管理员配置、日志、源码、密钥、开发依赖或 Git 元数据。
萌卡 NT v1.9.9
萌卡 NT v1.9.9
本版本重新设计在线更新弹窗,重点改善手机端的信息阅读、长更新说明浏览和操作反馈。
核心更新
- 当前版本与最新版本拆分为两个独立等宽卡片,升级箭头位于卡片之间,版本关系更清晰。
- “稍后更新”与“立即更新”按钮严格等宽、同高并对齐,保持与框架其他弹窗一致的操作层级。
- 更新说明默认展开;重复的版本标题会自动合并到卡片头,正文不再出现多层重复标题。
- 优化 Markdown 排版,统一标题、正文、列表、引用、链接、行内代码、代码块和表格样式。
- 过长说明使用弹窗内单一连续滚动,不再嵌套第二个滚动区域,也不会截断内容。
- 长内容右下角提供圆形快速到底按钮;按钮固定在弹窗画面右下角,点击后平滑滑到底部,并随滚动进度逐渐淡出。
- 保留在线更新的下载进度、失败原因、重试和更新完成后的自动恢复流程。
升级说明
1.9.9 沿用 1.9.8 的数据库结构和插件 API 契约,从 1.9.8 升级不需要新增数据迁移。建议更新前停止框架并备份原目录中的 data,随后完整替换程序和 public 前端资源再启动。
外发包不包含数据库、管理员配置、日志、源码、密钥、开发依赖或 Git 元数据。
萌卡 NT v1.9.8
萌卡 NT v1.9.8
本版本修复系统管理插件的账号登录衔接,使插件端与框架账号页使用同一套缓存与协议分流链路。
核心更新
login_account现在按账号协议分流:Android 保持原密码登录,Linux 进入框架原生二维码登录管理器。- Linux 插件登录复用框架的登录占用、MSF 连接、二维码生成、扫码查询、手机确认和最终上线流程,不复制或改写协议状态机。
- 现有
query_login_qr_status支持查询 Linux 原生二维码状态,确认后由框架调用原生完成登录流程。 - 现有
create_login_qr继续用于 Linux 账号登录;新增create_account_recovery_qr、query_account_recovery_qr_status两个独立的归属验证 action,只验证手机 QQ 确认结果,不执行登录或保存票据。SDK 现为 218 个 action。 - 插件可在首次登录前依次调用
check_cache与cache_login;仅当缓存明确失效时再进入 Android 密码登录或 Linux 二维码登录。 stop_account_login统一停止登录中或已在线账号的当前会话,避免前端直接切换状态而遗留登录任务。- 普通插件节点隔离、系统管理服务权限清单、Android 登录与 Linux 断线恢复逻辑保持不变。
- 修复插件管理端全页 SSO 跳转遇到访问令牌过期时直接显示
login expired的问题;框架会在受保护的认证路径中续签会话,无法续签时回到登录页。 - 插件 SSO 仍以框架管理员账号为唯一身份来源,并继续走框架已有的官网验证逻辑;插件不直接访问萌卡官网用户系统。
- 系统管理授权包同步加入账号归属扫码验证接口,框架服务设置中的开关会自动保存完整 42 项权限清单。
- Android ID、GUID、QIMEI 改为账号级设备身份,按
(self_id, platform)独立保存;设备指纹模板不再保存或返回这三个字段。Android ID 在账号首次连接前使用系统安全随机源生成 16 位十六进制字符串,QIMEI 失败重试不会更换 Android ID。 - SDK 和框架只保留当前契约:移除
generate_device_profile、offline_account,分别改用create_device_profile、stop_account_login;add_account、update_account只接受对象参数。 - 插件市场只接受当前 Halo 发布注解或“插件发布信息”表格,不再解析
mengka-plugin/v1JSON 代码块;事件权限必须显式声明,框架不再根据 action 猜测权限。 - 协议文件只接受
subappid,不再识别magic、subAppId、sub_appid等旧字段;autoLogin未配置时按关闭处理,旧等级任务标题不再映射到新任务。 - 删除运行时
ALTER TABLE、旧 Docker 安装参数和旧市场源等自动迁移/推断分支。结构或字段不符合 1.9.8 时直接报错,避免以隐藏兜底继续运行。
升级说明
本次数据库结构不兼容旧版本。升级前先停止框架并完整备份原目录中的 data,将旧 data/config.db 移出运行目录;确认进程已经停止后,一并移出可能存在的 data/config.db-wal、data/config.db-shm。替换程序和 public 前端资源后启动 1.9.8,由框架创建全新数据库,再重新创建指纹、节点、插件服务和账号。不要把旧数据库放回新版本目录。
插件调用需要同步调整:删除指纹请求或响应中的 androidId、guid、qimei;将 generate_device_profile 改为 create_device_profile,将 offline_account 改为 stop_account_login;把 add_account(self_id, password, protocol_id, device_profile_id) 与同格式的更新调用改成对象参数。
插件市场文章需要迁移到 Halo 的 mknt.net/plugin-* 发布注解,或使用“插件发布信息”表格;无论是否订阅事件,都要显式声明事件权限(空权限使用 mknt.net/plugin-permissions-declared=true,表格填写“订阅事件:无”)。自定义 data/protocol.json 必须删除 magic 等旧字段并提供数值 subappid。配置文件应显式写入 app.autoLogin。
外发包不包含数据库、管理员配置、日志、源码、密钥或 Git 元数据。
萌卡 NT v1.9.7
萌卡 NT v1.9.7
本版本完善系统管理插件的授权与入口配置,让萌卡用户系统插件可直接完成框架连接和管理端跳转。
核心更新
- 系统管理插件开关会自动授权插件所需管理 API,无需管理员逐项勾选 action。
- 插件管理端地址改为可选;仅使用账号、指纹、节点和授权管理能力时可直接开启系统管理开关。
- 服务卡片始终显示“进入管理端”入口;未配置地址时明确提示并保持禁用,保存合法地址后即可通过一次性 SSO 进入插件管理端。
- 服务端继续同时校验
system_management权限和允许 action 清单,普通插件的节点隔离规则保持不变。 - SDK 仍为 218 个 action,本版本没有删改现有 action 名称和参数。
- Android 与 Linux QQ 登录、扫码、缓存登录及断线恢复链路保持原有实现。
- 恢复 30 个 QQ 宠物 API 的专属 Key 强制校验;未绑定 Key、Key 未授权或验证服务不可用时均在执行前拒绝。
- 修复
get_pet_activity_options在 QQ 服务端未下发软警示时省略warning字段的问题;现在固定返回warning,无警示时值为""。 - 修复
get_pet_fatigue_status仅在打工目录无选项时才查询学习目录的问题;现在会同时汇总两类警示并保留最严重档位。
升级说明
升级前请完整备份原目录中的 data。停止旧版本后替换程序文件和 public 前端资源,并保留原有数据库与管理员配置。
已有系统管理服务升级后可以保留原配置。若需要“进入管理端”按钮,请编辑服务并填写插件管理端基础地址;不需要 SSO 跳转时可留空。
外发包不包含数据库、管理员配置、日志、源码、密钥或 Git 元数据。
- 插件市场筛选顺序调整为“推荐、全部”,首次进入默认展示推荐插件。