From 3a563b8dd2cb7fa63cedb34117b9923cbabf7865 Mon Sep 17 00:00:00 2001 From: shaw Date: Tue, 12 Aug 2025 15:50:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=20OpenAI=20Codex=20AP?= =?UTF-8?q?I=20=E7=9A=84=20gpt-5=20=E6=A8=A1=E5=9E=8B=20ID=20=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 自动将 gpt-5-xxx 格式的模型 ID 标准化为 gpt-5 - 解决 Codex API 不接受具体版本模型 ID 的问题 - 添加日志记录模型标准化过程 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- src/routes/openaiRoutes.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/routes/openaiRoutes.js b/src/routes/openaiRoutes.js index 9b2fba15..cf5a08c6 100644 --- a/src/routes/openaiRoutes.js +++ b/src/routes/openaiRoutes.js @@ -67,7 +67,15 @@ router.post('/responses', authenticateApiKey, async (req, res) => { null // 从请求体中提取模型和流式标志 - const requestedModel = req.body?.model || null + let requestedModel = req.body?.model || null + + // 如果模型是 gpt-5 开头且后面还有内容(如 gpt-5-2025-08-07),则覆盖为 gpt-5 + if (requestedModel && requestedModel.startsWith('gpt-5-') && requestedModel !== 'gpt-5') { + logger.info(`📝 Model ${requestedModel} detected, normalizing to gpt-5 for Codex API`) + requestedModel = 'gpt-5' + req.body.model = 'gpt-5' // 同时更新请求体中的模型 + } + const isStream = req.body?.stream !== false // 默认为流式(兼容现有行为) // 判断是否为 Codex CLI 的请求