AMR 生产发布影响报告
当前生产发布点(EKS 实态 + Forgejo workflow 记录)
Web、API、Link、Admin 的发布点来自 Grafana / Prometheus 观察到的 Ready EKS Pod 镜像(namespace nexu,datasource prometheus);DB migration 与 Catalog 的发布点来自对应 Forgejo workflow 最近一次成功运行。
feature 表里只允许列出发布点之后的变更;发布点之前的 commit 属于已生效,归入「已在生产生效」一节。目标 commit 均为 724488f4b(feat(admin): restore drawers, navigation titles and query filters (#188),2026-10-04 14:04,Liu Yi)。
nexu/amr-web · container webamr-web 镜像过滤)37d7d377csha256:64720a397a3f80287a7ec78ae1aee018fca99a1ff24def173e769e08272d3c1837d7d377c;与 Pod:一致(workflow 最近成功运行的 commit_sha 与 Pod 实态相同)37d7d377c...724488f4b):2 commits,其中 0 个触及该服务目录的变更nexu/amr-api · container apiamr-api 镜像过滤)3b3ea92c1sha256:6599559c5f91bdad4c73298152779034a2938f27d32c74bc8808dee470f0a0023b3ea92c1;与 Pod:一致(workflow 最近成功运行的 commit_sha 与 Pod 实态相同)3b3ea92c1...724488f4b):1 commits,其中 0 个触及该服务目录的变更nexu/amr-link · container linkamr-link 镜像过滤)3b3ea92c1sha256:0b5379e4c4f0e360fd5534abda3c2d5ded5b63c52b798be13a50b9357d2b7adf3b3ea92c1;与 Pod:一致(workflow 最近成功运行的 commit_sha 与 Pod 实态相同)3b3ea92c1...724488f4b):1 commits,其中 0 个触及该服务目录的变更nexu/amr-admin · container adminamr-admin 镜像过滤)4d9eee278sha256:dc8f4af23e8f449a8b71b69a20e9ac67e9ad7bf03abbc456ba578c01dc8b5fd94d9eee278;与 Pod:一致(workflow 最近成功运行的 commit_sha 与 Pod 实态相同)4d9eee278...724488f4b):29 commits,其中 0dc3fc2fb feat(admin): expose public model status API (#127)、724488f4b feat(admin): restore drawers, navigation titles and query filters (#188)此次发布真正新增的 feature 和影响面
| Feature / Author / Commits | Web | API | Link | Admin | DB schema / migration | DB catalog(seed) |
|---|---|---|---|---|---|---|
|
LAdmin 控制台 UI 恢复:抽屉表单、导航标题对齐、统一带标签筛选栏
恢复被 #56 撤销的 Admin UI 优化:表单改用右侧抽屉(#47),页面 H1 与侧边导航标题一致并精简说明(#49),用户、成员、订单、退款、风控使用统一带标签筛选栏( Author:Liu Yi |
无。 | 无。 | 无。 | 29 files,+1799 / −1440,全部在 apps/admin/:页面 app/[locale]/(protected)/{activities,audit-logs,coding-plan,coupons,email-domains,entitlements,members,message-center,models/auto-availability,models/list,orders,patrol,refund-management,risk-control,users,workspaces}/page.tsx,新增 components/ui/query-filter-bar.tsx,组件 features/membership/{tier-dialog,model-rule-dialog,model-discount-dialog,model-groups-panel}.tsx、features/refund-management/historical-cancel-only-form.tsx、features/touchpoints/activity-manager.tsx、i18n 中英文案与测试。仅展示层、文案与测试;未改 Server Actions、API handler、后端 repository、权限规则或数据库 schema。 |
无 schema / migration。 | 无 catalog 变更。 |
|
MAdmin 公开模型状态 API + 发布相位变更幂等化
新增无需 Admin 会话即可读取的 注意:该 feature 在 2026-10-02 的报告中已提示为待发布,至今仍未部署(仍位于 BASE_ADMIN 之后),因此继续列入本轮 feature 表;本轮真正新出现的是上一条 #188。 Author:Liu Yi |
无。 | 无(端点由 Admin 服务的 apps/admin 提供,未改 services/api/)。 |
无。 | 7 files,+535 / −27:新增 app/api/public/v1/models/route.ts 与 lib/server/public-model-status.ts,调整 lib/server/admin/models.ts、lib/server/admin/core.ts(发布相位写入幂等化),补充 README.md 与两个测试文件。属于新的对外读取契约(schemaVersion: 1)与 Admin 模型发布写路径语义调整。 |
无 schema / migration。 | 无 catalog 变更。 |
已在生产生效(发布点之前,本次不重复发布)
以下 feature / commit 均在对应生产发布点之前,已在生产运行。四个服务以 EKS Pod 实态为基线,DB migration 与 Catalog 以 Forgejo workflow 记录为基线。
- Catalog(BASE_CATALOG
392374aba已生效,2026-09-30T03:35:18Z @ run #3325):392374aba接入 GPT-6.1 Sol(#158,Public + Team 模型、provider_openai / openrouter 路由,release phase 仍为pre_release)、9cb11dffa下调 Aiping 路由并优先 DeepSeek / BytePlus(#157)、c5452886c恢复 BytePlus DeepSeek / GLM 文本路由(#153)、2134cdb88接入 Claude Sonnet 5.5(#146)、06cf3e250回退路由权重并临时禁用 BytePlus 文本路由(#141)、01a204b6c提升 BytePlus 优先级并下调 Aliyun DeepSeek(#139)、4247cbca3降低 BytePlus DeepSeek / GLM 路由权重(#126)均已 apply 到生产目录。 - DB migration(BASE_DB
a7aa125f3已生效,2026-09-28T11:54:21Z @ run #3104):a7aa125f3(#137)db/migrations/20260928085420_account_user_id_index.sql(account user 查询索引,concurrent 创建)已执行,db/atlas.hcl同步。这是本仓库目前最新的 migration 文件。 - Link(BASE_LINK
3b3ea92c1已生效,2026-09-30T14:06:47Z @ run #3476):3b3ea92c1BytePlus 历史处理与 DeepSeek 请求兼容(#172)、b28db717d输入上限与上下文溢出错误归一(#168)、2180569caprovider 请求归一与本地校验错误分类(#161)、126947877统一 BytePlus 请求兼容层(#145)、26370c56e省略 BytePlus 不支持的 reasoning summary 字段(#136)、6e4509a96转换前剥离不支持的stream_options(#135)。 - API(BASE_API
3b3ea92c1已生效,2026-09-30T14:07:02Z @ run #3477):ddc167a31收敛 workspace billing ledger 查询上界(#160)、95c2819d4补齐缺失 HTTP 指标路由归类(#134)、e43cbd2b6降低 billing preflight / snapshot / 鉴权的数据库负载(#132)。 - Web(BASE_WEB
37d7d377c已生效,2026-09-30T12:39:44Z @ run #3465):37d7d377cPlus 套餐模型列表加入 GPT-6 Sol(#171)、5993bc6fcDesign Plan 加入 GPT-6.1 Sol 与限时用量加成(#169)、4fdebb905折叠的 Design Plan 行避开 View all(#167)、c56bb26daDesign Plan 加入 MiMo V2.6 Pro(#165)、125902bef同步 Design Plan 权益 / 模型 / 用量估算(#150)、2519d1014隐藏 Design Plan 额度金额(#148)。 - Admin(BASE_ADMIN
4d9eee278已生效,2026-09-24T10:53:45Z @ run #2873):4d9eee278(#125)GO 额度统一遵循 Admin 会员权益配置。Admin 发布点之后只有 #127 与 #188 两个apps/admin变更,即 feature 表的两行。 - 范围内已回退(净变更归零,本次不发布):BASE_* ... 724488f4b 范围内未发现 add → revert 型净变更。Catalog 路由权重的多次调整(#139 / #141 / #157)属叠加式收敛,均已 apply 生效,不在本次范围内。
发布建议
- Migration 判断:不需要跑 migration。BASE_DB
a7aa125f3(2026-09-28)之后到 main 的 20 个 commit 中,没有任何db/migrations/或db/schema/变更;最新 migration 仍是已执行的20260928085420_account_user_id_index.sql。无需触发 deploy-db-migrations-prod.yml。 - 服务发布顺序:本轮只有 Admin 一个服务需要发布,单独触发 deploy-admin-eks-prod.yml(发布 724488f4b)即可,一次性带上 #127 与 #188,不存在 DB → Catalog → Link → API → Web 的顺序约束。Web(
37d7d377c,落后 2 个不触及apps/web/的 commit)、API 与 Link(已等于 main HEAD 724488f4b)本轮不必滚动发布,重发不会带来任何运行时变化。 - 数据 seed / catalog 判断:不需要 apply catalog。BASE_CATALOG
392374aba(2026-09-30T03:35Z run #3325)已经越过 main 上全部data/json/与db/seeds/变更,其后的 9 个 commit 中 0 个 catalog 变更,无需触发 deploy-model-routing-catalog-prod.yml;即使重跑也只是幂等 apply。注意 Catalog 中 GPT-6.1 Sol 的 release phase 按设计仍为pre_release,用户可见性由 Admin 侧的发布相位操作决定,与本次 Admin 代码部署无关。 - 发布后观测:
- Admin Pod:镜像 tag 变为
prod-724488f4b…(Prometheuskube_pod_container_info),部署后 Ready 恢复 2/2、updated / available 与 spec 一致、无 unavailable 副本。 - 公开模型状态 API:
GET /api/public/v1/models无 Cookie 返回 200 且Cache-Control: private, no-store;非法releasePhase返回 400;POST返回 405;GET /api/admin/models/tables无鉴权仍返回 401(确认鉴权边界未被放宽)。 - Admin 写入路径:切换一次模型 release phase,确认
releasedAt只在相位真正变化时刷新;重复提交同一相位不刷新updated_at、不新增审计事件。 - Admin 运营侧回归(#188 影响面最广):用户 / 成员 / 订单 / 退款 / 风控五个页面的筛选栏提交后 URL 参数与列表正确、重置能清空查询;会员等级额度按美元提交后数额换算正确(如 $20.50 → 205000 credits);模型规则 / 模型折扣 / 活动配置抽屉的保存与失败恢复;历史恢复抽屉 Escape 后焦点回到触发入口。
- 未滚动发布的维度:Web / API / Link 的 Pod 镜像与 digest 应保持本报告值不变,用于确认「无净变化」预期。
- Admin Pod:镜像 tag 变为
备注:本报告所有 workflow、commit、PR 与 compare range 均指向 Forgejo code.powerformer.net/core/amr,不使用 GitHub Actions。四个服务的 compare range 基于 Grafana / Prometheus 观察到的 Ready Pod 镜像 commit;DB migration 与 Catalog 的 compare range 基于各自 workflow 最近一次成功运行的 commit_sha。