Repository navigation
[Provider compatibility] BigModel Responses Coding Plan: missing quota probe and GLM-5.3-Flash catalog support #4201
Description
Client or integration
Codex App / OpenCodex provider configuration and quota UI
Provider or upstream service
Zhipu BigModel GLM Coding Plan — zhipu-bigmodel-responses
OpenCodex version
2.49.0 (installed npm package)
Endpoint or capability
Responses preset at https://open.bigmodel.cn/api/v1: account quota visibility and glm-5.3-flash model availability.
Summary
The new Responses preset should preserve the existing Coding Plan experience when changing the API wire format. From a user's perspective this is still the same GLM Coding Plan subscription, accessed through Responses instead of Chat Completions. Switching to the new preset currently loses quota visibility and the built-in glm-5.3-flash selection.
This issue tracks those two related gaps. The quota selector omission is confirmed by local source inspection; Flash support on this specific Responses endpoint still needs endpoint-specific validation.
Current behaviour
1. The new provider is not connected to the existing quota reader.
In the installed 2.49.0 src/providers/quota.ts:
isCanonicalZaiBaseUrl()already acceptshttps://open.bigmodel.cn/api/v1(around line 348).fetchZaiQuota()already selects the domestic monitor endpoint and its rawAuthorizationAPI-key convention.- However,
keyQuotaReaderForProvider()(around line 2894) restricts this reader to provider nameszai,glm,glm-cn, andzhipu-bigmodel-coding. It omitszhipu-bigmodel-responses. - Consequently,
providerApiKeyQuotaMode()returnsunsupportedfor the new preset, andfetchProviderApiKeyQuotas()returns an empty list before making a quota request.
This is a provider-name eligibility gap, not a missing domestic Responses URL in the canonical URL check.
2. glm-5.3-flash is absent from the new model catalog.
In src/providers/registry.ts:
- Existing
zhipu-bigmodel-codingincludesglm-5.3-flash(around line 2628). - New
zhipu-bigmodel-responsesseeds onlyglm-5.3andglm-5-turbo(around line 2651). - The saved local Responses provider also contains only those two model IDs.
We acknowledge the prior discussion in #3641 / #3828: the static subset was landed deliberately, while live HTTP model discovery and exact Flash Responses metadata were deferred. This is a request to complete that remaining support, not a claim that it was accidentally removed.
Expected behaviour
- Using the Responses preset with an eligible domestic Coding Plan key should expose the same account quota information available through the existing Coding Plan quota reader, while retaining response-driven handling of whichever quota windows the account actually returns.
- The preset should offer
glm-5.3-flashif the domestic Responses endpoint supports it, with verified context, modalities, and reasoning metadata. If the endpoint does not support it, please document that specific upstream restriction and the resulting difference from the Chat preset. - The product expectation is continuity of the same subscription when changing API access method. This does not require assuming that every model or every metadata field is identical across wire protocols.
Minimal redacted reproduction
- On OpenCodex 2.49.0, configure the built-in
Zhipu AI — BigModel Coding Plan (Responses)provider using a domestic Coding Plan API key. - Inspect its Usage/quota capability: the provider is classified as unsupported by the quota reader selector.
- Inspect the built-in model selection:
glm-5.3andglm-5-turboare seeded, butglm-5.3-flashis absent. - Compare the existing
zhipu-bigmodel-codingpreset, which is admitted by the quota selector and includes Flash in its model roster.
Relevant redacted configuration fields:
{
"providers": {
"zhipu-bigmodel-responses": {
"adapter": "openai-responses",
"baseUrl": "https://open.bigmodel.cn/api/v1",
"models": ["glm-5.3", "glm-5-turbo"]
}
}
}Credentials are omitted. This report is based on the observed configuration and read-only inspection of installed source; no new inference or authenticated quota/model-list request was made during this investigation.
Actual response or error
No upstream error is required to trigger the quota gap: the local selector rejects the provider before dispatch. Flash is missing from the preset catalog; this report does not claim a failed Flash inference request.
Upstream documentation
Official domestic Coding Plan Codex guide, checked 2026-09-10:
https://docs.bigmodel.cn/cn/coding-plan/tool/codex
The guide places Codex under GLM Coding Plan and specifies the domestic /api/v1 endpoint with the Responses wire format. Its current local model-catalog example lists GLM-5.3 and GLM-5-Turbo. The example alone does not prove either Flash support or an authenticated HTTP /models contract; those need separate evidence.
Suggested mapping or implementation notes
- Connect the built-in
zhipu-bigmodel-responsesID to the existing domestic Coding Plan quota reader while retaining exact destination checks, domestic authentication, and redirect refusal. - Add a regression case proving this preset is quota-probe eligible and dispatches to the domestic monitor endpoint. Preserve unsupported/custom destination safeguards.
- Validate Flash on the domestic Responses endpoint and add verified model metadata. Static Flash support can be completed independently of a general live-discovery implementation; there is no need to treat the official local JSON example as an HTTP discovery contract.
Related issues and PRs
- [Feature]: complete GLM Coding Plan quota support for open.bigmodel.cn #1168 / fix(quota): correct GLM Coding Plan auth and exclude MCP allowance from model quota #2976: existing domestic Coding Plan quota support, already completed; this report concerns the new Responses provider ID omitted from reader selection.
- Z.ai: quota probe returns nothing when baseUrl is the Anthropic-compatible coding endpoint (https://api.z.ai/api/anthropic) #4154 / fix(zai): recognize coding quota endpoints without crossing regions #4174: international
api.z.aiquota eligibility for Anthropic/Responses paths. Related but different from this domestic provider-name omission. - feat(providers): support BigModel's OpenAI Responses endpoint with live discovery #3641 / feat(providers): add documented BigModel Responses preset #3828: introduction of the domestic Responses preset; Flash metadata and live discovery explicitly deferred. Please use this issue to track the remaining user-visible parity gaps.
Checks
- I searched existing provider and compatibility issues and related PR discussions.
- Credentials and personal configuration details are omitted.
- The expected behaviour is based on the official Coding Plan integration guide and a concrete client requirement.
Activity
Ingwannu commentedon Sep 10, 2026
Confirmed the quota-selector omission on current dev 6d3ad12: the registry already defines zhipu-bigmodel-responses at the domestic /api/v1 endpoint, and the existing quota transport already accepts that base and uses the domestic monitor/raw Authorization convention. The reader's provider-name list does not include the new preset.
I will send a small independent quota-only PR adding that preset to the existing guarded reader, with domestic destination/auth assertions and a no-dispatch custom-destination control. This does not depend on #4174's international URL mapping.
Flash remains a separate open part of this issue: the registry explicitly records a deliberately static Responses roster. I will not copy Chat model capabilities into the Responses preset without endpoint-specific evidence or turn the local catalog example into a claimed HTTP discovery contract. No live credentials or inference probes are needed for the quota-selector fix.
Ingwannu commentedon Sep 10, 2026
Quota-only Draft PR #4210 is open and @lidge-jun has been requested for review. It adds the Responses preset ID to the existing guarded domestic reader, preserves the raw-key/redirect behavior, and adds mocked positive and negative coverage. Local privacy and diff checks passed; product CI and docs build are still pending. Flash support is deliberately unchanged, so this issue remains open for that separately evidenced part.
lidge-jun commentedon Sep 10, 2026
리뷰 · 우선순위 66 / 80
BigModel Coding Plan 의 Responses 프리셋(
zhipu-bigmodel-responses)으로 바꾸면, 같은 구독인데도 할당량(quota) 표시가 사라지고 카탈로그에서glm-5.3-flash선택이 빠집니다. Chat Completions 쪽 Coding Plan 경험과 wire 형식만 다른데, 사용자에게는 “같은 플랜인데 기능이 반으로 줄었다”로 보입니다.현재
devHEAD6101140ff(2.51.0) 에서src/providers/registry.ts는zhipu-bigmodel-responsesid 가 :2644 근처이고 models 는["glm-5.3","glm-5-turbo"]만(:2651). 같은 파일의zhipu-bigmodel-coding(:2621) 은 여전히glm-5.3-flash등을 포함합니다(:2628).src/providers/quota.tskeyQuotaReaderForProvider(~:2889) 는zai/glm/glm-cn/zhipu-bigmodel-coding만 인정하고(:2909)zhipu-bigmodel-responses는 빠져 있습니다.isCanonicalZaiBaseUrl은https://open.bigmodel.cn/api/v1을 이미 받으므로, quota reader 이름 목록만 맞추면 probe 쪽은 L2 로 닫을 수 있습니다. Feasibility 도 provider-registry-parity 테스트로 Responses 두 모델 로스터를 잠가 두었고, Responses 에 flash 를 넣으려면 endpoint 증명과 parity 테스트 갱신이 필요합니다.라인 - src/providers/quota.ts keyQuotaReaderForProvider ~:2909 — zai/glm/glm-cn/zhipu-bigmodel-coding 만; zhipu-bigmodel-responses 누락
라인 - src/providers/registry.ts zhipu-bigmodel-responses models ~:2651 — ["glm-5.3","glm-5-turbo"] 만; flash 없음
경로/심볼 - src/providers/registry.ts zhipu-bigmodel-coding ~:2628 — glm-5.3-flash 포함(Chat 쪽과 비대칭)
경로/심볼 - provider-registry-parity 테스트 — Responses 두 모델 로스터를 잠금; flash 추가 시 테스트·endpoint 증명 필요
메인테이너의 판단이 필요한 지점
너의 추천
L2:
keyQuotaReaderForProvider허용 목록에zhipu-bigmodel-responses를 추가하세요(canonical Zai base URL 조건 유지).glm-5.3-flash는 Responses endpoint 에서 동작 증명이 나온 뒤에만 registry 에 넣고, 넣으면 parity 테스트를 함께 갱신하세요. 증명 없으면 flash 는 이 round 에서 열지 마세요.이 댓글은 grok-bot이 작성했습니다
fix(bigmodel): admit the Responses Coding Plan preset to the quota re…
docs(devlog): record the #4201 quota admission and the Flash decision
docs(devlog): record the upstream evidence behind the Flash deferral
provider: seed GLM-5.3-Flash on the BigModel Responses preset
provider: seed GLM-5.3-Flash on the BigModel Responses preset
lidge-jun commentedon Sep 11, 2026
Landed via #4244 at a8f7619.
Quota half was already on
dev; this merge seedsglm-5.3-flashonzhipu-bigmodel-responses(native text+image, 1M window) and updates the providers docs. Closing becauseCloses #4201does not auto-fire when the merge target isdevrather than the default branch.fix(bigmodel): admit the Responses Coding Plan preset to the quota re…
docs(devlog): record the lidge-jun#4201 quota admission and the Flash…
docs(devlog): record the upstream evidence behind the Flash deferral
provider: seed GLM-5.3-Flash on the BigModel Responses preset