root
92aa3d6a9b
fix(gateway): 探测同时算出 image_endpoint,修 /v1/v1 404
上一版只算了 endpoint,图像生成仍然 404。根因是网关两条拼接路径的默认值
规则相反:
ChatURL = BaseURL + Endpoint() 默认 "/chat/completions" 相对
ImageURL = BaseURL + ImageEndpoint() 默认 "/v1/images/generations" 绝对
base_url 带 /v1 时 chat 拼成 /v1/chat/completions 正常,image 拼成
/v1/v1/images/generations 就 404。之前归一化 base_url 时修正了版本段的位置,
但没意识到图像这条路径的默认值自带 /v1,它跟 base 是各管一段。
探测现在额外返回 image_endpoint:base 末尾有版本段时给
/images/generations,否则留空用默认值。判据是 TestComposeImageEndpoint ——
它断言 base+结果绝不含 /v1/v1,这是那个 404 的字面形态。
apply 的继承逻辑相应改了:image_endpoint 不再从旧源继承。旧值是对旧
base_url 正确的,而 base_url 恰恰是这次可能变的东西,沿用它会留下一个对着
新 base 404 的陈旧值。前端 srcDiscover() 同步写入该字段。
端到端(隔离实例 18099,真实 amr-link 上游):
探测 http 200,1.4s,29 chat + 5 image
apply http 200,落库 34 个模型
文本 http 200,2.0s
视觉 http 200,1.5s
图像 路径修正为 /v1/images/generations(不再 404;上游本身 120s 超时,
属其自身耗时,非路由问题)
探测对已存在的源返回 409 要求显式 replace_models=true,这个保护在验证中
确实生效了。
2026-10-06 14:53:15 +08:00
..
2026-10-06 14:53:15 +08:00
2026-10-04 14:50:46 +08:00
2026-09-27 17:12:03 +08:00
2026-10-06 14:53:15 +08:00
2026-10-02 12:55:54 +08:00
2026-10-02 12:55:54 +08:00
2026-08-28 12:02:46 +08:00
2026-10-06 14:53:15 +08:00
2026-10-06 14:53:15 +08:00
2026-09-27 17:12:03 +08:00
2026-10-02 15:44:50 +08:00
2026-10-06 14:53:15 +08:00
2026-10-06 14:53:15 +08:00
2026-10-06 14:53:15 +08:00
2026-10-06 14:53:15 +08:00
2026-10-06 14:53:15 +08:00
2026-09-28 23:42:48 +08:00
2026-10-02 08:47:08 +08:00
2026-10-03 07:45:54 +08:00
2026-09-28 23:42:48 +08:00
2026-09-27 18:44:41 +08:00
2026-09-27 18:44:41 +08:00
2026-09-27 18:44:41 +08:00
2026-09-28 23:42:48 +08:00
2026-10-03 07:45:54 +08:00
2026-08-30 08:04:22 +08:00
2026-09-27 17:12:03 +08:00
2026-10-04 14:50:46 +08:00
2026-10-04 14:50:46 +08:00
2026-10-02 01:03:39 +08:00
2026-10-04 14:50:46 +08:00
2026-10-04 21:56:45 +08:00
2026-10-06 14:53:15 +08:00
2026-10-01 20:36:48 +08:00
2026-10-01 18:15:29 +08:00
2026-10-01 23:37:17 +08:00
2026-10-03 10:32:51 +08:00
2026-10-04 14:50:46 +08:00
2026-10-02 12:26:26 +08:00
2026-08-30 09:29:42 +08:00
2026-10-04 14:50:47 +08:00
2026-09-28 22:19:12 +08:00
2026-10-01 20:36:48 +08:00
2026-10-04 07:05:36 +08:00
2026-10-04 14:50:46 +08:00
2026-09-27 19:02:13 +08:00