收口855 provider运行时并同步适配路线图

This commit is contained in:
liuwei
2026-05-07 10:01:57 +08:00
parent 712dda5b41
commit fe8b7171fd
4 changed files with 524 additions and 266 deletions

View File

@@ -20,33 +20,37 @@
- 已新增 [wechat_ipad/provider_base.py](/d:/learn/abot/wechat_ipad/provider_base.py:1)
- 已新增 `providers/legacy_855/` 独立目录,并迁入当前 855/859 协议实现
- 已将 [robot.py](/d:/learn/abot/robot.py:1) 的接入实例化入口切换为 `WechatGateway`
- 已新增 [wechat_ipad/providers/legacy_855/runtime.py](/d:/learn/abot/wechat_ipad/providers/legacy_855/runtime.py:1)
- 已将 855 的登录、历史消息拉取、心跳、长心跳、消息轮询、掉线二次登录恢复迁入 `legacy_855` provider
- 已将 [robot.py](/d:/learn/abot/robot.py:1) 精简为“注册回调 + 业务处理”,不再直接维护 855 的运行时主循环
- 已补上 `Legacy855WechatClient` 的显式初始化入口,避免 provider 多继承构造链不稳定
当前尚未完成的关键项:
- `Robot` 中的登录、心跳、长心跳、消息轮询、掉线恢复逻辑仍未完全迁入 855 provider
- `legacy_855` 目录内尚未补充独立的 `runtime.py` 收口运行时模型
- 855 provider 仍需完成一轮“当前项目实际依赖接口”的可上线回归验证
- 855 provider 仍需继续梳理“项目真实使用到的接口覆盖面”,确认是否还有遗漏的旧能力残留在历史目录
- 864 provider 尚未开始接入,当前统一接口仍主要围绕 855 第一阶段目标进行验证
因此,当前状态可以定义为:
- “接入入口已收口”
- “运行时主链路迁移进行中
-855 运行时主链路已迁入 provider
- “尚未达到 855 可直接替换现网上线的最终状态”
## 2. 当前问题概览
### 2.1 当前耦合点
当前微信接入实现存在以下特点
当前微信接入实现仍需关注以下历史耦合点与残留影响
- [robot.py](/d:/learn/abot/robot.py:221) 直接读取 `wechat_ipad/config.toml`
- [robot.py](/d:/learn/abot/robot.py:263) 直接实例化 `wechat_ipad.WechatAPIClient`
- `Robot` 自己承担了登录、心跳、长心跳、消息轮询、掉线恢复等运行时职责
- `wechat_ipad/client/*.py` 直接面向当前 server 协议编写,接口路径、请求体、返回结构都写
- `Robot` 的实例化入口虽然已切到 `WechatGateway`,但配置读取与业务初始化仍在主程序中
- 855 的运行时职责已经迁入 provider但 864 尚未接入验证,统一抽象仍需继续收敛
- `wechat_ipad/client/*.py` 仍作为历史目录存在,接口路径、请求体、返回结构都面向旧 server 编
这导致一个结果:
- 一旦 server 版本变化,不只是 `client` 要改,`Robot` 主链路也要跟着改
- 如果继续在历史目录或 `Robot` 主链路里堆版本判断,后续 server 版本变化时改动面仍会再次放大
### 2.2 855 / 864 的核心差异