← 新闻动态
版本发布

上游重构吃掉了我们的改造:一次升级适配的复盘

上游把单文件 web_server.py 拆成了 42 个模块,我们的模型库兼容层瞬间全部失效。这次复盘讲清楚怎么让自定义改造在升级中活下来。

AI 基础设施老胡2026.10.081748 次阅读

事故经过

上游发布 0.21.1,把原来 6000 行的 web_server.py 拆成了 42 个细粒度模块。我们的模型库兼容层(/api/model/library 的四个端点)直接失去挂载点,升级后服务启动即报 404。

根因

改造是"侵入式"的:直接在上游文件里加路由注册。上游一旦拆分文件,我们的代码就跟着消失了。

现在的做法

  1. 改造集中在独立目录(assistant_overlay/),不碰上游文件
  2. 挂载点用 patch 而非编辑:启动时对目标模块做运行时注入
  3. 升级前先跑一致性检查:对比上游模块签名,发现不匹配立即告警
  4. 把适配逻辑写成技能,升级流程可复用

一条硬规则

任何"必须改上游源码才能生效"的定制,都是未来的技术债。宁可多写一层适配,也不要直接改别人家的文件。

这套流程已经沉淀成可执行技能,下次升级按步骤走,不用再重新摸索。

#升级#兼容#工程实践