fix(provider): treat deepseek-flash as native multimodal - #4500
Conversation
Intersect explicit custom reasoning lists with pinned native metadata whenever the model id itself is capability-backed, including YYLJ/gpt-6-astra. Desktop validates the model id, so none/minimal must not remain on those catalog rows. Full native identity still requires the canonical openai Codex-forward destination. Stored configuration and request-time clamps are unchanged. Refs #3775. Original report by @leonclab. #3804 already bounded the canonical forward case; this is the remaining catalog projection.
Remove deepseek-flash from first-party DeepSeek noVisionModels and declare native text and image input in modelInputModalities. Compatibility aliases and Zen gateway routes stay on the sidecar path. This uses the existing registry seed contract (modelInputModalities and noVisionModels). Eligibility already consults user-config modelCapabilities first; the registry does not seed that overlay. Refs #4436. Co-authored-by: jaychou0642-create <283093853+jaychou0642-create@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|
✅ Deterministic PR hygiene checks passed. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
리뷰 · 우선순위 54 / 80이 PR은 이미 문제의 핵심은 간단합니다. 1차 DeepSeek API의 이번 수정은 저장소가 이미 쓰는 레지스트리 시드 계약을 그대로 따릅니다. 같은 레인 I3 바닥 링크로 문서·structure 여러 파일이 같은 DeepSeek flash 문장을 반복하는 것은 이 저장소의 structure:check owner 매핑 규칙과 맞습니다. 라인 2177 - 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
Summary
fix/deepseek-flash-native-vision-4436, source head1b44edeb1c) onto currentdevvia the lane I3 bottom link. Cherry-pick applied cleanly.deepseek-flashalready accepts native images on Chat Completions and Responses, but the registry still listed it innoVisionModels, so the vision sidecar described attachments first. Config cannot remove that seed because router enrichment unions it.modelCapabilities(exact model-id axes; eligibility andconfiguredInputModalitiesconsult that overlay first).ProviderRegistryEntryhas nomodelCapabilitiesfield and derive does not copy one. Every other native-vision registry seed already usesmodelInputModalitiesplusnoVisionModels. The carry keeps that registry seed contract: dropdeepseek-flashfromnoVisionModelsand declaremodelInputModalities["deepseek-flash"] = ["text", "image"]. Unprobed aliases (deepseek-chat,deepseek-reasoner,deepseek-v4-flash) and Zen routes stay on the sidecar path. Saved configs that still listdeepseek-flashinnoVisionModelskeep the sidecar until that entry is removed, which matches the source tests.Co-authored-by: jaychou0642-create <283093853+jaychou0642-create@users.noreply.github.com>is on the landing commit. Please keep that trailer in the squash message.[skip ci]. Hosted CI on this tip is the suite proof for the whole lane (this carry plus [Bug] Codex 0.153.4 rejects 'minimal'/'none' on gpt-6-astra mapped custom models #3775 below).Verification
bun test tests/providers/provider-registry-parity.test.ts tests/vision/vision-sidecar-e2e.test.ts� 67 pass, including native-image preservation on bothopenai-chatandopenai-responseswires with sidecarHits=0, gateway aliases still sidecar-backed, and legacy savednoVisionModelsstill opting flash into the sidecar.bun run typecheck,bun run structure:check,bun run privacy:scan� pass.Checklist