AMR 生产发布影响报告
当前生产发布点(EKS 实态 + workflow 记录)
Web、API、Link、Admin 的发布点取自 Grafana / Prometheus(datasource prometheus,kube-state-metrics)观察到的 Ready Pod 镜像;
DB migration 取自 deploy-db-migrations-prod.yml 最近成功运行。
查询按业务容器 + 镜像仓库精确过滤后再按 (namespace, pod) 关联 Ready 状态,并已排除带 deletionTimestamp 的终止中 Pod;
四个服务都是 Ready = spec.replicas = updated = available,没有滚动/回滚混合状态,指标样本距观察时刻均在数秒内。
本次全量目标是 20f4f007d;各维度的 compare range 分别计算,feature 表只列发布点之后的内容。
nexu/amr-web · container webamr-web-684576c49f-cwz6t, amr-web-684576c49f-q2l59bbc226561sha256:ceb1ebe4694ba64ddd4e6331dc96916af215181ae81b5967260a48ec1d4db5f1prod-37d7d377cd17da21061c51b13e0db8298e4e4a16(37d7d377c,2026-09-30);与 Pod:不一致bbc226561...20f4f007d):1 commitnexu/amr-api · container apiamr-api-6cdddb445f-8l2b2, amr-api-6cdddb445f-ngdccd87957782sha256:59e5d12dbf6d362771dbed360f55405dddb61765e2f0ca24a41741e13b9a762fprod-3b3ea92c11a210d2af48eda397bc2b39592541bf(3b3ea92c1,2026-09-30);与 Pod:不一致d87957782...20f4f007d):1 commitnexu/amr-link · container linkamr-link-75948c646b-ts59f, amr-link-75948c646b-fcp9g, amr-link-75948c646b-htc7s 等 12 个8b0c9bb38sha256:f6001da938c17b731763a267dd026e76919f19b6fd33b3dd8b53f541faf631c0prod-3b3ea92c11a210d2af48eda397bc2b39592541bf(3b3ea92c1,2026-09-30);与 Pod:不一致8b0c9bb38...20f4f007d):2 commitnexu/amr-admin · container adminamr-admin-84d75849f4-nhswt, amr-admin-84d75849f4-4zhkz8b0c9bb38sha256:c9a9c60857535c7bdddb82d35673411358005cf9b711f1e1fc30f0d5f310e233prod-4d9eee278e70a6bf80e6aaf4600a886c02ea7c73(4d9eee278,2026-09-24);与 Pod:不一致8b0c9bb38...20f4f007d):1 commit8b0c9bb38db/recovery/feature-test-429/*(feature-test 恢复资产,生产不执行)审计差异(必须人工确认):powerformer/apps 的 prod overlay(kubernetes/envs/prod/amr-{web,api,link,admin}/values.yaml)仍固定 09-24~09-30 的旧 commit
(web prod-37d7d377cd17da21061c51b13e0db8298e4e4a16、api/link prod-3b3ea92c11a210d2af48eda397bc2b39592541bf、admin prod-4d9eee278e70a6bf80e6aaf4600a886c02ea7c73),与四个服务的 Pod 实态全部不一致;
该 ArgoCD Application 配置了 selfHeal: true。说明生产镜像并非由这些文件的 main 当前内容驱动(例如 Orbit lane 执行、手工 helm 或 ArgoCD source 与之不同)。
本报告一律以 Pod 实态为发布点;发布前建议运维确认 ArgoCD 实际 values 来源,否则 selfHeal 可能把 Pod 拉回旧 tag,直接抹平本次发布。
workflow 审计只作对照:deploy-web-eks-prod.yml 最近成功 run 9630 是 target=share 的 lane(同一 commit 也支撑 share 站点 amr-share-web),
仅凭 workflow 记录判断生产版本会得出错误结论——这正是本报告以 Pod 实态为准的原因。
此次发布真正新增的 feature 和影响面
| Feature / Author / Commits | Web | API | Link | Admin | DB schema / migration |
|---|---|---|---|---|---|
|
XL一键配置 Agent:API Keys 页 → CC Switch 深链导入
API Keys 页新增「一键配置 Agent」对话框:用户选择本机 agent(Claude Code / Codex / Grok Build / OpenCode / OpenClaw / Hermes)与套餐可用模型后,Web 复用既有 runtime key 创建接口生成名为 依赖说明:无需新增 migration,可用性完全由现网模型目录、路由、发布门禁与套餐权益推导;套餐未配置默认模型时列表回退为固定顺序首项,不会阻断。发布后建议人工走一次真实导入(生成本机配置)核对。 Author:覃栋(qindong) PR #429
|
新增 quick setup 对话框(agent/模型选择、CC Switch 下载与 ccswitch:// 深链生成、重开/重新下载引导)、runtime-keys-client 扩展、api-keys 页入口与样式、i18n(es/fr/ja/ko/pt/ru/zh-TW)、埋点 api_key_quick_setup_view/click/key_result。 |
新增 GET /api/v1/quick-setup/models(quick-setup-models.ts、persistence/model-catalog.ts#listQuickSetupModels 读取 link.public_models / 路由 / release gates / availability overrides);runtime-keys.ts 抽取 isPaidPolicy 复用;openapi.json 同步。 |
无新增接口与路由语义变更:本路径复用 Link 既有的 /v1/messages、/v1/models 与权益判定(未改动)。配套的两处 Link 运行时改动单列在下面两行。 |
无(Admin 镜像仅随 @vela/shared 重建,无行为变更)。 |
无。 |
|
MClaude Code(Anthropic /v1/messages)流式内容块保序
当 Anthropic 请求回退到 Chat 上游时,thinking 与 text 内容块可能重叠,且会出现只有 stop、没有 start 的合成 reasoning 项;Anthropic 客户端按单块顺序拼装,重叠会导致最终结果为空。新增 Author:覃栋(qindong) PR #429
|
无。 | 无。 | 新增 bifrostengine/anthropic_chat_blocks.go(块保序缓冲)与 anthropic_messages.go 接线(Chat 路径注入 order state),附单测与 e2e 用例。影响所有走 /v1/messages 的 Claude Code / Anthropic 客户端。 |
无。 | 无。 |
|
MBytePlus Ark 缓存提示与 reasoning effort 兼容修复(OPEND-4124 / 4125)
两处网关兼容问题:1)Ark Responses 不再因为客户端传入 Author:Liu Yi(nettee) PR #451
|
无。 | 无。 | providercompat/text.go(isArkDeepSeekV41 版本显式匹配 + effort 别名/白名单)、providercompat/adapter.go(prepareArkOptions 不再拒绝 retention,改为省略)、e2e 用例与 specs/current/link/provider/reasoning-effort-20261020.md。 |
无。 | 无。 |
|
Smodel_request 分析事件新增凭证归属字段(credentialKind / apiKeyId)
Link 上报的 Author:覃栋(qindong) PR #429
|
无页面行为变化;@vela/shared 事件 schema 同步(打包含在本次 Web 镜像)。 |
无运行时改动;@vela/shared 事件 schema 同步。 |
internal/usage/analytics_notify.go(payload 增加 credentialKind,apiKeyId 仅 runtime 上报)+ 单测。 |
无。 | 无。 |
|
SAdmin Coding Plan 配额重置的并发与超时恢复(#262)
运营批量重置 coding plan 配额时,原先对每个用户用 Author:mrcfps PR #262
|
无。 | 无。 | 无。 | lib/server/admin/coding-plan-reset.ts(改排队锁 + 55P03/57014 → 409)、reset-quota-button.tsx 与 i18n/messages/{en,zh}.json、单测与 e2e。 |
无 schema/migration。 |
|
Sfeature-test 迁移核对工具与 CI 资产(非 runtime)
新增 核验: Author:覃栋(qindong) PR #429
|
无 runtime 变更(仅测试/e2e 选择器)。 | 无 runtime 变更。 | 无。 | 无。 | 无 migration/schema 变更;db/recovery/* 不属于生产迁移。 |
已在生产生效(发布点之前,本次不重复发布)
以下内容都在对应维度的生产发布点之前,已在生产运行。若从 main 重新发布,只分析各自基线之后的净新增。
- DB migration(
8b0c9bb38已生效):该 commit 已包含的 migration 全部执行,目录中最新为20261019035155_usage_settlement_history_fence.sql; 09-30~10-20 的 migration(如credit_usage_scope_totals、usage_settlement_recovery)都已在生产生效。 - Web(
bbc226561已生效):#433 OpenDesign Motion 周 · DeepSeek 一周谷价(bbc226561)、 #454 分享页控制台会话隔离(987264be1)、#450 分享 HTML 外链新标签页(d1497b13e)均已上线。 - API(
d87957782已生效):#459 分享评论发布限流 ×3(d87957782)、 #455 账号维度的 OpenDesign Task trace(819d5ce6d)、#271 搜图服务日志与 Prometheus 可观测性(050b9f65e)、 #450 / #454 的 API 侧、#433 的@vela/shared分析事件均已上线。 - Link(
8b0c9bb38已生效):#449 实时下发 Responses reasoning 摘要增量及该 commit 之前的全部变更已上线; 09-30~10-20 之间除 #451(待发布)与 #429 的 Link 部分(待发布)外,其余 commit 均未触及services/link。 - Admin(
8b0c9bb38已生效):该 commit 及之前的 Admin 变更已上线;之后只有 #262 一处触及apps/admin,属于本次待发布。 - 范围内已回退(净变更归零):未发现 add → revert 组合,没有需要特殊处理的 migration。
发布建议
- Migration 判断:不需要跑 migration。四个服务发布点之后
db/migrations、db/schema零变更 (8b0c9bb38...20f4f007d在db/下只有db/recovery/feature-test-429/*,且工具guardTarget只允许vela_feature/ loopback 沙箱执行); 因此本次不需要先跑 deploy-db-migrations-prod.yml。 注意:各维度发布点不同(Link/Admin/DB 为 8b0c9bb38,API 为 d87957782,Web 为 bbc226561),待发布量分别是 2 / 1 / 1 / 1 / 0。 - 服务发布顺序:
- 1) Link(2 commits):
/v1/messages保序与 BytePlus 兼容都属于网关行为修复,先上可让 CC Switch 导入后的 key 流量立即受益;发布后观察 12 个副本收敛。 - 2) API(1 commit):新增只读端点,向后兼容;Web 的新对话框依赖
/api/v1/quick-setup/models,因此必须早于 Web。 - 3) Web(1 commit):在 API 上线后开启新入口;旧版 Web 不受影响,可回滚不影响 API/Link。
- 4) Admin(1 commit):仅运营侧配额重置,可独立发布,与上述顺序无依赖。
- DB migration 无变更,不参与排序。
- 1) Link(2 commits):
- 发布后观测:在动本次发布前,先确认 ArgoCD 实际 values 来源与 Pod 实态的关系(见上方审计差异),避免 selfHeal 回滚。
- Link:
/v1/messages空响应率与异常结束率、SSE 中断数、首 token 延迟;BytePlusreasoning.effort400 与带prompt_cache_retention的 400 应归零;model_request事件中control_plane不再出现apiKeyId;Ready 保持 12/12。 - API:
GET /api/v1/quick-setup/models的 200/401/403/5xx 比例与 p95 延迟;openapi.json已含新端点;Ready 保持 2/2。 - Web:api-keys 页 quick setup 的
surface_view/ui_click/api_key_quick_setup_key_result事件(area=api_key_quick_setup)、 7 种语言文案、生成的 key 名称<Agent> · <OS>、macOS/Windows 下深链与 Firefox 隐藏 iframe 行为。 - Admin:coding plan 批量重置的 409
coding_plan_reset_busy比例与操作耗时。 - 全局:web/api/admin Ready 2、link Ready 12,无终止中 Pod 堆积;无 5xx 抬升。
- Link:
备注:所有 commit、PR、workflow 与 compare range 均为 Forgejo(code.powerformer.net/core/amr)链接; 四个服务的 compare range 基于 EKS Pod 观察到的 BASE,DB migration 的 compare range 基于 migration workflow 的 BASE。