provider: seed GLM-5.3-Flash on the BigModel Responses preset - #4244
Conversation
|
✅ Deterministic PR hygiene checks passed. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe BigModel Responses provider now includes ChangesBigModel Responses Flash support
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~15 minutes Change: Feature · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The catalog addition introduces no confirmed merge-blocking risk. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
리뷰 · 우선순위 74 / 80설명 이 PR은 #4201은 원래 두 갈래였습니다. 쿼터 프로브 쪽은 이미 코드 변경은 테스트 오라클도 같이 옮깁니다. 예전 테스트는 공식 Codex 모델만 두 개와 export에 flash 없음을 잠가 두었는데, 그건 새 계약의 증거가 아니라 바꾸려는 옛 계약 자체입니다. 이제는 세 모델, Flash의 window·ladder( 현재 라인 - 문제 docs-site/src/content/docs/reference/configuration/providers.md:839 - 본문이 아직 seeds glm-5.3 and glm-5-turbo 로 남아 있어, 머지 직후 문서와 카탈로그가 어긋납니다. PR이 docs-site는 이 레인 소유가 아니라서 여기 안 넣었다고 명시했습니다. docs-site/src/content/docs/guides/providers.md (BigModel Coding Plan over Responses) - Flash가 시드되지 않았다 / Responses 메타데이터가 검증되지 않았다는 문장이 그대로면, 머지 후 가이드가 거짓이 됩니다. 표에 Flash 행과 native text+image도 빠져 있습니다. src/providers/registry.ts tests/providers/provider-registry-parity.test.ts - 로컬 src/providers/registry.ts modelContextWindows - Flash를 Chat/coding 행의 메인테이너의 판단이 필요한 지점
너의 추천 CI(특히 이 댓글은 grok-bot이 작성했습니다 |
The Responses preset shipped a two-model roster read off the models.json sample on BigModel's Codex page. That sample is a starter catalog, not the endpoint's roster, and taking it for the latter left Flash off a subscription that sells it. Three upstream pages disagree with the old reading, all checked 2026-09-11: - coding-plan/latest-model.md pins Codex to https://open.bigmodel.cn/api/v1 -- this preset's exact baseUrl -- and states GLM Coding Plan supports GLM-5.3 and GLM-5.3-Flash for every tier, then treats glm-5.3-flash as an already-callable id in that tool. - coding-plan/overview.md states GLM-5-Turbo calls are auto-switched to GLM-5.3-Flash. The preset already lists glm-5-turbo, so it was already reaching Flash on this endpoint under another name. - guide/models/vlm/glm-5.3-flash.md gives native multimodal input, a 1M window, and text parameters "consistent with GLM-5.3". Flash is seeded into the roster and all five sibling per-model maps. Its context tracks the 5.3 sibling on this row (1_048_576) rather than the Chat row's 1_000_000: both are documented as "1M", and this preset expresses that family's 1M the way BigModel's own Codex declaration does, so one preset does not claim two sizes for one documented window. Flash declares ["text", "image"]. It is the only row here that can actually see an image; the other two are text-only upstream and get image back from the vision sidecar at catalog-build time. Declaring Flash text-only would push a native VLM's pictures through a describe-it-first detour and hand the model prose about an image it could have read -- the defect ZAI_GLM_5X_SIDECAR_VISION_MODELS already exists to prevent on the Chat rows. The oracle moves in this same commit, because a test asserting the old roster is not evidence for the new one, it is the thing being changed. It previously locked models to two entries and asserted glm-5.3-flash was absent from the export. It now pins the three-model contract, Flash's exported window, ladder (low/high/max plus the compatibility ultra tier), default effort and native image modality, and keeps asserting the part no document supports: there is still no HTTP /models contract here, so liveModels and apiKeyValidation must not drift. Closes #4201
… describes The preset now seeds glm-5.3-flash, and both pages still said it did not. The guide went further and told the reader why it was excluded, which stops being staleness and becomes a false statement the moment this lands. The modality note is split rather than rewritten: 5.3 and Turbo still reach images through the vision sidecar, while Flash declares native text and image input, so the page should not describe one mechanism for all three rows.
4812304 to
c838ff5
Compare
|
Maintainer integration into Rebased onto A review pass over the replay flagged that the two Exact-head verification —
Merging with a merge commit, matching the convention on |
Summary
The
zhipu-bigmodel-responsespreset shipped a two-model roster (glm-5.3,glm-5-turbo) read off themodels.jsonsample on BigModel's Codex page. That sample is a starter catalog, not the endpoint's roster, and reading it as the latter left GLM-5.3-Flash off a subscription that sells it. An operator on the Responses preset could not pick Flash; the same operator on the Chat preset could.#4201 was deliberately left half-open in the previous round: the quota half landed, and Flash was deferred because that lane had no endpoint-specific evidence and the issue makes Flash conditional on it ("should offer
glm-5.3-flashif the domestic Responses endpoint supports it"). That evidence now exists. Three upstream pages, all checked 2026-09-11:coding-plan/latest-model.mdpins Codex tohttps://open.bigmodel.cn/api/v1— this preset's exactbaseUrl— and states GLM Coding Plan supports GLM-5.3 and GLM-5.3-Flash for every tier (Max, Pro, Lite), then treatsglm-5.3-flashas an already-callable id in that tool.coding-plan/overview.mdstates that calls to GLM-5-Turbo are auto-switched to GLM-5.3-Flash. The preset already listsglm-5-turbo, so it was already reaching Flash on this endpoint under another name. That is the strongest available statement that the endpoint serves the model.guide/models/vlm/glm-5.3-flash.mdgives native multimodal input, a 1M context window, and text parameters "consistent with GLM-5.3".Flash is seeded into the roster and all five sibling per-model maps.
Context window tracks the 5.3 sibling on this row (
1_048_576) rather than the Chat row's1_000_000. Both models are documented as "1M", and this preset already expresses that family's 1M the way BigModel's own Codex declaration does. Splitting them would leave one preset claiming two different sizes for one documented window.Modalities are
["text", "image"]. Flash is the only row here that can actually see an image; its siblings are text-only upstream and getimageback from the vision sidecar at catalog-build time. Declaring Flash text-only would push a native VLM's pictures through a describe-it-first detour and hand the model prose about an image it could have read — the defectZAI_GLM_5X_SIDECAR_VISION_MODELSalready exists to prevent on the Chat rows.The oracle moves in the same commit.
tests/providers/provider-registry-parity.test.tspreviously lockedmodelsto two entries and assertedglm-5.3-flashwas absent from the export. A test asserting the old roster is not evidence for the new one, it is the thing being changed. It now pins the three-model contract, Flash's exported window, ladder, default effort and native image modality, and still asserts the part no document supports: there is no HTTP/modelscontract here, soliveModels: falseandapiKeyValidation: "unknown"must not drift.Before / after for an operator on this preset:
glm-5.3,glm-5-turboglm-5.3,glm-5.3-flash,glm-5-turbotext+image, no sidecar detourVerification
Rebased onto
devat18e553a52and re-verified locally before merge:bun run typecheck— exit 0.bun test tests/providers/provider-registry-parity.test.ts— 47 pass, 0 fail.bun test tests/responses/openai-responses-passthrough.test.ts tests/providers/zhipu-bigmodel-responses-quota.test.ts— 177 pass, 0 fail.bun test tests/ci-workflows/docs-provider-billing-claims.test.ts— 6 pass, 0 fail (the oracle that reads the provider docs pages this round edits).bun run build:gui— NOT RUN; no GUI change in this PR.c838ff5f5110cafbf9d2e473cc61be64faef4befis the product evidence for this change.Reading-only verification that was done, by two read-only
xai/grok-4.6subagents plus direct fetches of the upstream pages:tests/providers/provider-registry-parity.test.tsis the only oracle that pins this preset's model list.tests/providers/zhipu-bigmodel-responses-quota.test.tspins the id,baseUrland quota probe but never readsmodels;tests/responses/openai-responses-passthrough.test.tsexercisesglm-5-turbo's empty effort ladder and does not assert roster length.provider-registry-parity.test.ts:396-404requires any registry entry listingglm-5.3-flashto keep it out ofnoVisionModelsand, if modalities are declared, to includeimage. Copyingglm-5.3's["text"]onto Flash would have failed it; the declared["text","image"]satisfies it.isModelVisionSidecarConsumeris true only for text-without-image, so Flash's declaredimageis not re-appended and the result is["text","image"], not a duplicate.preserveExactReasoningis false for this provider, so["low","high","max"]gains the compatibilityultratier and exports as["low","high","max","ultra"]with defaultmax. Turbo's empty ladder still exports[]and dropsdefault_reasoning_level.deriveKeyLoginMapcopiesmodelsby spread, so the updatedKEY_LOGIN_PROVIDERSexpectation follows from the registry change. No generated, skill-surface or snapshot file derives from this roster.Checklist
The docs hand-off from the previous round was taken back and committed here, because the pages do not merely go stale when this lands — they become false.
docs-site/src/content/docs/guides/providers.mdtold the reader thatglm-5.3-flashis not seeded "because its exact Responses metadata is not verified", which is the exact claim this PR refutes. Leaving that ondevwould have shipped a guide contradicting the roster it documents.docs-site/src/content/docs/reference/configuration/providers.md— the seeds sentence now names all three models.docs-site/src/content/docs/guides/providers.md— the static-roster table gains its Flash row, and the modality paragraph is split rather than reworded:glm-5.3andglm-5-turbokeep the vision-sidecar explanation, while Flash is described as declaring nativetextandimageinput. Describing one mechanism for all three rows is what made the original paragraph wrong.No translated copy carries this section —
git grepfinds the preset only in the two English pages — so there is no locale drift to follow up.Claims that rest only on the upstream pages linked above, and not on anything checkable inside this repository: that the
models.jsonsample is a starter catalog rather than the roster, that the Coding Plan sells Flash on every tier through the Codex endpoint, that Turbo calls are auto-switched to Flash, and Flash's 1M window and native multimodal input. There is still no authenticated/modelsprobe on this endpoint, and this PR does not add one.Closes #4201
Summary by CodeRabbit
glm-5.3-flashmodel through the BigModel Coding Plan Responses endpoint.