主题
Cursor 文本端点兼容
Cursor 账号可通过 PokeAPI 承接 Anthropic Messages、OpenAI Chat Completions、OpenAI Responses(含 /responses/compact)以及受限的 Gemini 原生文本请求。
启用 Gemini 原生文本入口
Gemini 原生兼容默认关闭。管理员需要在配置中显式启用:
yaml
cursor:
gemini_native_enabled: true
max_tool_definitions: 128
max_tool_schema_bytes: 262144关闭时,Cursor 账号不会进入 Gemini 原生请求的候选池;既有 Messages、Chat Completions、Responses 行为不受影响。
支持的 Gemini action:
POST /v1beta/models/{model}:generateContentPOST /v1beta/models/{model}:streamGenerateContent?alt=sse
模型和流式语义取自 URL,不读取请求体里的 model 或 stream 字段。
支持的 Gemini 请求子集
仅支持文本会话:
systemInstruction.parts[].textcontents[].role为user或model- 每个
parts[]仅包含text candidateCount未设置或等于1
示例:
bash
curl "$BASE_URL/v1beta/models/gemini-2.5-flash:generateContent" \
-H "x-goog-api-key: $SUB2API_KEY" \
-H "Content-Type: application/json" \
-d '{
"systemInstruction": {"parts": [{"text": "Answer concisely."}]},
"contents": [{"role": "user", "parts": [{"text": "Explain SSE."}]}]
}'流式调用返回 Gemini 形状的 data: {...} SSE:
bash
curl -N "$BASE_URL/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: $SUB2API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Say hello"}]}]}'Agent RPC 会逐文本增量返回;Cloud Agent 路径会在上游完成后输出缓冲式兼容 SSE,不保证逐 token 实时性。
明确不支持的能力
Cursor 不会伪装支持以下 Gemini 能力:tools/function calling、Google Search/grounding、代码执行、缓存内容、图片/音频/视频/文件、JSON Schema 或 JSON MIME 输出、多候选、countTokens、模型目录、Files、batch、Live/Bidi、Embeddings、Imagen/Veo。
这些请求返回协议正确的请求级错误,不切换账号,也不把账号标记为失败。
OpenAI 图片输入、Responses 与工具限制
Cursor 接受 OpenAI Chat Completions 用户 content 中的 image_url Base64 Data URL,以及 OpenAI Responses 顶层或用户 message content 中的 input_image Base64 Data URL。图片与 Anthropic 路径共享 PNG/JPEG/GIF/WebP、最多 20 张、单张 5 MiB、累计 6 MiB 的限制。网关不会下载远程 URL,也不读取 Responses file_id;非法 Data URL/Base64、MIME 不匹配和错误角色图片会返回请求级 400,超限返回 413。
OpenAI Responses 会保留可安全扁平化的 developer 消息、已完成 reasoning、item reference、标准 function history 与已完成 hosted-tool 历史。namespace 中的 function 子工具会在发往 Cursor 前可逆摊平,并在流式和非流式 function_call 中恢复原始 namespace/名称;撞名或没有可移植 function 子项的 hosted tool 会明确拒绝。严格 JSON Schema 输出、音频、文件和其他无法可靠映射的内容仍不支持。
为避免大型工具 schema 被 Cursor 本地兼容层拒绝,网关会在上游调用前检查 max_tool_definitions 和 max_tool_schema_bytes。默认允许 128 个工具,以兼容当前 Claude Code 工具集;schema 总量仍限制为 256KiB。超过预算时返回 HTTP 413。Ops 会记录协议、请求大小、图片数量/字节数、工具数量、schema 字节数和脱敏摘要;不会存储提示词、工具参数、Base64 或凭据。
更多认证、转发模式和计费边界见项目中的 docs/CURSOR_INTEGRATION.md。
