الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

نظرة عامة

تكشف TokenLab عن عدة صيغ API حتى تتمكن أدوات الترميز الشائعة وSDKs والأطر من التكامل مع أقل قدر ممكن من كود الربط. تُعد هذه الصفحة أضيق نطاقًا من مصفوفة تسويقية عن قصد:
  • Supported تعني أننا نوثق مسار إعداد ملموس وتكشف TokenLab عن شكل البروتوكول الذي يتوقعه ذلك المسار.
  • مسار أصلي قوي تعني أن المستودع يحتوي أيضًا على أداة موائمة مباشرة أو دليل على شكل الطلب لتلك عائلة البروتوكول.
  • أفضل جهد تعني أن التكامل يمكن أن يعمل، لكن العميل upstream لا يعامل سير عمل بوابة مخصصة هذا كعقد مستقر.
لا تتم معالجة الحقول غير المدعومة بشكل موحد. على مسارات التوافق، يتم تجاهل بعض الحقول أو تطبيعها. على /v1/responses، يمكن أن تُرجع الحقول غير المدعومة أخطاء 400 أو 503 صريحة عندما لا تستطيع تلك المسار ضمان السلوك المطلوب.

صيغ API المدعومة

نقطة النهايةالصيغةحالة الاستخدام
/v1/chat/completionsOpenAI Chatتوافق شامل
/v1/responsesOpenAI Responsesمحادثات ذات حالة
/v1/messagesAnthropic Messagesميزات Claude الأصلية
/v1beta/models/:model:generateContentGoogle Geminiالميزات الأصلية لـ Gemini

التوافق مع IDE و CLI

مسارات الأدوات الموثقة

الأداةمستوى الدعمالتنسيقالملاحظات
Cursorمدعوم مع قيودمتوافق مع OpenAIيعمل لتدفّقات الدردشة/المحرر القياسية عبر BYOK، وليس بديلاً عن الميزات التي يديرها Cursor مثل إكمال التبويب
Claude Code CLIمسار أصلي قويAnthropicمسار /v1/messages الأصلي مع تغطية من المهايئ لـ التفكير وtool_choice
Codex CLIمدعوم مع قيود على النموذج/المسارOpenAI Responsesاعتبر /v1/responses مسارًا متقدمًا لعمليات سير العمل الخاصة بـ Codex؛ بعض الحقول الخاصة بـ Responses فقط غير مضمونة عبر كل نموذج ومسار مُوجَّه
Gemini CLIأفضل جهد / تجريبيGeminiتدفق عنوان URL الأساسي المخصص لـ TokenLab ليس عقدًا مستقرًا مع المصدر الأصلي
OpenCodeمدعوممتوافق مع OpenAIاستخدم مزوّدًا متوافقًا مع OpenAI افتراضيًا؛ وانتقل إلى مزوّد قائم على Responses فقط عندما تحتاج إليه صراحةً
غالبًا ما تعمل محررات ووكلاء متوافقة مع OpenAI بنفس نمط عنوان base URL، لكن هذا المستودع لا يحتفظ حاليًا بتغطية توافق انحدار خاصة بالأدوات لـ Windsurf وAider وContinue.dev وCline/Roo Code وGitHub Copilot والعملاء المماثلين.

أمثلة التكوين

Base URL: https://api.tokenlab.sh/v1
API Key: sk-your-tokenlab-key
يستخدم Cursor داخليًا تنسيق أدوات على طريقة Anthropic. تدعم TokenLab كلا التنسيقين:
  • تنسيق OpenAI: { type: "function", function: { name, parameters } }
  • Anthropic format: { name, input_schema } (بدون حقل type)

توافق SDK

مسارات SDKs والأطر الموثقة

SDK / FrameworkLanguageمستوى الدعمملاحظات
OpenAI SDKPython/JS/Goالمسار الأساسي المدعوممسار توافق لـ /v1 Chat Completions وEmbeddings؛ استخدم المسارات الأصلية الخاصة بالمزوّد للسلوك الخاص بالمزوّد، ولا تفترض أن الحقول الخاصة بـ Responses فقط تعمل عبر كل نموذج
Anthropic SDKPython/JSمسار أصلي قويمسار Messages الأصلي مع دعم مباشر للأدوات، والتفكير، والتخزين المؤقت للمحفزات
Vercel AI SDKTypeScriptنمط التكامل الموصى بهفضّل @ai-sdk/openai-compatible؛ واستخدم @ai-sdk/openai فقط عندما تريد صراحةً سلوكًا أصليًا لـ Responses
LangChainPython/JSالواجهات القياسية المدعومةChatOpenAI وOpenAIEmbeddings هما النطاق المقصود؛ والإضافات الأصلية للمورّد خارجة عن النطاق
LlamaIndexPythonمدعوم عبر OpenAILikeاستخدم OpenAILike، وليس فئات OpenAI المدمجة، لبوابات الطرف الثالث مثل TokenLab
Dify-مدعوم مع قيود على النطاقمزوّد OpenAI وتدفقات موجهة نحو chat-completions هي المسار المقصود؛ وليست مناسبة لسلوك Responses الخاص بـ Codex أو WebSocket

معلمات Chat Completions

المعلمات الأساسية

المعلمةالنوعالوصف
modelstringمعرّف النموذج (مطلوب)
messagesarrayرسائل المحادثة (مطلوبة)
max_tokensintegerالحد الأقصى لرموز الإخراج
temperaturenumberدرجة حرارة العيّنة (0-2)
top_pnumberأخذ عينات النواة (0-1)
streambooleanتمكين البث المتدفق

استدعاء الأدوات

{
  "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
}

خيارات Tool Choice

التنسيقالمثالالوصف
سلسلة نصية"auto", "none", "required"تحديد بسيط
OpenAI Object{ "type": "function", "function": { "name": "fn" } }فرض دالة محددة
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }الصيغة الأصلية لـ Anthropic

المعلمات المتقدمة

المعلمةالنوعالوصف
stream_optionsobject{ include_usage: true } لحساب عدد الرموز
reasoning_effortstring"low", "medium", "high" لنماذج GPT-5 الممكّنة للاستدلال
service_tierstring"auto" أو "default"
seedintegerمخرجات حتمية
logprobsbooleanإرجاع الاحتمالات اللوغاريتمية
top_logprobsintegerعدد أعلى logprobs (0-20)
logit_biasobjectخريطة انحياز الرموز (-100 to 100)
frequency_penaltyرقمعقوبة التكرار (-2 إلى 2)
presence_penaltynumberعقوبة الموضوع (-2 to 2)
stopstring/arrayتسلسلات الإيقاف
nintegerعدد الإكمالات (1-128)
userstringمعرّف المستخدم للتتبّع

ميزات OpenAI المتقدمة

المعلمةالنوعالوصف
modalitiesمصفوفة["text", "audio"] للاستخدام متعدد الوسائط
audioobjectإعدادات إخراج الصوت (الصوت، التنسيق)
predictionobjectالمخرجات المتوقعة لإكمال أسرع
metadataobjectأزواج مفتاح-قيمة للتتبّع
storebooleanالتخزين للاسترجاع لاحقًا

خيارات خاصة بالمزود

{
  "anthropic_options": {
    "thinking": {
      "type": "enabled",
      "budget_tokens": 10000
    },
    "prompt_caching": true
  },
  "google_options": {
    "safety_settings": [...],
    "google_search": true,
    "code_execution": true
  }
}

معلمات Anthropic Messages

المعلمات الأساسية

المعلمةالنوعالوصف
modelstringمعرّف النموذج
messagesarrayرسائل المحادثة
max_tokensintegerالحد الأقصى للمخرجات (حتى 128000)
systemstring/arrayمطالبة النظام
streambooleanتمكين البث المتدفق

استدعاء الأدوات

{
  "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

المعلمات الأساسية

المعلمةالنوعالوصف
modelstringمعرّف النموذج
inputstring/arrayمحتوى الإدخال
instructionsstringتعليمات النظام
max_output_tokensintegerالحد الأقصى لرموز الإخراج
previous_response_idنصمتابعة المحادثة

المعلمات المتقدمة

المعلمةالنوعالوصف
truncation_strategyنص"auto" أو "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringلنماذج الاستدلال
service_tierstringفئة الأولوية

تنسيق الأدوات

يدعم كلا من تنسيقات أدوات OpenAI وAnthropic:
// OpenAI format
{ "type": "function", "name": "fn", "parameters": {...} }

// Anthropic format (Cursor compatibility)
{ "name": "fn", "input_schema": {...} }

معلمات Gemini API

المعلمات الأساسية

المعلمةالنوعالوصف
contentsarrayمحتوى المحادثة
systemInstructionobjectمطالبة النظام
generationConfigobjectإعدادات التوليد

الأدوات

{
  "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"
    }
  ]
}

معلمات إضافية

المعلمةالنوعالوصف
cachedContentstringمرجع المحتوى المخزّن مؤقتًا
responseMimeTypeنص"text/plain" أو "application/json"
responseSchemaobjectمخطط JSON للإخراج المنظّم

البث (Streaming)

تدعم جميع نقاط النهاية بث Server-Sent Events (SSE):
# Chat Completions
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

# With usage tracking
-d '{"...", "stream_options": {"include_usage": true}}'

التعامل مع الأخطاء

تعيد TokenLab استجابات أخطاء متوافقة مع OpenAI:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
انظر دليل معالجة الأخطاء للتفاصيل.

أفضل الممارسات

تستخدم كل المخططات .passthrough() - يتم تمرير المعلمات غير المعروفة إلى المزودين upstream.
فعّل stream_options.include_usage للحصول على عدّ دقيق للـ tokens في الاستجابات المتدفقة.
طابق التنسيق المتوقع في SDK الخاص بك. تقبل TokenLab كلا من تنسيقات OpenAI وAnthropic.