fix(provider): 文本协议 - 将系统指令写入上游请求并避免重复发送

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ddCatandCursor committed 2026-09-09 09:46:13 +08:00
1 parent 117c653bc8
commit ed676046d6
5 files changed
+69 -3

No files matched your search

+4 -2
View File
@@ -112,7 +112,9 @@ add({
id: "openai-responses", providerId: "openai-response", name: "OpenAI Responses", vendor: "OpenAI", capability: "text",
baseUrl: "https://api.openai.com", auth: bearer, params: textParams,
create: jsonCreate("/responses", {
model: ref("request.model"), input: ref("request.messages"), instructions: omit(ref("request.instructions")),
model: ref("request.model"),
input: filter(ref("request.messages"), "message", ne(ref("message.role"), "system")),
instructions: omit(ref("request.instructions")),
temperature: omit(ref("request.providerOptions.openai-response.temperature")),
top_p: omit(ref("request.providerOptions.openai-response.top_p")),
max_output_tokens: omit(coalesce(ref("request.extra.max_output_tokens"), ref("request.providerOptions.openai-response.max_output_tokens"))),
@@ -156,7 +158,7 @@ add({
id: "google-gemini-generate-content", providerId: "gemini-generate-content", name: "Google Gemini generateContent", vendor: "Google", capability: "text",
baseUrl: "https://generativelanguage.googleapis.com", auth: { type: "google-api-key", field: "apiKey" }, params: textParams,
create: jsonCreate("/v1beta/models/{{model}}:generateContent", {
contents: map(ref("request.messages"), "message", {
contents: map(filter(ref("request.messages"), "message", ne(ref("message.role"), "system")), "message", {
role: conditional(eq(ref("message.role"), "assistant"), "model", "user"),
parts: [{ text: ref("message.content") }]
}),
Binary file not shown.