环境
- SmartSub 版本:3.7
- 操作系统:Windows
复现步骤
- 添加 Gemini provider:
- apiUrl:
https://generativelanguage.googleapis.com/v1beta/openai/
- modelName:
gemini-3.6-flash-lite(或 gemini-3.6-flash)
- enableThinking(启用思考):关闭
- 填好 API key
- 对 1 条字幕(如
Hello)执行翻译/测试。
实际行为
- 报错:
OpenAI translation failed: 400 status code (no body)
- 界面上提示"已自动尝试所有结构化输出模式仍然失败"
- 抓包确认请求体携带:
{
"model": "gemini-3.6-flash-lite",
"messages": [...],
"temperature": 0.3,
"stream": false,
"reasoning_effort": "none"
}
- Gemini 实际返回(错误体为数组,openai-node 因而显示为 "no body"):
[{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}]
- json_schema / json_object / 标准 三种模式全部失败,因为该字段位于公共请求体中,与结构化输出模式无关。
预期行为
- 关闭思考时不应发送
reasoning_effort 字段;或
- provider 拒绝该参数时,按既有的"thinking 参数被拒则去掉后重试"逻辑兜底(当前未触发)。
分析
enableThinking: false 时请求体被注入了 reasoning_effort: "none"。
- Gemini 的 OpenAI 兼容端点不接受该取值(实测模型兼容矩阵见下),返回 400。
- 现有的"thinking 参数被拒检测"未识别 Gemini 的错误格式(错误体为
[{...}] 数组、message 为 Request contains an invalid argument.),因此没有去掉参数重试,最终所有模式都失败。
模型兼容矩阵(实测,2026-08)
| 模型 |
reasoning_effort=none |
low |
| gemini-3.5-flash |
200 ✅ |
200 ✅ |
| gemini-3.5-flash-lite |
400 ❌ |
200 ✅ |
| gemini-3.6-flash |
400 ❌ |
200 ✅ |
临时方法
- 使用
gemini-3.5-flash(接受 none);
- 或在本地 OpenAI 兼容中继中剥离
reasoning_effort: "none" 后转发。
建议修复
enableThinking=false 时不注入 reasoning_effort;
- 扩展"thinking 参数被拒"的识别逻辑,兼容
[{ "error": { "code": 400, "message": "Request contains an invalid argument.", ... } }] 这类错误格式,触发去掉参数后的重试。
环境
复现步骤
https://generativelanguage.googleapis.com/v1beta/openai/gemini-3.6-flash-lite(或gemini-3.6-flash)Hello)执行翻译/测试。实际行为
OpenAI translation failed: 400 status code (no body){ "model": "gemini-3.6-flash-lite", "messages": [...], "temperature": 0.3, "stream": false, "reasoning_effort": "none" }[{ "error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT" } }]预期行为
reasoning_effort字段;或分析
enableThinking: false时请求体被注入了reasoning_effort: "none"。[{...}]数组、message 为Request contains an invalid argument.),因此没有去掉参数重试,最终所有模式都失败。模型兼容矩阵(实测,2026-08)
临时方法
gemini-3.5-flash(接受none);reasoning_effort: "none"后转发。建议修复
enableThinking=false时不注入reasoning_effort;[{ "error": { "code": 400, "message": "Request contains an invalid argument.", ... } }]这类错误格式,触发去掉参数后的重试。