Skip to content

讨论归档 ​

本页只保存尚未确认的设计讨论,不代表已排期、已承诺或正在开发。进入 Roadmap 的功能以 Roadmap 本页的“更新日志”或明确的进行中条目为准。

2026-08-11 · QQ 官方机器人 2.0 Webhook 接收模式(低优先级) ​

结论 ​

Webhook 可以与现有 QQ 官方机器人 2.0 适配器兼容,代码实现属于中等工作量,但用户部署门槛明显高于 Gateway WebSocket。当前 Dice!Next 用户大多没有公网 HTTPS 回调地址,因此本项仅保留为低优先级方案,不进入近期开发排期;默认接收方式继续使用 Gateway WebSocket。

Gateway WebSocket 与 Webhook 对比 ​

对比项Gateway WebSocket(当前方案)Webhook(候选方案)
公网入口不需要,由 Dice!Next 主动连接 QQ Gateway必须提供 QQ 平台可访问的公网 HTTPS 地址
部署难度低,家庭网络、动态公网 IP、内网环境均可使用中高,通常需要域名、证书、反向代理或云端中转
连接维护客户端负责心跳、断线重连、会话恢复无长连接,但需处理回调验证、平台重试和请求超时
事件结构QQ 2.0 标准事件 op/t/d/id/s与 WebSocket 使用相同事件结构,可复用现有事件分发
多账号每个适配器维护独立 Gateway 会话HTTP 入口需根据受验证的应用身份路由到对应适配器
重复事件主要处理断线恢复期间的重复推送必须按事件 ID 去重,避免平台重试导致指令重复执行
安全重点Token、Gateway 会话与连接状态原始请求体验签、时间窗口、防重放、限流和请求体大小限制
适用场景普通用户、本地部署、Docker、无公网环境已有公网 HTTPS 服务、统一网关或对长连接有限制的部署环境

未来实现范围 ​

  • 新增独立的 Webhook HTTP 接收层,不复制 QQ 适配器的业务逻辑。
  • 完成官方回调地址验证,并在解析 JSON 前按官方规则验证原始请求体。
  • 将 Webhook 与 Gateway 事件统一规范化后,交给现有 dispatch()、身份解析、指令、日志及回复流程。
  • 支持多 QQ 官方机器人账号的安全路由,不能只信任请求体中未经验证的 AppID。
  • 按事件 ID 设置带有效期的去重记录;快速响应回调,再异步处理可能耗时的指令。
  • WebUI 增加“Gateway WebSocket / Webhook”接收方式与所需配置,并补充 HTTPS、反向代理及故障排查文档。
  • 同一适配器默认只启用一种接收方式;若未来允许双通道容灾,两者必须共用事件去重机制。

工作量评估 ​

  • 最小可用版本:约 1~2 个开发日,覆盖单账号回调、验证、验签和现有事件分发复用。
  • 可供公测的完整版本:约 3~5 个开发日,补齐多账号、重试去重、WebUI、测试与部署文档。
  • 自动申请域名、证书或内网穿透不建议纳入主程序;若要内置此类基础设施,预计需额外 1~2 周并引入持续运维成本。

启动条件 ​

出现明确的用户需求,并且目标用户具备稳定的公网 HTTPS 回调能力;或 Dice!Next 后续提供独立、可持续维护的云端事件中转服务。未满足条件前不启动实现。

2026-08-02 · 跨平台身份与群数据关联(讨论草案,未确定) ​

讨论目标 ​

让 QQ 官方机器人、Discord、KOOK 等平台账号,在验证真实 QQ 控制权后,可关联既有 QQ:<真实QQ> 与 QQGroup:<真实群号> 的历史数据;保留旧插件对 QQ/群号主键的兼容。

当前讨论方向 ​

  • 骰主至少登录一次原 OneBot 骰号,保存其可见的群列表、成员 QQ、群主/管理员角色与采集时间,作为历史核验快照。
  • 用户在新平台发起绑定时,先声明欲关联的纯数字 QQ 号。若 OneBot 在线,向该 QQ 私聊发送短时、一次性验证码;若 OneBot 不在线,向对应的 QQ号@qq.com 邮箱发送验证码。验证码成功仅证明用户控制该 QQ 身份。
  • 完成验证后,将新平台的“适配器 + 原始用户 ID”作为别名关联至 QQ:<真实QQ>,由统一身份解析读取原有个人数据,而不是复制、拼接或覆盖旧记录。
  • 已验证的历史群主可把其新平台群关联到历史 QQGroup:<真实群号>:系统先核验该 QQ 在 OneBot 历史快照中是群主,再生成一次性群绑定码,并要求在目标平台的目标群完成确认。OneBot 在线时应优先刷新角色快照;离线时只能使用带时间标记的历史核验结果。
  • 群关联只继承人物卡、团务、日志关联、规则/业务设置等数据入口;不继承踢人、退群、管理员名单或旧群管理权限。新平台的管理操作始终遵从新平台可读取的当前角色;QQ 官方机器人无角色接口时,不补发群管权限。
  • 完全没有 OneBot 的场景仍可使用虚拟 QQ/群主键与双端一次性验证码建立逻辑关联,但不能声称该逻辑群已核验为真实 QQ 群。

尚待决定 ​

  • QQ 邮箱验证码的发件服务、限频、失败提示与是否要求 QQ 邮箱已激活。
  • 目标平台无法读取群角色时,是否允许已验证历史群主直接完成数据关联,或要求骰主在 WebUI 额外确认。
  • 两端原本均已有个人/群数据时的冲突处理与可回滚合并流程。
  • 历史群主快照的有效期限、刷新频率及权限变化后的处理。

基于 AGPLv3 协议发布