[RFC] 双轨回馈提案:生产加固单体(渐进合入 main)+ 可选微服务长期分支
Author: Jehuty-MLCreated Aug 17, 2026Updated Aug 17, 2026
背景
我在 fork 中基于本仓库做了面向自托管上线的加固与架构演进,并希望回馈上游。整体定位是:
- 业务能力与上游对齐
- 默认仍推荐单体,微服务仅作为高并发场景的可选路径
- 不建议把整仓一次性合入
main
参考仓库(完整对照,仅作参考,非要求整仓 merge):
- 总览 / 生产加固说明:https://github.com/Jehuty-ML/prd_xiaozhi_server
- 单体(当前
main):https://github.com/Jehuty-ML/prd_xiaozhi_server/tree/main - 微服务分支:https://github.com/Jehuty-ML/prd_xiaozhi_server/tree/Microservices_architecture
- 微服务说明:https://github.com/Jehuty-ML/prd_xiaozhi_server/blob/Microservices_architecture/main/xiaozhi-microserver/README.md
已在用小 PR 回馈的例子:
- https://github.com/xinnan-tech/xiaozhi-esp32-server/pull/3329 (参数管理按命名空间聚合,仅 manager-web)
提案 A:单体 / 生产加固 → 渐进合入 main
目标
把「可演示」补齐为「更易自托管上线」的能力,以小而可审的 PR 逐步合入 main,默认行为尽量不变或提供开关。
方向示例(可按维护者优先级挑选)
- 智控台体验改进(如参数分页难找 → 按
paramCode前缀聚合) - 连接治理 / 健康检查 / 可观测(尽量可选、可配置)
- 会话与广播等相关正确性修复(有明确复现与测试时再提)
合入方式
- 继续从最新
upstream/main开功能分支 - 一功能一 PR,不把生产加固整包塞进一个 PR
提案 B:微服务 → 新建长期分支(不进默认 main)
目标
在仓库中增加一条可选长期分支(命名待定,例如 microservices),承载按模块拆分的运行时,供有弹性扩容 / 故障隔离需求的部署使用。
为什么不建议直接进 main
- 多数用户应继续用单体,部署与排障成本更低
- 微服务运维与联调成本更高,适合作为 opt-in
- 独立分支可降低对默认路径的审查与回归压力
我可以提供
- 架构说明与最小可运行部署文档
- 按模块拆 PR 往该长期分支合(而不是一次巨型 PR)
- 与
main的差异清单、迁移/选用说明
合入方式(需维护者确认)
- 由维护者新建长期分支(如
microservices),或告知期望命名 - 我基于最新上游整理后,对该分支提 PR
- README / 文档中明确:默认仍用
main(单体)
想请维护者确认
- 提案 A:是否接受以小 PR 方式,把部分生产加固 / UX 改进逐步合入
main?优先希望先看哪一类? - 提案 B:是否接受新建长期分支承载微服务?期望的分支名是什么?
- 若不接受整套微服务进本仓库,是否更希望我继续在 fork 维护,仅把可独立的修复/小功能回馈
main?
感谢审阅。我会按你们的反馈调整后续 PR 节奏与范围。
Source: xinnan-tech/xiaozhi-esp32-server