Skip to content

fix(gemini): drop image models from the chat model list - #646

Merged
acedatacloud-dev merged 1 commit into
mainfrom
fix/gemini-drop-chat-image-models
Aug 4, 2026
Merged

fix(gemini): drop image models from the chat model list#646
acedatacloud-dev merged 1 commit into
mainfrom
fix/gemini-drop-chat-image-models

Conversation

@acedatacloud-dev

Copy link
Copy Markdown
Member

背景

配套 PlatformBackend#1286

/gemini/chat/completions 上的三个图像模型没有任何上游能服务——账号池里全部 Gemini image capability 都是 native: true,只认 Gemini 原生 body(contents)。CLI 发的是 OpenAI 形状(messages),上游返回 contents is required,候选耗尽后变 503。

改动

文件 改动
core/output.py GEMINI_CHAT_MODELS 12 → 9
README.md 模型表同步,加一句指向原生 API
tests/test_commands.py 改断言 + 加守卫测试

chat.py 用的是 click.Choice(GEMINI_CHAT_MODELS),所以摘掉后 CLI 会在本地直接拒绝,不再发一个注定失败的请求出去。

测试

test_chat_with_new_models 原本断言三个 image 模型返回 0,现在必然失败——把它翻转成 test_chat_rejects_image_models,断言被拒绝,把这个契约锁住。

32 passed

ruff check 通过。ruff format --check 报的 4 个文件(chat.py / client.py 等)是本 PR 未触碰的既存漂移,归 fix/ruff-format-drift

用户影响

图像生成改走原生 /v1beta/models/{model}:generateContent(健康度 92–99.7%)。CLI 目前不封装该端点——如需 CLI 侧支持可另开 issue。

🤖 Generated with Claude Code

The three `gemini-*-image` models are native-only upstream, so the chat
endpoint can never serve them — requests fail with `contents is required`
or a 503. `click.Choice` now rejects them up front instead of letting the
call go out and fail server-side.

Image generation stays available through the native
`/v1beta/models/{model}:generateContent` API.

Flips `test_chat_with_new_models` accordingly and adds a guard test so the
rejection is locked in.
@acedatacloud-dev

Copy link
Copy Markdown
Member Author

Lint 失败与本 PR 无关

Lint (gemini) 红了,但三个 Python 版本的 Test 全绿。失败的是 ruff format --check,报了 4 个文件:

文件 我是否改过
gemini_cli/commands/chat.py 140
gemini_cli/core/client.py 27
tests/conftest.py 39
tests/test_commands.py 152 ❌(我的改动在 100–122)

本 PR 的 diff 只有 git diff HEAD~1 显示的 @@ -101,3 +100,0 @@@@ -112,0 +110,12 @@ 两段,都不在报错位置。

这是仓库既存的格式漂移,已由 #614 专门处理。

我不在本 PR 里跑 ruff format —— 那会把 4 个无关文件的重排塞进来,和 #614 直接冲突,两边都要返工。

建议 #614 先合,本 PR 再 rebase,Lint 即可转绿。

@acedatacloud-dev
acedatacloud-dev merged commit 8ddebd5 into main Aug 4, 2026
5 of 6 checks passed
@acedatacloud-dev
acedatacloud-dev deleted the fix/gemini-drop-chat-image-models branch August 4, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants