AMR 生产发布影响报告
当前生产发布点(EKS 实态 + workflow 记录)
Web、API、Link、Admin 的发布点来自 Grafana / Prometheus(kube-state-metrics,namespace nexu)观察到的 Ready EKS Pod 镜像;DB migration 的发布点来自对应 workflow 最近一次成功运行。五个发布点本次观察到完全一致的服务基线:四个服务都在 29ddd44a2。
feature 表里只列出发布点之后的变更;发布点之前的 commit 属于已生效,归入「已在生产生效」一节,不得重复出现在 feature 表。目标 commit 均为
10f1f69b8。
nexu/amr-web · container web29ddd44a2sha256:15d107e30efff0532354554c87ced76989f83add278bb15025fb91ee61f06376nexu/amr-api · container api29ddd44a2sha256:fff66133f81c3091c6ebff6684cf04a0dd6c616e95761b3f67bfdd58f827421a29ddd44a2...10f1f69b8):区间 13 commits,其中触及 services/api 3 个nexu/amr-link · container link29ddd44a2sha256:afc44004ec3053cd0a49834d1d79a56cfe5fab8d1fa363bf978b968a90fb371129ddd44a2...10f1f69b8):区间 13 commits,其中触及 services/link 3 个nexu/amr-admin · container admin29ddd44a2sha256:2bca5bf95eb89d5e15ccb12acc9f48be22fe0662b81b3fb333bf106d4c1f10ad29ddd44a2...10f1f69b8):区间 13 commits,其中触及 apps/admin 2 个e626fd7e8(2026-10-21 07:52:10Z,[OPEND-4190] feat(link): add readiness failure diagnostics (#486))db/,因此待执行 migration 只有 1 个文件Ready Pod 数量仅为本次观察值,不代表副本一致性,也不构成健康检查结论。四个服务的 workflow 最近成功记录与 Pod 实态完全一致,未发现手工回滚差异;生产版本仍以 Pod 实态为准。
此次发布真正新增的 feature 和影响面
| Feature / Author / Commits | Web | API | Link | Admin | DB schema / migration |
|---|---|---|---|---|---|
|
XL跨 public model 影子测试与 0.01% 采样
影子规则可从 public model B 的生产流量复制请求,仅把影子副本的 Author:Liu Yi
|
无。 | 无 runtime 变更(该 commit 未触及 services/api)。 |
影子执行器按 TargetModelID() 改写影子副本请求体,并在目标模型默认值/backend 下执行;日志新增 target_public_model_id;同模型规则行为保持不变。依赖新列,缺少 schema 会导致规则读写失败。 |
影子策略编辑器支持「来源 public model → 目标 public model」选择、0.01% 采样步进、中英文展示来源/目标/backend/比例;repository 读写新列并校验目标 backend 归属;被引用模型禁止删除。 | 20261023033739_shadow_target_public_model.sql:link.model_shadow_rules 新增 nullable target_public_model_id + 指向 link.public_models(id) 的外键;同步 db/schema/link.hcl、db/migrations/atlas.sum。已有规则无需回填。 |
|
LAdmin 用户列表批量封禁 + 退款取消订阅
用户列表勾选一批人后可以先封禁、再退款并取消订阅;跨页保留选择,操作完成后不清空。退款对话框逐人展示套餐、付款时间与 7 天提示,无有效订阅的人直接跳过;列表退款不再复用「退款管理」的批量入口,退款管理保持独立专用流程(预期套餐 / 邮箱或 .txt / 预检查 / 提交)。全部逻辑在 Admin 内完成,退款仍走既有的 API 内部接口 Author:Liu Yi
|
无。 | 无(复用生产已存在的内部退款接口)。 | 无。 | 用户列表选择态(sessionStorage)+ 批量菜单、批量封禁/退款对话框、banUsersAction/refundCancelUsersAction 两个 server action、lib/server/admin/users.ts 批处理(跳过已封禁/注销中、按订阅快照逐人退款)、中英文文案。 |
无 schema/migration。 |
|
LCoRouter 注册与支付入口归因
扩展入口归因枚举,接受 Author:Joey
|
前端入口归因解析(open-design-attribution.ts)随共享枚举扩展接受 corouter_* 来源,仍沿用 7 天入口保存与过期逻辑。 |
billing/core.ts 的 sourceDetail 枚举扩展接受 corouter_*;结账与订阅元数据继续把 entryId 带入 invoice.paid,无新增字段或迁移。 |
无。 | 无。 | 无 schema/migration(明确不新增数据库字段)。 |
|
M注册邮箱域名白名单
新增可选配置 Author:mrcfps
|
无。 | auth.ts、config.ts、新文件 registration-email-policy.ts:注册与 OAuth 建号前按白名单校验;已有密码登录与重置密码路径不变。 |
无。 | 无。 | 无。 |
|
MCoRouter 生产登录回跳白名单
把 Author:卜圣韬
|
src/lib/return-to.ts 生产来源白名单新增 https://corouter.open-design.ai(含本地化路径)。 |
无。 | 无。 | 无。 | 无。 |
|
MLink:ZAI none/off 使用供应商默认推理
用户对 ZAI GLM-5.3 Flash/FlashX 传 Author:Liu Yi
|
无。 | 无。 | providercompat 层新增 ZAI 默认推理判定,在 Chat/Responses/Messages 及 SSE 路径删除禁用档位的 reasoning 与预算。 |
无。 | 无。 |
|
MLink:保留 Messages 空数组工具结果
修复 Anthropic Messages 协议转换时把空 Author:Liu Yi
|
无。 | 无。 | third_party/bifrost-core/providers/anthropic/responses.go 保留 tool_result 空数组内容,并补充协议历史 e2e 与单测。 |
无。 | 无。 |
|
SWeb:Design Plan 补齐 MiniMax M3.1 Flash 展示
仅前端展示:Design Plan 模型列表、用量表与模型额度详情补上 MiniMax M3.1 Flash(倍率 1×,Go/Plus/Pro/Max 月额度 $60/$80/$180/$300,含每 7 天预估请求次数),覆盖 12 种 Pricing 语言。不改后端模型权限、计费或生产配置。 Author:张辉华
|
components/commerce/plans/design-plan.ts 新增模型与估算、model-credits-copy.json 多语言文案;纯展示。 |
无。 | 无。 | 无。 | 无。 |
|
SOrbit 泳道与 CI 基础设施(非生产运行时)
泳道(lane)环境与 CI 侧改动:日常 RDS seed 初始化隔离泳道库、RDS 泳道保留 Share 路由、standing Test group 执行、显式传递 Web 部署来源、泳道环境变量 Runner 协议(修复泳道 API 部署 409)。这些改动只影响预览/泳道环境与 workflow 本身,不进入任何生产服务的运行时制品,也不改变五元组的生产行为。其中 #608 对 Author:mrcfps、zhangchi
|
无 runtime 变更。 | 无 runtime 变更(#608 仅改 services/api/test)。 |
无 runtime 变更。 | 无 runtime 变更。 | 不涉及 db/migrations(泳道库由 deploy/orbit/rds-control.sql 在泳道侧建库,不经生产 migration workflow)。 |
已在生产生效(发布点之前,本次不重复发布)
四个服务的基线都是 29ddd44a2(2026-10-23 03:10:19Z),DB migration 基线是 e626fd7e8(2026-10-21 07:52:10Z)。以下内容均在各自基线之前,已在生产运行,本次不重复发布、也不进入上面的 feature 表。
- 服务基线
29ddd44a2已生效:统一登录 S6 与官网回跳(247f2374d#453、2f2b87d8b#550、676bba516#535)、Web 团队 member 用量与入口限制(01f9d60db#480)、Gemini 4 Argon 套餐展示(即基线 commit 本身,#482)。 - API 已生效:消息中心语言校验修复(
226dce0e2#541)、结算通知解耦与失败归因(5dced325b#466)。 - Link 已生效:连接池扩至 8 与压力指标(
285b13d00#495)、并发预留原子回收(6958d8348#526)、thinking 参数诊断撤除(9648ac4e8#530)、空 Responses 转换 panic(3d25e9074#496)、Responses 配置与 Chat 路由(f5f2e15a3#473)、非流式参数与同值推理兼容(b44a76f0a#471)。 - Admin 已生效:现有用户详情封禁、退款管理与订阅退款取消批量流程(本次新增的「列表批量」是其上的补充)。
- DB migration(
e626fd7e8已生效):截至该 run 的全部db/migrations已应用;该基线之后 30 个 commit 中只有5aa94f7c3触及db/,其余 commit 不含 schema 变更,因此不存在其它待执行 migration。 - 基础设施与预览侧已生效:泳道排程到弹性节点(
3003cd9a8#553)、Orbit OIDC 观察者与生产适配器(31bd6b3eb#536、44313759e#534)等,均非本次净新增。 - 范围内已回退:无。两个区间内均未发现 revert commit,不存在净变更归零的 feature,也没有被回退的 migration。
发布建议
- Migration 判断:需要先跑 deploy-db-migrations-prod.yml,应用
db/migrations/20261023033739_shadow_target_public_model.sql(nullable 列 + 外键,已有数据无需回填)。该 workflow 的最近成功运行停留在 2026-10-21(#10359),落后服务基线约 2 天,建议先确认它能正常执行再排服务发布。 - 服务发布顺序:(1)DB migration;(2)Link(发布点之后 3 个 commit:
5aa94f7c3、f2dc1da94、04c19b01a)——影子读写依赖新列,且 Link 必须先于 Admin 具备跨模型能力;(3)Admin(2 个 commit:5aa94f7c3、9687eb90a)——随后才可在界面配置跨模型影子规则、使用列表批量封禁退款;(4)API(3 个 commit:10f1f69b8、155f6d1ae仅测试、395ac312e)与 Web(3 个 commit:10f1f69b8、851f333cf、bec988b29)可并行,但 CoRouter 归因需要 AMR 的 Web/API 先上线,之后才能发布core/od-landing官网 PR。 - 回滚注意:回滚 Link 到旧版本前,必须先清除跨模型影子规则并关闭影子开关,确认副本重载;旧 Link 不认识新列但不会崩溃,只是无法表达跨模型规则。
- 发布后观测:
- Link:
shadow_request_completed日志新增的target_public_model_id是否出现;影子请求成功率与 0.01% 采样量级;ZAI 系列(GLM-5.3 Flash/FlashX)400 是否随none/off修复下降(对照 2026-10-26 告警);reasoning token 计费是否出现预期变化;Messages 空工具结果链路是否还有转换错误。 - Admin:批量封禁/退款的审计记录(
user.ban与退款操作)、7 天退款窗口与stripe_refund_pending计数、跨页选择清理逻辑。 - API/Web:
AUTH_REGISTRATION_ALLOWED_EMAIL_DOMAINS未配置时注册行为应与现在一致(配置后才是白名单);sourceDetail接受corouter_*,结账与invoice.paid元数据能带出entryId;从https://corouter.open-design.ai登录能带od_auth回到原页;定价页 MiniMax M3.1 Flash 四档数字与 390px 布局正常。
- Link:
备注:所有 workflow、commit、PR 或 compare range 都使用可点击的 Forgejo 链接。四个服务的 compare range 基于 EKS Pod 观察到的 BASE 29ddd44a2,DB migration 的 compare range 基于 migration workflow 的 BASE e626fd7e8;未使用四个服务最近成功 workflow 的 SHA 替代 Pod 实态(本次两者恰好一致)。