AMR 生产发布影响报告
当前生产发布点(各 workflow 独立计算)
特殊情况:六个 workflow 最近一次成功运行全部停在同一个 commit 2fe03ef2a
(2026-08-19 11:29–14:11 UTC+8 部署,chore(catalog): optimize deepseek v4 flash routing (#1672))。
此后 main 在 15:21–17:44 UTC+8 又合入 5 个 commit,至今未被任何生产 workflow 发布。因此本次六个服务的「发布点之后」范围完全一致:
2fe03ef2a...d00289e79,均为 5 commits。
2fe03ef2a2fe03ef2a...d00289e7):5 commits2fe03ef2a2fe03ef2a...d00289e7):5 commits8062a5912 触碰 services/api:认证查询优化)2fe03ef2a2fe03ef2a...d00289e7):5 commits32e48567b 追加 .env.example 配置项 ALIYUN_CN_API_KEY,需按需在 EKS 配置)2fe03ef2a2fe03ef2a...d00289e7):5 commits2fe03ef2a2fe03ef2a...d00289e7):5 commits(其中 32e48567b 与 dba80a6cc 涉及 data/json + db/seeds,属于 catalog 变更)此次发布真正新增的 feature 和影响面
| Feature / Author / Commits | Web | API | Link | Admin | DB schema / migration | DB catalog(seed) |
|---|---|---|---|---|---|---|
|
XXLAdmin 登录迁移到 Powerformer Authentik OIDC(取代飞书 SSO)
AMR Admin 登录从 Feishu SSO 迁移到 Powerformer 统一认证(confidential OIDC + PKCE S256):保留 HMAC session,新增持久化的 Author:Marc Chan
|
无。 | 无。 | 无。 | apps/admin 登录页、lib/server/admin/{auth,core,members,oidc}.ts、healthz 就绪门禁、i18n;deploy/charts/admin configmap/secret/values 新增 OIDC_ISSUER / OIDC_CLIENT_ID / OIDC_CLIENT_SECRET 配置项。 |
需要 migration(3 个,DDL-only):
20260819120000_admin_members_oidc_identity.sql(新增 oidc_issuer/oidc_subject + 部分唯一索引 + identity check 约束)、
20260819120100_admin_members_email_identity.sql(identity check 纳入 email)、
20260819120200_admin_members_normalized_email_unique.sql(lower(email) 部分唯一索引);db/schema/public.hcl 同步。 |
无 catalog 变更。 |
|
LCatalog 上架 GLM 5.3 与 aliyun-cn(阿里云 Model Studio 北京)
新增 aiHubMix 的 GLM 5.3 模型与 Author:nettee
|
无。 | 无。 | 无 runtime 代码;.env.example 新增 ALIYUN_CN_API_KEY(按需配置,否则 aliyun-cn 无法路由)。 |
无。 | 无 schema/migration。 | catalog 数据变更:data/json 的 providers/models/provider_routes/route_policies/public_pricing/openrouter_metadata;db/seeds 生成器与 seed-model-routing-catalog.sql 更新;由 catalog workflow apply 写入。 |
|
L后端 provider 价格全面刷新(23 家定价源)
按各 provider 官方价目表刷新后端计费价格:openrouter(+682 行)、novita(+362)、aiping(+313)等 23 个 provider_pricing 文件大幅度更新,并清除未验证的 AIHubMix GLM 定价、纳入 Atlas Seedream 折扣价;seed 全量重生成(seed SQL 约 342 行变更)。影响所有 model 的 token 计费与限额定价,建议核对公开价格页与模型限额。 Author:nettee
|
无。 | 无。 | 无 runtime 变更(specs 文档同步 prices 来源)。 | 无。 | 无 schema/migration。 | catalog 数据变更:data/json/provider_pricing/* 23 个文件;db/seeds 生成器与 seed-model-routing-catalog.sql 重生成;由 catalog workflow apply 写入。 |
|
MAPI 认证查询优化 + 认证查询索引
合并原有两张注册判定查询(join-heavy 的 Author:nettee
|
无。 | services/api/src/auth.ts 统一账户查询、减少重复子查询(-20 行)。 | 无。 | 无。 | 需要 migration:20260818142403_auth_email_lookup_indexes.sql —— 新增 account_credential_password_user_id_idx(account(userId) 部分索引)与 user_verified_lower_email_idx(user(lower(email)) 部分索引);db/schema/public.hcl 同步。 |
无 catalog 变更。 |
|
SAdmin 成员角色选择保留修复
修复 Admin 成员管理页编辑成员角色时选中项被重置的问题(member-role-select-form 受控表单状态修复),并补充 64 行组件/控制台单测。属 Admin 控制台操作细节修复。 Author:nettee
|
无。 | 无。 | 无。 | apps/admin members 页面 + member-role-select-form 状态修复。 | 无 schema/migration。 | 无 catalog 变更。 |
已在生产生效(发布点 2fe03ef2a 之前,本次不重复发布)
六个 workflow 均已于 2026-08-19 11:29–14:11 UTC+8 成功发布到 2fe03ef2a。以下内容全部在发布点之前,已在生产运行;本次重新运行各 workflow 只以 2fe03ef2a 为基线,不会重新「上线」这些内容。
- Catalog / 模型(08-19 与 08-18 生效): 2fe03ef2a DeepSeek V4 Flash 路由最终优化(#1672)、af8fa6c17 DeepSeek V4 按高峰时段定价(#1642)、a0871e4af 下线 aliyun rds 与 wafer GLM 5.1(#1650)。
- Media 错误契约(Caprika,08-18~19 生效): 85c3b2279 图片风控错误合同与提示词留存(#1641)、1532d6eb0 图片 provider 错误端到端透传(#1647)、54de5e686 仅消息 provider 错误保留(#1651)、6e81647cf 保留 provider 错误消息(#1654)。
- Link / 计费 / CI / CLI(08-18~19 生效): aebf3565e model limit 准入按 scope 串行化(#1655)、6c6081248 CI 跳过不可归档 specs(#1659)、136a25278 CLI OpenCode permissions 对象形式(#853,CLI 独立包发布,不在这六个 workflow 内)。
- 范围内已回退(净变更归零,本次不发布): 00def09fe 结算扫描改为 durable jobs(#1646)→ c45ae33ba revert 移除(#1673),对应代码与 migration 已恢复原状,无残留,无需特殊处理。
发布建议
- Migration 判断:本次新增 4 个 migration,全部 DDL-only(无数据回填):
20260818142403_auth_email_lookup_indexes.sql(API 认证查询索引)与 admin 的 3 个 OIDC/email 约束迁移(20260819120000 / 20100 / 20200_admin_members_*)。 需先运行 deploy-db-migrations-prod.yml。auth 索引在 account/user 大表建部分索引,关注锁表时长;admin 唯一索引若存在重复 lower(email) 存量数据会失败,预检阶段应检查。 - 服务发布顺序:DB migrations → Admin → API → Link → Catalog。
Admin 发布前必须先给 admin EKS 写入
OIDC_ISSUER / OIDC_CLIENT_ID / OIDC_CLIENT_SECRET(charts secret/configmap),否则/api/admin/healthzfails closed、部署就绪检查直接失败;API 依赖 auth 索引,建议在 DB 之后发布;Link 无代码变更,如需 aliyun-cn 路由再配ALIYUN_CN_API_KEY;Web 无变更,可跳过。 - 数据 seed / catalog 判断:catalog 数据由 deploy-model-routing-catalog-prod.yml 的 apply 步骤(
db/seeds/model_routing_catalog.py apply)写入。若要上线 GLM 5.3 / aliyun-cn / 价格刷新,需单独运行该 workflow(先 plan 后 apply),并确认 plan 输出包含32e48567b与dba80a6cc的变更。GLM 5.3 的 release gate 默认关闭,开放需 Admin 侧单独批准。 - 发布后观测:Admin 用 Powerformer SSO 登录成功/失败率、
/api/admin/healthz、成员邀请-首登 linking 是否出现sso_identity_ambiguous、成员角色保存结果;API 注册/OTP/密码登录路径延迟与错误率;catalog apply 后核对 public_pricing 的 GLM 5.3 / DeepSeek 价格与 provider 路由优先级;页面验证 「成员角色选择修复」(#1681)对应的 Admin members 页面角色下拉。
备注:所有 workflow、commit、PR 与 compare range 均为可点击的 GitHub 链接;因六个 workflow 发布点一致,所有 compare 链接使用同一基线 2fe03ef2a。