diff --git a/src/routes/standardGeminiRoutes.js b/src/routes/standardGeminiRoutes.js index 72ca4f11..46914b93 100644 --- a/src/routes/standardGeminiRoutes.js +++ b/src/routes/standardGeminiRoutes.js @@ -144,7 +144,8 @@ async function handleStandardGenerateContent(req, res) { const sessionHash = sessionHelper.generateSessionHash(req.body) // 标准 Gemini API 请求体直接包含 contents 等字段 - const { contents, generationConfig, safetySettings, systemInstruction } = req.body + const { contents, generationConfig, safetySettings, systemInstruction, tools, toolConfig } = + req.body // 验证必需参数 if (!contents || !Array.isArray(contents) || contents.length === 0) { @@ -172,6 +173,15 @@ async function handleStandardGenerateContent(req, res) { actualRequestData.safetySettings = safetySettings } + // 添加工具配置(tools 和 toolConfig) + if (tools) { + actualRequestData.tools = tools + } + + if (toolConfig) { + actualRequestData.toolConfig = toolConfig + } + // 如果有 system instruction,修正格式并添加到请求体 // Gemini CLI 的内部 API 需要 role: "user" 字段 if (systemInstruction) { @@ -335,7 +345,8 @@ async function handleStandardStreamGenerateContent(req, res) { const sessionHash = sessionHelper.generateSessionHash(req.body) // 标准 Gemini API 请求体直接包含 contents 等字段 - const { contents, generationConfig, safetySettings, systemInstruction } = req.body + const { contents, generationConfig, safetySettings, systemInstruction, tools, toolConfig } = + req.body // 验证必需参数 if (!contents || !Array.isArray(contents) || contents.length === 0) { @@ -363,6 +374,15 @@ async function handleStandardStreamGenerateContent(req, res) { actualRequestData.safetySettings = safetySettings } + // 添加工具配置(tools 和 toolConfig) + if (tools) { + actualRequestData.tools = tools + } + + if (toolConfig) { + actualRequestData.toolConfig = toolConfig + } + // 如果有 system instruction,修正格式并添加到请求体 // Gemini CLI 的内部 API 需要 role: "user" 字段 if (systemInstruction) {