Skip to content

feat(providers): add documented BigModel Responses preset - #3828

Merged
lidge-jun merged 5 commits into
devfrom
codex/axis2-bigmodel-stack-11fe
Sep 6, 2026
Merged

feat(providers): add documented BigModel Responses preset#3828
lidge-jun merged 5 commits into
devfrom
codex/axis2-bigmodel-stack-11fe

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

Add a separate BigModel Coding Plan Responses preset using the endpoint and two-model static catalog documented in the official Codex guide. Preserve custom destinations, model context/effort metadata and Responses reasoning replay. This carries the verified subset of #3641; HTTP model discovery and Flash metadata remain deferred. Skip the undocumented login probe and omit unsupported raw effort for explicitly empty Responses ladders.

Source: #3641 at b675d83. Original contributor: @jamespan. Implementation commits retain the Co-authored-by trailer.

Manual delivery chain: this foundation targets dev; Raycast #3829 follows as a child. No GitHub native stack registration. The features are independent; this is the owner-requested review/delivery order for a combined final CI.

Verification

  • Local suites, typecheck and builds: NOT RUN by explicit maintainer instruction.
  • git diff --check: passed.
  • Independent source/security review: PASS after correcting login validation and raw effort serialization. Final combined-head CI at 8c1de1a: pending; this draft does not claim readiness.
  • Lower-layer CI is deferred per maintainer instruction; cancelled/skipped checks are not passing evidence.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Co-authored-by: jamespan panjiabang@gmail.com

t and others added 4 commits September 7, 2026 07:38
Carry architecture context for #3641 and #3733. Live BigModel discovery remains deferred; local suites are not run.

Co-authored-by: jamespan <panjiabang@gmail.com>

Co-authored-by: Chanhee Lee <hiddenest12@gmail.com>
Narrowed carry of jamespan’s PR #3641, source origin/axis2-source-3641 at b675d83. Reconstruct the separate Responses preset using only the two models in the official Codex example: https://docs.bigmodel.cn/cn/coding-plan/tool/codex.md (checked 2026-09-07).

Keep liveModels false and preserve custom destinations and Responses reasoning replay. Map exact context windows, effort ladders, max defaults, summary support, and text modalities. Do not carry model-discovery.ts or envelopeKey/idKey; Flash Responses metadata and live discovery remain unverified.

Add consumer metadata and custom-transport collision regressions; document the static roster and existing Codex export policy (compatibility ultra on GLM-5.3, omitted default field on Turbo’s empty ladder). Validation: git diff --check passed. Tests, typecheck, lint, and builds intentionally not run per worker scope; parent final CI owns execution.

Co-authored-by: jamespan <panjiabang@gmail.com>
Skip undocumented HTTP model-list validation through the existing unknown key-validation policy. Add a zero-fetch regression.

For explicitly empty model/provider effort ladders, omit only the Responses effort field and retain reasoning summaries. Preserve omitted requests, nonempty model override precedence, unknown/non-rankable ladders, and forward behavior. Keep the documented Turbo max metadata without adding a selectable tier or injecting a wire default. Existing __omit__ mappings and noReasoningModels policy are unchanged.

Add outbound serialization cases for omitted, max and ultra effort, summary preservation, input immutability, and unchanged consumer paths. Regenerate model metadata; the generated delta is only the BigModel Responses to zai alias.

Validation: bun run generate:model-metadata and git diff --check passed. No tests, typecheck, lint or builds run; commit hooks skipped to honor that restriction. Main final CI and separate independent review remain required.

Co-authored-by: jamespan <panjiabang@gmail.com>
First CI run 34064726690 reports text,image rather than text for both BigModel models at provider-registry-parity.test.ts:471; the Turbo effort array remains empty. Source tracing confirms applyProviderConfigHints uses isModelVisionSidecarConsumer, also used by the runtime vision planner, to expose image attachment support for configured text-only models.

Keep the official text-only registry declarations and assert them independently before checking the bridge-enriched model and final catalog modalities. Preserve exact Turbo empty effort expectations and all generic modality behavior. Clarify that image handling requires the existing available, enabled vision sidecar rather than native BigModel image support.

Validation: supplied CI failure log and source contract reviewed; git diff --check passed. No local tests, typecheck, lint or builds run. Commit hooks skipped per execution restriction. Main final CI and independent review remain required.

Co-authored-by: jamespan <panjiabang@gmail.com>
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 54 / 80

이 PR은 Axis2 체인의 BigModel 기초 층이다. 베이스 dev, 헤드 codex/axis2-bigmodel-stack-11fe. 지금 dev HEAD(137d6a727)에는 이미 zhipu-bigmodel(Chat 종량)과 zhipu-bigmodel-coding(Coding Plan Chat) 레지스트리 행이 있다. 이 PR은 공식 Codex 가이드에 적힌 Responses 엔드포인트용 정적 프리셋 zhipu-bigmodel-responses를 하나 더 추가한다. 베이스 URL https://open.bigmodel.cn/api/v1, 어댑터 openai-responses, 모델은 문서 예시의 glm-5.3 / glm-5-turbo 두 개만, liveModels: false. HTTP /models 디스커버리와 Flash 메타데이터는 의도적으로 빼 두었다. 원본 #3641(jamespan)의 검증된 부분 집합 캐리다.

"no new providers" 비목표와 겹쳐 보이는 지점을 먼저 말한다. 레지스트리에 새 id가 생긴 것은 맞다. 다만 작성 의도는 그린필드 제공자가 아니라, 이미 있는 BigModel 계열의 Responses 문서 프리셋이다. apiKeyValidation: "unknown"으로 문서화되지 않은 로그인 /models 프로브를 건너뛰고, preserveCustomDestination: true로 동명 커스텀 제공자 경계를 지킨다. src/generated/model-metadata.ts 별칭만 zai 패밀리에 한 줄 추가했다. 가이드 문서에 Coding Plan over Responses 절과 표(컨텍스트, effort, summaries)를 넣었고, 번역 표에는 링크 행만 보탠 수준이다.

어댑터 쪽 핵심은 src/adapters/openai-responses.ts다. 모델의 modelReasoningEfforts가 명시적 빈 배열([])이면 "effort 제어 없음"으로 보고, 요청 body에서 reasoning.effort만 뺀다. 요약 등 다른 reasoning 필드는 남긴다. Turbo가 선택 사다리 없이 Upstream 기본값을 쓰게 하려는 문서와 맞다. glm-5.3는 기존 ZAI GLM-5.3 effort 상수를 재사용한다. 테스트가 레지스트리 패리티와 Responses passthrough에 이 빈 사다리 생략을 잠근다.

범위 밖으로 안 나간 점도 명확하다. Flash 미포함, live discovery 없음, Chat 엔드포인트(/api/coding/paas/v4)와 Responses(/api/v1) 분리 유지. Raycast(#3829)와 런타임 독립이고, 리뷰/전달 순서만 이 PR이 아래다. 로컬 스위트는 작성자 지침으로 미실행, 최종 결합 HEAD CI가 증거다.

라인 registry.ts zhipu-bigmodel-responses - 새 레지스트리 행이 "문서 프리셋"인지 "새 제공자 추가"인지 릴리즈 노트 문장을 고정해야 한다. 사용자 피커에 세 번째 BigModel 항목이 생기는 UX 비용이 있다.
경로 openai-responses.ts 빈 effort 사다리 - 이 분기는 BigModel Turbo뿐 아니라, 앞으로 빈 배열을 쓰는 모든 Responses 제공자에 적용된다. 의도된 일반화인지, 프리셋 전용 가드인지 한 줄 주석/테스트를 더 박아 두면 안전하다.
경로 model-metadata 별칭 - zhipu-bigmodel-responseszai는 가격/메타 공유 가정이다. Responses 전용 가격이 달라지면 별칭을 끊어야 한다.
경로 #3641 대비 - HTTP discovery·Flash를 뺀 것은 비목표와 맞다. 그 이상(추가 모델, 로그인 프로브 강제)이 들어오면 점수를 다시 깎아야 한다. 현재 diff는 문서 부분집합 안에 있어 보인다.

메인테이너의 판단이 필요한 지점

  • 레지스트리 새 id를 2.46.0 "documented preset"으로 받아들일지, 제공자 추가 모라토리엄에 걸려 문서-only/커스텀 예시로 남을지.
  • 빈 effort 사다리 생략을 어댑터 전역 규칙으로 확정할지.
  • #3829와 묶은 최종 CI 전에 이 층만 먼저 dev에 올릴지.

너의 추천
문서화된 Responses 프리셋 캐리로 merge 후보. 그린필드 제공자로 홍보하지 말고 릴리즈 노트에 "BigModel Coding Plan Responses static preset (#3641 subset)"이라고 적자. 빈 effort 전역 효과만 확인한 뒤 #3829 결합 CI와 함께 랜딩하면 된다. close-don't-rebase 대상 아님.

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

@github-actions github-actions Bot added the enhancement New feature or request label Sep 6, 2026
CI 34065098625 and 34065112182 exposed a numeric-effort fixture rejected by parseRequest before it reaches the adapter. Use schema-valid high effort to exercise provider-wide omission and input immutability; preserve strict ingress validation. No production change and no local suites.

Co-authored-by: jamespan <panjiabang@gmail.com>
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@lidge-jun

Copy link
Copy Markdown
Owner Author

Owner-directed admin merge exception: the maintainer explicitly requested merging this manual PR chain now despite the final CI runner queue.

Independent source/security reviews and the fixture correction review passed. Local test suites were not run by explicit maintainer instruction. Final combined-head CI runs 34066142241 and 34066144401 remain queued at 95edd0a; these are NOT reported as passing. Earlier failed attempts were repaired and remain historical failed/superseded evidence.

Merge #3828 then retarget #3829 to dev and merge it. Use merge commits to preserve original contributor credit; do not delete source branches. No GitHub native stack is registered. This is an explicit CI/review-requirement bypass for this landing, not a claim of successful final CI.

@lidge-jun
lidge-jun marked this pull request as ready for review September 6, 2026 23:41
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 6, 2026 23:41
@lidge-jun
lidge-jun merged commit ab2bbc6 into dev Sep 6, 2026
5 of 17 checks passed
@lidge-jun
lidge-jun deleted the codex/axis2-bigmodel-stack-11fe branch September 6, 2026 23:41
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 6, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-06T23:42:34.553187Z 22f39ff Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant