Skip to content

[Provider compatibility] BigModel Responses Coding Plan: missing quota probe and GLM-5.3-Flash catalog support #4201

Closed

Description

@bluesmilery

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 accepts https://open.bigmodel.cn/api/v1 (around line 348).
  • fetchZaiQuota() already selects the domestic monitor endpoint and its raw Authorization API-key convention.
  • However, keyQuotaReaderForProvider() (around line 2894) restricts this reader to provider names zai, glm, glm-cn, and zhipu-bigmodel-coding. It omits zhipu-bigmodel-responses.
  • Consequently, providerApiKeyQuotaMode() returns unsupported for the new preset, and fetchProviderApiKeyQuotas() 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-coding includes glm-5.3-flash (around line 2628).
  • New zhipu-bigmodel-responses seeds only glm-5.3 and glm-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-flash if 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

  1. On OpenCodex 2.49.0, configure the built-in Zhipu AI — BigModel Coding Plan (Responses) provider using a domestic Coding Plan API key.
  2. Inspect its Usage/quota capability: the provider is classified as unsupported by the quota reader selector.
  3. Inspect the built-in model selection: glm-5.3 and glm-5-turbo are seeded, but glm-5.3-flash is absent.
  4. Compare the existing zhipu-bigmodel-coding preset, 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-responses ID 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

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

  1. added
    account-poolOAuth, credentials, Codex pool, quota, failover, plans
    catalogModel catalog, slugs, visibility, routed entries
    providerProvider adapters, OpenAI-compat presets, upstream API quirks
    on Sep 10, 2026
  2. Ingwannu commented on Sep 10, 2026

    @Ingwannu
    Owner

    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.

  3. Ingwannu commented on Sep 10, 2026

    @Ingwannu
    Owner

    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.

  4. lidge-jun commented on Sep 10, 2026

    @lidge-jun
    Owner

    리뷰 · 우선순위 66 / 80

    BigModel Coding Plan 의 Responses 프리셋(zhipu-bigmodel-responses)으로 바꾸면, 같은 구독인데도 할당량(quota) 표시가 사라지고 카탈로그에서 glm-5.3-flash 선택이 빠집니다. Chat Completions 쪽 Coding Plan 경험과 wire 형식만 다른데, 사용자에게는 “같은 플랜인데 기능이 반으로 줄었다”로 보입니다.

    현재 dev HEAD 6101140ff(2.51.0) 에서 src/providers/registry.ts 는 zhipu-bigmodel-responses id 가 :2644 근처이고 models 는 ["glm-5.3","glm-5-turbo"] 만(:2651). 같은 파일의 zhipu-bigmodel-coding(:2621) 은 여전히 glm-5.3-flash 등을 포함합니다(:2628). src/providers/quota.ts keyQuotaReaderForProvider(~: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 로 quota 이름만 먼저 넣을지(권장), flash 는 별도 endpoint 검증 PR 로 분리할지
    • Responses 공식 Codex 예시 카탈로그에 flash 가 없으면 registry 에 넣지 않고 문서/이슈로만 남길지
    • parity 테스트가 깨지지 않게 roster 변경을 한 PR 에 묶을지

    너의 추천
    L2: keyQuotaReaderForProvider 허용 목록에 zhipu-bigmodel-responses 를 추가하세요(canonical Zai base URL 조건 유지). glm-5.3-flash 는 Responses endpoint 에서 동작 증명이 나온 뒤에만 registry 에 넣고, 넣으면 parity 테스트를 함께 갱신하세요. 증명 없으면 flash 는 이 round 에서 열지 마세요.

    이 댓글은 grok-bot이 작성했습니다

  5. lidge-jun commented on Sep 11, 2026

    @lidge-jun
    Owner

    Landed via #4244 at a8f7619.

    Quota half was already on dev; this merge seeds glm-5.3-flash on zhipu-bigmodel-responses (native text+image, 1M window) and updates the providers docs. Closing because Closes #4201 does not auto-fire when the merge target is dev rather than the default branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    account-poolOAuth, credentials, Codex pool, quota, failover, planscatalogModel catalog, slugs, visibility, routed entriesproviderProvider adapters, OpenAI-compat presets, upstream API quirksprovider-compatibilityProvider compatibility reports

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions