AMR 生产发布影响报告
本次核对结论
Web / API 的 EKS Pod 已运行 4d9eee278,本轮待发布范围内这两个维度没有任何文件变更,DB migration 也无需执行;真正需要发布的是三步:Admin 补上 #127(公共模型状态 API)、Link 补上 #122 / #126(BytePlus 接入与权重下调)、随后 apply Model Routing Catalog(同一批 seed / data 变更,Catalog 仍为 0ab43a985)。其中 Link → Catalog 的先后顺序不可颠倒,Admin 与 Link 之间无依赖。
- Web / API:已无待发布内容。Pod 均为
4d9eee278(run #2874 / run #2872,2026-09-24T10:57:57Z 前后),workflow 记录与 Pod 实态一致。其后 3 个 commit(#126 / #127 / #129)不改动apps/web/services/api任何文件,本轮不需要为这两个服务做发布。 - Admin:落后 main 1 个有效 commit,需要发布。Pod 为
4d9eee278(run #2873 @ 2026-09-24T10:53:45Z,workflow 记录与 Pod 实态一致),4d9eee278...37639613f共 3 个 commit,其中 1 个触及apps/admin:#127 公共模型状态 API(含 release phase 写入语义修正)。 - Link:落后 main 10 个 commit,需要发布。Pod 仍为
5a6c7f1ae(#118,run #2807 @ 2026-09-24T08:44:14Z),5a6c7f1ae...37639613f共 10 个 commit,其中 2 个触及services/link:#122 与 #126。 - DB migration:无需执行。最近成功 run #2800 的发布点为
5a6c7f1ae;其后 10 个 commit 中没有任何db/migrations/db/schema变更。 - Model Routing Catalog:落后两个 commit,必须 apply。最近成功 run #2812 的发布点为
0ab43a985;其后 9 个 commit 中有 2 个修改了db/seeds/data/json(#122、#126),仍是未 apply 状态 —— 即 BytePlus 文本路由还没进生产目录。
当前生产发布点(EKS 实态 + workflow 记录)
越新的发布点意味着该维度已上线越多内容;feature 表里只列出发布点之后的变更,发布点之前的 commit 归入「已在生产生效」一节。目标 commit 均为 37639613f(feat(tools): 新增 Erosion / Verbosity 分项目分析与独立报告 (#129))。
nexu/amr-web · container webamr-web-587cc86d95-b9zhw、amr-web-587cc86d95-2k6tz4d9eee278 · 镜像 …/amr-web:prod-4d9eee278e70…sha256:f182b80920802b11c1c18433ae66ee048642b9d9b14b25bbd075698e8134b422deploy-web-eks-prod.yml 最近成功 run #2874 · 2026-09-24T10:57:57Z → 4d9eee278;与 Pod 实态一致(workflow commit_sha = Pod 镜像 tag)4d9eee278...37639613f):0 个 commit 触及 apps/web(范围内共 3 个 commit,均不影响该服务)nexu/amr-api · container apiamr-api-6f447fd845-gq7s5、amr-api-6f447fd845-4kzqq4d9eee278 · 镜像 …/amr-api:prod-4d9eee278e70…sha256:9315c44cb33f4f8f118a20eeb8e8715e9282135610858a85b5dd91cd1d3bb172deploy-api-eks-prod.yml 最近成功 run #2872 · 2026-09-24T10:53:21Z → 4d9eee278;与 Pod 实态一致(workflow commit_sha = Pod 镜像 tag)4d9eee278...37639613f):0 个 commit 触及 services/api(范围内共 3 个 commit,均不影响该服务)nexu/amr-link · container linkamr-link-64c4bd4b76-j54qc、amr-link-64c4bd4b76-8hhnc5a6c7f1ae · 镜像 …/amr-link:prod-5a6c7f1ae915…sha256:b18fa89d69bf3eb54ae970e4f9949f90d0742f191e89d967dde7e692a99974d0deploy-link-eks-prod.yml 最近成功 run #2807 · 2026-09-24T08:44:14Z → 5a6c7f1ae;与 Pod 实态一致(workflow commit_sha = Pod 镜像 tag)5a6c7f1ae...37639613f):2 个 commit 触及 services/link(范围内共 10 个 commit)nexu/amr-admin · container adminamr-admin-7b8fdd6c5-5jk49、amr-admin-7b8fdd6c5-44cnr4d9eee278 · 镜像 …/amr-admin:prod-4d9eee278e70…sha256:dc8f4af23e8f449a8b71b69a20e9ac67e9ad7bf03abbc456ba578c01dc8b5fd9deploy-admin-eks-prod.yml 最近成功 run #2873 · 2026-09-24T10:53:45Z → 4d9eee278;与 Pod 实态一致(workflow commit_sha = Pod 镜像 tag)4d9eee278...37639613f):1 个 commit 触及 apps/admin(范围内共 3 个 commit)deploy-db-migrations-prod.yml5a6c7f1ae5a6c7f1ae...37639613f):0 个 commit 触及该维度路径(范围内共 10 个 commit)0ab43a9850ab43a985...37639613f):2 个 commit 触及该维度路径(范围内共 9 个 commit)此次发布真正新增的 feature 和影响面
| Feature / Author / Commits | Web | API | Link | Admin | DB schema / migration | DB catalog(seed) |
|---|---|---|---|---|---|---|
|
LBytePlus 原生 Responses 上游接入与首选档加权分流:
deepseek-v4.1-flash / glm-5.3-flash是什么:BytePlus ModelArk 首次承接文本模型流量。为两个公开模型新增 行为变化:公开 Chat Completions 与 Responses 两类协议复用同一组 Chat 路由权重(规格中明确写入:不要为这类 backend 另加独占的 Responses 路由),因此 Responses / Codex / Claude Code 客户端的请求同样按权重分流,不会整体压到单一供应商。公开售价不变( 面向谁:所有调用 Author:mrcfps(mrc@refly.ai)
|
无。 | 无。 | 有(BASE_LINK 5a6c7f1ae 之后,2 个 commit):
|
无。 | 无。 | 有(BASE_CATALOG 0ab43a985 之后,2 个 commit):
|
|
SGLM / BytePlus 供应商成本(COGS)口径重建
是什么:把两个模型的供应商成本从「官网挂牌价 / 汇率折算」改为用户确认的合同口径:BytePlus DeepSeek V4.1 Flash 按官网标准在线推理价四折(input $0.06 / output $0.24 / cache_read $0.0012 per 1M,峰谷时段 09:00–12:00、14:00–18:00 UTC+8 为 $0.12 / $0.48 / $0.0024);GLM-5.3-Flash 的 BytePlus、Z.AI、Aiping、OpenRouter 四个供应商统一按公开标价的九折($0.0675 / $0.225 / $0.0135,公开标价 $0.075 / $0.25 / $0.015)。 影响:只影响成本与毛利口径 —— 公开售价不变( Author:mrcfps(mrc@refly.ai) |
无。 | 无。 | 无。 | 无。 | 无。 | 有(BASE_CATALOG 0ab43a985 之后):
|
|
SAdmin 公共模型状态 API:
GET /api/public/v1/models(只读、免会话)是什么:Admin 新增无需 Admin session 的只读端点 接口契约:可选精确匹配筛选 顺带修正既有写入路径的时钟语义: 可达性与安全边界:Admin 部署为内网可达(README 明确该路由不新增浏览器 CORS 访问);该端点在应用层不带鉴权,若 Admin 曾被内网穿透或代理到更广范围,需要留意它会被匿名读取。数据面只读。 面向谁:发布/运维脚本与内部系统(例如发布后核对模型上线状态);终端用户与公开 API 契约不受影响。 Author:Liu Yi(liuyi@refly.ai) |
无。 | 无。 | 无。 | 有(BASE_ADMIN 4d9eee278 之后,1 个 commit):
|
无。 | 无。 |
范围内还有 37639613f feat(tools): 新增 Erosion / Verbosity 分项目分析与独立报告(#129):只在仓库内新增 tools/code_quality/ 的 Python 静态分析工具与 tools/tests/,不被任何服务镜像或部署维度使用(Web / API / Link / Admin 路径下无文件变更,也不含 migration / seed),对生产运行时没有影响,因此不单列 feature。
已在生产生效(发布点之前,本次不重复发布)
下面这些变更全部落在对应维度当前发布点之前,已在生产运行:Web / API / Admin 已到 4d9eee278,Link 到 5a6c7f1ae,DB migration 到 5a6c7f1ae,Catalog 到 0ab43a985。这些内容不要出现在上面的 feature 表里,本轮也不要为它们重复发布。
- Web / API / Admin(
4d9eee278已生效):Coding Plan 计费体系(Go 套餐恢复、窗口锚点修正、按套餐限额窗口、资金来源预检);账务控制台与加载骨架统一、Coding Plan 配额 SSE 实时刷新;CMS Touchpoints 运行时决策生命周期与 Test gift entry 幂等;控制台导航收敛与 API Keys 免费套餐门禁;Web 团队账单手动充值深链;Web Campaign 浮层租约续期;旧版 Open Design 模型目录按服务端 active workspace 解析;Admin 用户用量区分 requested / routed 模型与供应商;Admin 公共模型编辑审计去重。以及最近一批修复:#119(GO 升级团队订阅支付凭据)、#120(官网额度说明与样式)、#121(套餐模型展开空白 / 图标 / API Key 入口)、#123(Go 套餐配置额度发放)、#124(团队定价卡片文案)、#125(GO 额度统一遵循 Admin 会员权益配置)—— 它们都在 Web / API / Admin 的发布点4d9eee278之前(Admin 也已包含 #125)。 - Link(
5a6c7f1ae已生效):Link 三协议客户端与 Agent runtime(Responses / Anthropic Messages、多轮工具与流完成修复);旧版 Open Design 模型目录 workspace 兼容路径;Coding Plan 额度池隔离与钱包回退;#118 的迁移锁边界拆分(见下)。#119~#125 虽在 Link 的比较范围内,但不触及services/link,不属于 Link 的待发布内容。 - DB migration(
5a6c7f1ae已生效):#118 已把 Coding Plan 相关迁移拆分锁边界并延后 CHECK 校验,由 run #2800 执行完成;本次无需再跑 migration。 - Model Routing Catalog(
0ab43a985已生效):DeepSeek V4.1 Flash 多供应商路由、TeamRouter 路由补齐、GLM-5.3-Flash 早期权重调整等在此前已 apply(run #2812 的发布点);#120 的额度说明类 catalog 变更同样已生效。本次待 apply 的只有 #122 与 #126。 - 范围内无可发布内容:
4d9eee278...37639613f(Web)与4d9eee278...37639613f(API)净新增均为 0,5a6c7f1ae...37639613f(DB migration)也没有 migration 文件,本轮不要重复发布这些维度。
发布建议
- Migration 判断:BASE_DB
5a6c7f1ae之后没有新增 migration 文件,不需要运行 deploy-db-migrations-prod.yml。 - 服务发布(两个服务,顺序自由,但都应在 Catalog 之前):(1) Admin ——
4d9eee278...37639613f,1 个 commit(#127,独立无依赖,不影响其它维度);(2) Link ——5a6c7f1ae...37639613f,2 个 commit(#122、#126),新代码可兼容旧 catalog;(3) 再运行 deploy-model-routing-catalog-prod.yml 的 plan + apply —— 2 个 commit 的 seed / data 变更。Web / API 本轮不要滚动发布,避免无变更的重复重启。顺序颠倒的风险:catalog 中新增的responses/responses_stream路径覆盖键会被当前旧 Link 拒绝(unsupported request_path_overrides request type),provider_byteplus账户构建失败,BytePlus 已有的生图 / 视频路由会一并不可用。 - Catalog apply 前检查:#126 的提交说明指出,生产目录里此前没有这两条 BytePlus 文本路由,plan 中应能看到 2 个 backend model + 2 条 route 的新增以及 DeepSeek / GLM 权重行的修改;确认新增行符合预期后再 apply,apply 后核对
provider_byteplus的两条文本路由为 active、priority 10、weight 10。 - 运行环境前提:Link 已用
BYTEPLUS_API_KEY承接 Seedream / Seedance 图像与视频路由,本次文本 Responses 路由复用同一凭据,无需新增配置;但新路由依赖该 key 在 Link 运行环境可用。 - 发布后观测:①
deepseek-v4.1-flash/glm-5.3-flash的按供应商实际流量分布(首选档目标 BytePlus 12.5% / 14.3%,DeepSeek 70%、Z.AI 与 Aiping 各 42.9% 的相对关系),并确认 Responses 与 Chat 两类协议份额一致;② BytePlus 新上游的 5xx / 超时 / 上游模型错误率与首 token 时延(首次承接生产文本流量);③ 这两个公开模型的实际计费金额与 COGS 差额(公开售价不变,BytePlus DeepSeek 四折、GLM 全供应商九折);④ Admin 新增端点:GET /api/public/v1/models无 Cookie 返回 200、非法releasePhase返回 400、POST返回 405,确认/api/admin/*仍为 401;catalog apply 后同一端点中 BytePlus 两条新路由应计入usableRouteCount。
所有 workflow、commit、PR 与 compare range 均指向 Forgejo code.powerformer.net/core/amr;四个服务的 compare range 基于 EKS Pod 观察到的 BASE(4d9eee278 / 5a6c7f1ae),DB migration 与 Catalog 的 compare range 基于各自 workflow 最近成功运行的发布点(5a6c7f1ae / 0ab43a985),未统一使用最旧基线。本次观察时刻四个服务的 workflow 最近成功记录与 Pod 实态完全一致,没有发现 Pod 与 GitOps 差异。