نظرة عامة
تكشف LemonData عن عدة صيغ API حتى تتمكن أدوات الترميز الشائعة وSDKs والأطر من التكامل مع أقل قدر ممكن من كود الربط.
تُعد هذه الصفحة أضيق نطاقًا من مصفوفة تسويقية عن قصد:
Supported تعني أننا نوثق مسار إعداد ملموس وتكشف LemonData عن شكل البروتوكول الذي يتوقعه ذلك المسار.
Strong native path تعني أن المستودع يحتوي أيضًا على أداة موائمة مباشرة أو دليل على شكل الطلب لتلك عائلة البروتوكول.
Best-effort تعني أن التكامل يمكن أن يعمل، لكن العميل upstream لا يعامل سير عمل بوابة مخصصة هذا كعقد مستقر.
لا تتم معالجة الحقول غير المدعومة بشكل موحد. على مسارات التوافق، يتم تجاهل بعض الحقول أو تطبيعها. على /v1/responses، يمكن أن تُرجع الحقول غير المدعومة أخطاء 400 أو 503 صريحة عندما لا تستطيع تلك المسار ضمان السلوك المطلوب.
صيغ API المدعومة
Endpoint Format Use Case /v1/chat/completionsOpenAI Chat Universal compatibility /v1/responsesOpenAI Responses Stateful conversations /v1/messagesAnthropic Messages Claude native features /v1beta/models/:model:generateContentGoogle Gemini Gemini native features
التوافق مع IDE و CLI
مسارات الأدوات الموثقة
Tool Support Level Format Notes Cursor Supported with limits OpenAI-compatible Works for BYOK standard chat/editor flows, not as a replacement for Cursor-managed features like Tab Completion Claude Code CLI Strong native path Anthropic Native /v1/messages route with adapter coverage for thinking and tool_choice Codex CLI Supported with model/path limits OpenAI Responses Treat /v1/responses as an advanced path for Codex-specific workflows; some Responses-only fields are not guaranteed across every model and routed path Gemini CLI Best-effort / experimental Gemini Custom LemonData base URL flow is not a stable upstream contract OpenCode Supported OpenAI-compatible Use an OpenAI-compatible provider by default; move to a Responses-based provider only when you explicitly need it
غالبًا ما تعمل محررات ووكلاء متوافقة مع OpenAI بنفس نمط عنوان base URL، لكن هذا المستودع لا يحتفظ حاليًا بتغطية توافق انحدار خاصة بالأدوات لـ Windsurf وAider وContinue.dev وCline/Roo Code وGitHub Copilot والعملاء المماثلين.
أمثلة التكوين
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
يستخدم Cursor داخليًا تنسيق أدوات على طريقة Anthropic. تدعم LemonData كلا التنسيقين:
OpenAI format: { type: "function", function: { name, parameters } }
Anthropic format: { 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_BASE_URL = "https://api.lemondata.cc/v1"
aider --model gpt-5.4
توافق SDK
مسارات SDKs والأطر الموثقة
SDK / Framework Language Support Level Notes OpenAI SDK Python/JS/Go Supported core path Chat Completions and Embeddings are the default documented path; some Responses-only fields are not guaranteed across every model and routed path Anthropic SDK Python/JS Strong native path Native Messages route with direct evidence for tools, thinking, and prompt caching Vercel AI SDK TypeScript Recommended integration pattern Prefer @ai-sdk/openai-compatible; use @ai-sdk/openai only when you explicitly want Responses-native behavior LangChain Python/JS Supported standard surfaces ChatOpenAI and OpenAIEmbeddings are the intended scope; vendor-native extras are out of scopeLlamaIndex Python Supported via OpenAILike Use OpenAILike, not the built-in OpenAI classes, for third-party gateways such as LemonData Dify - Supported with scope limits OpenAI provider and chat-completions-oriented flows are the intended path; not a fit for Codex-specific Responses or WebSocket behavior
معلمات Chat Completions
المعلمات الأساسية
Parameter Type Description modelstring Model identifier (required) messagesarray Conversation messages (required) max_tokensinteger Maximum output tokens temperaturenumber Sampling temperature (0-2) top_pnumber Nucleus sampling (0-1) streamboolean Enable streaming
استدعاء الأدوات
{
"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
}
Format Example Description String "auto", "none", "required"Simple selection OpenAI Object { "type": "function", "function": { "name": "fn" } }Force specific function Anthropic Object { "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Anthropic native format
المعلمات المتقدمة
Parameter Type Description stream_optionsobject { include_usage: true } for token countsreasoning_effortstring "low", "medium", "high" for reasoning-enabled GPT-5 modelsservice_tierstring "auto" or "default"seedinteger Deterministic outputs logprobsboolean Return log probabilities top_logprobsinteger Number of top logprobs (0-20) logit_biasobject Token bias map (-100 to 100) frequency_penaltynumber Repetition penalty (-2 to 2) presence_penaltynumber Topic penalty (-2 to 2) stopstring/array Stop sequences ninteger Number of completions (1-128) userstring User identifier for tracking
ميزات OpenAI المتقدمة
Parameter Type Description modalitiesarray ["text", "audio"] for multimodalaudioobject Audio output config (voice, format) predictionobject Predicted output for faster completion metadataobject Key-value pairs for tracking storeboolean Store for later retrieval
خيارات خاصة بالمزود
{
"anthropic_options" : {
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
},
"prompt_caching" : true
},
"google_options" : {
"safety_settings" : [ ... ],
"google_search" : true ,
"code_execution" : true
}
}
معلمات Anthropic Messages
المعلمات الأساسية
Parameter Type Description modelstring Model identifier messagesarray Conversation messages max_tokensinteger Maximum output (up to 128000) systemstring/array System prompt streamboolean Enable streaming
استدعاء الأدوات
{
"tools" : [
{
"name" : "get_weather" ,
"description" : "Get weather" ,
"input_schema" : {
"type" : "object" ,
"properties" : {
"location" : { "type" : "string" }
}
}
}
],
"tool_choice" : {
"type" : "auto" ,
"disable_parallel_tool_use" : false
}
}
التفكير الموسع
{
"model" : "claude-opus-4-6" ,
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
}
}
معلمات Responses API
المعلمات الأساسية
Parameter Type Description modelstring Model identifier inputstring/array Input content instructionsstring System instructions max_output_tokensinteger Maximum output tokens previous_response_idstring Continue conversation
المعلمات المتقدمة
Parameter Type Description truncation_strategystring "auto" or "disabled"includearray ["reasoning.encrypted_content"]reasoning_effortstring For reasoning models service_tierstring Priority tier
تنسيق الأدوات
يدعم كلا من تنسيقات أدوات OpenAI وAnthropic:
// OpenAI format
{ "type" : "function" , "name" : "fn" , "parameters" : { ... } }
// Anthropic format (Cursor compatibility)
{ "name" : "fn" , "input_schema" : { ... } }
معلمات Gemini API
المعلمات الأساسية
Parameter Type Description contentsarray Conversation content systemInstructionobject System prompt generationConfigobject Generation settings
الأدوات
{
"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"
}
]
}
معلمات إضافية
Parameter Type Description cachedContentstring Cached content reference responseMimeTypestring "text/plain" or "application/json"responseSchemaobject JSON schema for structured output
البث (Streaming)
تدعم جميع نقاط النهاية بث Server-Sent Events (SSE):
# Chat Completions
curl https://api.lemondata.cc/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-d '{"model": "gpt-4o", "messages": [...], "stream": true}'
# With usage tracking
-d '{"...", "stream_options": {"include_usage": true}}'
التعامل مع الأخطاء
تعيد LemonData استجابات أخطاء متوافقة مع OpenAI:
{
"error" : {
"message" : "Invalid API key" ,
"type" : "invalid_api_key" ,
"code" : "invalid_api_key"
}
}
انظر Error Handling Guide للتفاصيل.
أفضل الممارسات
Use passthrough for unknown parameters
تستخدم كل المخططات .passthrough() - يتم تمرير المعلمات غير المعروفة إلى المزودين upstream.
Prefer stream_options for accurate billing
فعّل stream_options.include_usage للحصول على عدّ دقيق للـ tokens في الاستجابات المتدفقة.
Use appropriate tool_choice format
طابق التنسيق المتوقع في SDK الخاص بك. تقبل LemonData كلا من تنسيقات OpenAI وAnthropic.