mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 00:53:33 +00:00
添加tools和toolConfig传递支持
This commit is contained in:
@@ -144,7 +144,8 @@ async function handleStandardGenerateContent(req, res) {
|
|||||||
const sessionHash = sessionHelper.generateSessionHash(req.body)
|
const sessionHash = sessionHelper.generateSessionHash(req.body)
|
||||||
|
|
||||||
// 标准 Gemini API 请求体直接包含 contents 等字段
|
// 标准 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) {
|
if (!contents || !Array.isArray(contents) || contents.length === 0) {
|
||||||
@@ -172,6 +173,15 @@ async function handleStandardGenerateContent(req, res) {
|
|||||||
actualRequestData.safetySettings = safetySettings
|
actualRequestData.safetySettings = safetySettings
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 添加工具配置(tools 和 toolConfig)
|
||||||
|
if (tools) {
|
||||||
|
actualRequestData.tools = tools
|
||||||
|
}
|
||||||
|
|
||||||
|
if (toolConfig) {
|
||||||
|
actualRequestData.toolConfig = toolConfig
|
||||||
|
}
|
||||||
|
|
||||||
// 如果有 system instruction,修正格式并添加到请求体
|
// 如果有 system instruction,修正格式并添加到请求体
|
||||||
// Gemini CLI 的内部 API 需要 role: "user" 字段
|
// Gemini CLI 的内部 API 需要 role: "user" 字段
|
||||||
if (systemInstruction) {
|
if (systemInstruction) {
|
||||||
@@ -335,7 +345,8 @@ async function handleStandardStreamGenerateContent(req, res) {
|
|||||||
const sessionHash = sessionHelper.generateSessionHash(req.body)
|
const sessionHash = sessionHelper.generateSessionHash(req.body)
|
||||||
|
|
||||||
// 标准 Gemini API 请求体直接包含 contents 等字段
|
// 标准 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) {
|
if (!contents || !Array.isArray(contents) || contents.length === 0) {
|
||||||
@@ -363,6 +374,15 @@ async function handleStandardStreamGenerateContent(req, res) {
|
|||||||
actualRequestData.safetySettings = safetySettings
|
actualRequestData.safetySettings = safetySettings
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 添加工具配置(tools 和 toolConfig)
|
||||||
|
if (tools) {
|
||||||
|
actualRequestData.tools = tools
|
||||||
|
}
|
||||||
|
|
||||||
|
if (toolConfig) {
|
||||||
|
actualRequestData.toolConfig = toolConfig
|
||||||
|
}
|
||||||
|
|
||||||
// 如果有 system instruction,修正格式并添加到请求体
|
// 如果有 system instruction,修正格式并添加到请求体
|
||||||
// Gemini CLI 的内部 API 需要 role: "user" 字段
|
// Gemini CLI 的内部 API 需要 role: "user" 字段
|
||||||
if (systemInstruction) {
|
if (systemInstruction) {
|
||||||
|
|||||||
Reference in New Issue
Block a user