LemonData API 旨在与所有主流 AI 开发工具实现即插即用式兼容。本指南记录了支持的参数和经过验证的集成。
所有参数均经过验证并透传至上游提供商。针对特定模型不支持的参数将被静默忽略,以确保最大程度的兼容性。
支持的 API 格式
| 端点 | 格式 | 使用场景 |
|---|
/v1/chat/completions | OpenAI Chat | 通用兼容性 |
/v1/responses | OpenAI Responses | 有状态对话 |
/v1/messages | Anthropic Messages | Claude 原生功能 |
/v1beta/models/:model:generateContent | Google Gemini | Gemini 原生功能 |
IDE 与 CLI 兼容性
已验证工具
| 工具 | 状态 | 格式 | 备注 |
|---|
| Cursor | ✅ 完全支持 | OpenAI | 支持 Anthropic 工具格式 |
| Claude Code CLI | ✅ 完全支持 | Anthropic | 支持 Extended thinking, tool_choice |
| Windsurf | ✅ 完全支持 | OpenAI | 标准 OpenAI 格式 |
| Aider | ✅ 完全支持 | OpenAI | 支持所有模型 |
| Continue.dev | ✅ 完全支持 | OpenAI/Anthropic | 双格式支持 |
| OpenCode | ✅ 完全支持 | OpenAI | 多提供商支持 |
| Cline/Roo Code | ✅ 完全支持 | OpenAI | 通过 OpenRouter 格式 |
| GitHub Copilot | ✅ 完全支持 | OpenAI | 标准格式 |
| Codex CLI | ✅ 完全支持 | OpenAI | OpenAI Responses API |
| Gemini CLI | ✅ 完全支持 | Gemini | 原生 Gemini 格式 |
配置示例
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor 内部使用 Anthropic 风格的工具格式。LemonData 同时支持以下两种格式:
- OpenAI 格式:
{ type: "function", function: { name, parameters } }
- Anthropic 格式:
{ name, input_schema }(无 type 字段)
export ANTHROPIC_BASE_URL="https://api.lemondata.cc"
export ANTHROPIC_API_KEY="sk-your-lemondata-key"
export OPENAI_API_KEY="sk-your-lemondata-key"
export LOCAL_ENDPOINT="https://api.lemondata.cc/v1"
export OPENAI_API_KEY="sk-your-lemondata-key"
export OPENAI_API_BASE="https://api.lemondata.cc/v1"
aider --model gpt-4o
SDK 兼容性
已验证 SDK
| SDK | 语言 | 状态 | 备注 |
|---|
| OpenAI SDK | Python/JS/Go | ✅ 完全支持 | 支持所有参数 |
| Anthropic SDK | Python/JS | ✅ 完全支持 | 支持 Extended thinking, tools |
| Vercel AI SDK | TypeScript | ✅ 完全支持 | 支持 streamText, generateObject |
| LangChain | Python/JS | ✅ 完全支持 | 支持 ChatOpenAI, bind_tools |
| LlamaIndex | Python | ✅ 完全支持 | 兼容 OpenAI |
| Dify | - | ✅ 完全支持 | OpenAI 格式 |
Chat Completions 参数
核心参数
| 参数 | 类型 | 描述 |
|---|
model | string | 模型标识符(必填) |
messages | array | 对话消息(必填) |
max_tokens | integer | 最大输出 token 数 |
temperature | number | 采样温度 (0-2) |
top_p | number | 核采样 (0-1) |
stream | boolean | 启用流式传输 |
工具调用
{
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": { "type": "string" }
}
},
"strict": true
}
}
],
"tool_choice": "auto",
"parallel_tool_calls": true
}
工具选择选项
| 格式 | 示例 | 描述 |
|---|
| String | "auto", "none", "required" | 简单选择 |
| OpenAI Object | { "type": "function", "function": { "name": "fn" } } | 强制指定函数 |
| Anthropic Object | { "type": "tool", "name": "fn", "disable_parallel_tool_use": true } | Anthropic 原生格式 |
高级参数
| 参数 | 类型 | 描述 |
|---|
stream_options | object | 用于获取 token 计数的 { include_usage: true } |
reasoning_effort | string | 适用于 o1/o3 模型的 "low", "medium", "high" |
service_tier | string | "auto" 或 "default" |
seed | integer | 确定性输出 |
logprobs | boolean | 返回对数概率 |
top_logprobs | integer | 前几个最高对数概率的数量 (0-20) |
logit_bias | object | Token 偏置映射 (-100 到 100) |
frequency_penalty | number | 重复惩罚 (-2 到 2) |
presence_penalty | number | 话题惩罚 (-2 到 2) |
stop | string/array | 停止序列 |
n | integer | 生成结果数量 (1-128) |
user | string | 用于追踪的用户标识符 |
OpenAI 高级功能
| 参数 | 类型 | 描述 |
|---|
modalities | array | 用于多模态的 ["text", "audio"] |
audio | object | 音频输出配置(音色、格式) |
prediction | object | 用于加速生成的预测输出 |
metadata | object | 用于追踪的键值对 |
store | boolean | 存储以便后续检索 |
特定提供商选项
{
"anthropic_options": {
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"prompt_caching": true
},
"google_options": {
"safety_settings": [...],
"google_search": true,
"code_execution": true
}
}
Anthropic Messages 参数
核心参数
| 参数 | 类型 | 描述 |
|---|
model | string | 模型标识符 |
messages | array | 对话消息 |
max_tokens | integer | 最大输出(最高 128000) |
system | string/array | 系统提示词 |
stream | boolean | 启用流式传输 |
工具调用
{
"tools": [
{
"name": "get_weather",
"description": "Get weather",
"input_schema": {
"type": "object",
"properties": {
"location": { "type": "string" }
}
}
}
],
"tool_choice": {
"type": "auto",
"disable_parallel_tool_use": false
}
}
思维链扩展 (Extended Thinking)
{
"model": "claude-opus-4-5",
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}
}
Responses API 参数
核心参数
| 参数 | 类型 | 描述 |
|---|
model | string | 模型标识符 |
input | string/array | 输入内容 |
instructions | string | 系统指令 |
max_output_tokens | integer | 最大输出 token 数 |
previous_response_id | string | 继续对话 |
高级参数
| 参数 | 类型 | 描述 |
|---|
truncation_strategy | string | "auto" 或 "disabled" |
include | array | ["reasoning.encrypted_content"] |
reasoning_effort | string | 适用于推理模型 |
service_tier | string | 优先级层级 |
工具格式
支持 OpenAI 和 Anthropic 两种工具格式:
// OpenAI 格式
{ "type": "function", "name": "fn", "parameters": {...} }
// Anthropic 格式 (Cursor 兼容)
{ "name": "fn", "input_schema": {...} }
Gemini API 参数
核心参数
| 参数 | 类型 | 描述 |
|---|
contents | array | 对话内容 |
systemInstruction | object | 系统提示词 |
generationConfig | object | 生成配置 |
{
"tools": [{
"functionDeclarations": [{
"name": "search",
"description": "Search the web",
"parameters": {...}
}],
"codeExecution": {},
"googleSearch": {}
}],
"toolConfig": {
"functionCallingConfig": {
"mode": "AUTO"
}
}
}
安全设置
{
"safetySettings": [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
]
}
附加参数
| 参数 | 类型 | 描述 |
|---|
cachedContent | string | 缓存内容引用 |
responseMimeType | string | "text/plain" 或 "application/json" |
responseSchema | object | 用于结构化输出的 JSON schema |
流式传输
所有端点均支持服务器发送事件 (SSE) 流式传输:
# Chat Completions
curl https://api.lemondata.cc/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-d '{"model": "gpt-4o", "messages": [...], "stream": true}'
# 带用量追踪
-d '{"...", "stream_options": {"include_usage": true}}'
错误处理
LemonData 返回兼容 OpenAI 的错误响应:
{
"error": {
"message": "Invalid API key",
"type": "invalid_api_key",
"code": "invalid_api_key"
}
}
详见 错误处理指南。
最佳实践
所有 schema 均使用 .passthrough() —— 未知参数将被转发至上游提供商。
优先使用 stream_options 以实现精确计费
启用 stream_options.include_usage 以在流式响应中获取准确的 token 计数。
请匹配您 SDK 预期的格式。LemonData 同时接受 OpenAI 和 Anthropic 格式。