mirror of
https://gitcode.com/JianFeeeee/ModelRouter.git
synced 2026-11-07 09:47:23 +00:00
fix(opencodezen): UA 升到 1.19.4 并补回 x-opencode-session-id
- 上游按客户端指纹判定免费层资格:CLI 1.18.29(4 个 x-opencode-* 头) 稳定 429;CLI 1.19.4(5 个头,含 session-id)200 且任务真实完成。 - 适配器的 UA 与头集合必须**同步**升级:只改 UA 声称的版本、不发对应头, 指纹反而更不一致,实测重新落回 429。 - 头形状按官方 CLI 抓包校正;`x-opencode-session-id` 与 `x-opencode-session` 同值,此前被误删。 - live 测试新增 `gatewayBinary()`:优先 `MODELROUTER_BIN`,其次 `/usr/local/bin/modelrouter`,回退改名前的 `/usr/local/bin/llmsproxy`。 注:本提交是改名/插件整改之外的独立修复,先于 v3.0.0 收口。
This commit is contained in:
@ -37,8 +37,13 @@ func TestOpencodeZenAdapterE2E(t *testing.T) {
|
||||
if len(h["x-opencode-request"]) != 4+12+14 || !strings.HasPrefix(h["x-opencode-request"], "msg_") {
|
||||
t.Fatalf("request 形状: %q", h["x-opencode-request"])
|
||||
}
|
||||
if !strings.Contains(h["User-Agent"], "opencode/1.19.0") {
|
||||
t.Fatalf("UA 应为 1.19.0: %q", h["User-Agent"])
|
||||
// ★ UA 必须与**抓包的官方版本**一致:上游按客户端指纹判定免费层资格。
|
||||
// 实测(2026-10-24,同一凭据同一模型):
|
||||
// CLI 1.18.29(发 4 个头) → 429 FreeUsageLimitError
|
||||
// CLI 1.19.4 (发 5 个头) → 200,任务真实完成
|
||||
// ⇒ UA 里声称的版本与发头集合必须同步升级,不能只改其一。
|
||||
if !strings.Contains(h["User-Agent"], "opencode/1.19.4") {
|
||||
t.Fatalf("UA 应为 1.19.4: %q", h["User-Agent"])
|
||||
}
|
||||
t.Logf("session=%s request=%s", s1, h["x-opencode-request"])
|
||||
// 公式校验:段 = (K - bucket_ms*4096) & MASK,其中 bucket 已对齐到整分钟
|
||||
|
||||
Reference in New Issue
Block a user