Files
xiaozhi-esp32-server/docs/unified-fastapi-platform/roadmap.md
T

5.5 KiB
Raw Blame History

阶段路线图与 PR 队列

1. 里程碑

阶段 目标 主要交付物 负责人角色 依赖 退出门禁
M0 基线 建立可审阅的 FastAPI 与计划基线 当前实现、兼容报告、计划文档、首个 PR PM/集成 基线测试可重复,变更范围清楚
M1 可执行契约 把“现有功能”转换成测试资产 协议清单、黄金报文、虚拟设备、Fake Provider QA + Realtime M0 旧服务完整模拟会话可重复
M2 统一发行入口 纳入 manager-web 与统一网关 前端构建、静态托管、路由、统一 Compose Platform + Frontend M0 页面/API/WS 路由冒烟通过
M3 共享核心 消除配置和业务能力的内部 HTTP 自调用 bootstrap、应用服务接口、配置版本与广播 Backend + Architecture M1 API/旧 realtime 均可使用共享接口
M4 ASGI 实时内核 建立不依赖真实 Provider 的新会话运行时 WebSocket 适配、DeviceSession、背压、取消和鉴权 Realtime M1、M3 Fake 全会话与旧协议一致
M5 Provider 迁移 接回全部现有能力 四个 Provider 能力族适配、契约测试 Provider 专项 M4 所有 Provider 可构造且契约通过
M6 平台硬化 达到可部署候选质量 多进程、优雅摘流、指标、安全、负载和故障测试 Platform + QA M2、M4、M5 自动质量门禁全部绿色
M7 切换准备 删除自动化范围内的未知项 新旧差分、升级/回滚演练、旧入口弃用方案 PM + Reviewer M6 只剩真实环境清单中的阻塞项
M8 真实验收 外部人员/环境介入 ESP32、真实 Provider、MQTT/RAGFlow、目标环境报告 External QA/Ops M7 不属于纯 Agent 阶段

2. 推荐 PR 队列

PR 必须按可独立验证的纵向能力拆分。编号是计划标识,不是 GitHub 实际编号。

计划 PR 内容 建议目标分支 可并行关系
P00 开发计划、Agent 协作和质量门禁 refactor/unified-fastapi-platform FastAPI 基线直接推送后创建
P01 CI 快速门禁和测试目录重组 refactor/unified-fastapi-platform 与 P02 并行
P02 manager-web 构建、gateway 路由和统一 Compose 同上 与 P01 并行
P03 设备协议清单、黄金报文和虚拟设备 同上 与 P02 并行
P04 系统密钥 bootstrap、共享配置接口和版本事件 P01 + P03 阻塞 P06
P05 聊天/设备配置等内部 HTTP 调用改为应用服务端口 P04 可按用例拆成两个 PR
P06 ASGI WebSocket 握手、鉴权和协议适配层 P03 + P04 与 P05 后半段并行
P07 DeviceSession 生命周期、队列、取消和 Fake 对话链路 P06 阻塞 Provider 迁移
P08-A VAD/ASR Provider 适配 P07 与 P08-B/C 并行
P08-B LLM/VLLM/Memory/Intent 适配 P07 与 P08-A/C 并行
P08-C TTS Provider 适配 P07 与 P08-A/B 并行
P09 Tools/MCP/IoT/插件及 Vision P08-B 可与 P08 收尾并行
P10 配置广播、管理控制、优雅摘流与健康指标 P07 + P08 与 P09 并行
P11 全栈模拟 E2E、新旧差分和负载/故障测试 P02 + P09 + P10 集成收口
P12 发行、升级、回滚、弃用和真实测试交接 P11 纯 Agent 最后一个 PR

所有开发 PR 默认以长期集成分支 refactor/unified-fastapi-platform 为目标。存在未合并依赖时使用 堆叠 PR;依赖合并后及时变基到最新集成分支。纯 Agent 阶段不向 main 创建 PR;真实环境验收 完成后,也只有在项目所有者明确批准时才讨论主分支集成。不得让多个 PR 同时修改同一协议核心文件。

3. 建议容量分配

以下比例用于分配 Agent 和审阅资源,不是完成度承诺:

工作域 参考占比 原因
manager-web 与 gateway 15% 构建已可用,主要缺静态交付和浏览器 E2E
manager-api 深度兼容与共享服务 25% 路由齐全,但成功写入、副作用和 bootstrap 仍需补强
realtime、会话与 Provider 45% 缺少协议测试,且存在线程、模型和长连接重构
CI、部署、安全与交接 15% 需要从零建立 PR 门禁和统一发行证据

容量应随风险登记和测试证据调整,不按代码行数机械分配。

4. 并行执行窗口

为控制资源和冲突,同一时间最多开放三个实现工作包:

  1. 一个核心依赖链工作包,例如 P04/P06/P07。
  2. 一个交付或前端工作包,例如 P02/P10。
  3. 一个测试/独立审阅工作包,例如 P03/P11。

Provider 阶段允许三个能力族并行,但每个能力族只分配一个实现 Agent;共享接口由架构负责人 预先冻结,任何接口变更先更新 ADR 和契约测试。

5. 阶段状态规则

每个阶段只有四种状态:

  • Not started:依赖未完成。
  • Ready:依赖完成且工作包说明已批准。
  • In progress:已有唯一负责人和活动 PR。
  • DonePR 合并且退出门禁有证据链接。

不得使用“代码写完”代替 Done。失败、跳过、未执行和缺少外部环境必须分别记录。

6. 每周/每轮进度摘要

当前阶段:
已合并 PR:
活动 PR(负责人 / 门禁):
本轮新增证据:
阻塞项(内部 / 真实环境):
风险变化:
下一轮最多三个工作包:

路线图由 PM/集成负责人维护;实现 Agent 只更新自己 PR 的证据和工作包状态。