أدوات البرمجة

Visual Studio Code

استخدم نماذج TokenLab في دردشة VS Code عبر موفّر Custom Endpoint

نظرة عامة

يمكن لدردشة VS Code استخدام موفّر النماذج الخاص بك عبر Custom Endpoint (استخدام مفتاحك الخاص، BYOK). تربط هذه الصفحة TokenLab عبر واجهة Chat Completions API.

  • الدردشة لا تتطلب اشتراك Copilot. تعمل نماذج BYOK في VS Code دون تسجيل الدخول إلى GitHub.
  • بعض الميزات لا تزال تتطلب GitHub: الاقتراحات المضمّنة (إكمال الشيفرة) والبحث الدلالي والميزات الأخرى المعتمدة على embeddings لا تقدّمها نماذج BYOK. مفتاح TokenLab لا يحل محلها.
  • مستخدمو Copilot Business أو Enterprise: يجب أن يسمح المسؤول بسياسة Bring Your Own Language Model Key in VS Code.

المتطلبات

  • إصدار مستقر حديث من VS Code يتضمن عرض Chat.
  • مفتاح TokenLab API (احصل على مفتاح).
  • نموذج يقبل openai_chat_completions ويدعم استدعاء الأدوات (وضع الوكيل يعرض فقط النماذج التي تدعم استدعاء الأدوات). تعرض صفحة النموذج الأمرين معًا: Chat Completions API تحت تنسيق API وTool use تحت الإمكانات، مثل GPT-5.6 Luna.

إضافة TokenLab

  1. افتح منتقي النماذج في عرض Chat واختر Manage Language Models (رمز الترس)، أو شغّل Chat: Manage Language Models من لوحة الأوامر.
  2. اختر Add Models → Custom Endpoint.
  3. يطلب VS Code إدخال Group Name. يكون الحقل معبأً مسبقًا بالقيمة Custom Endpoint؛ استبدلها بـ TokenLab واضغط Enter.
  4. يُفتح مباشرةً حقل إدخال بعنوان TokenLab: API Key. الصق مفتاح TokenLab API واضغط Enter. يحفظ VS Code المفتاح في مخزن الأسرار (secret storage).
  5. إذا سأل VS Code عن نوع API، فاختر Chat Completions. قد لا تظهر هذه الخطوة؛ ويحدده apiType في الملف أدناه في كل الأحوال.
  6. يفتح VS Code الملف chatLanguageModels.json. أبقِ سطر apiKey الذي أنشأه المعالج (يشير إلى المفتاح في مخزن الأسرار)، وتأكد من أن قيمة apiType هي chat-completions، وعدّل قائمة models لتطابق الإدخال أدناه، ثم احفظ.

أدخل المفتاح في المعالج. المفتاح المكتوب مباشرةً في chatLanguageModels.json لا يُرسَل، وتفشل الطلبات لغياب ترويسة Authorization.

[
  {
    "name": "TokenLab",
    "vendor": "customendpoint",
    "apiKey": "${input:tokenlabApiKey}",
    "apiType": "chat-completions",
    "models": [
      {
        "id": "gpt-5.6-luna",
        "name": "GPT-5.6 Luna (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      },
      {
        "id": "claude-sonnet-5-5",
        "name": "Claude Sonnet 5.5 (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      },
      {
        "id": "gpt-6.1-sol",
        "name": "GPT-6.1 Sol (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": false,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      }
    ]
  }
]

ملاحظات:

  • اكتب عنوان URL كاملًا بما في ذلك /chat/completions. يستخدم VS Code عنوان URL ذا مسار API صريح كما هو.
  • مع نوع Chat Completions، يرسل VS Code الترويسة Authorization: Bearer <key>، وهذا ما تتوقعه TokenLab. لا تُضِف ترويسة مصادقة مخصصة.
  • id هو معرّف نموذج TokenLab المُرسَل في الطلب. استخدم أي نموذج متاح تتضمن accepted_request_formats الخاصة به القيمة openai_chat_completions.
  • حدود الرموز (tokens): يعامل VS Code مجموع maxInputTokens + maxOutputTokens على أنه نافذة السياق. القيم أعلاه متحفظة؛ يمكنك رفعها حتى حدود النموذج المذكورة في صفحته. السياقات الأكبر تكلّف أكثر لكل طلب.
  • إذا لم يظهر النموذج في المنتقي، فأعد تشغيل VS Code.

من دون تسجيل الدخول إلى GitHub

توليد العناوين ورسائل الإيداع (commit) ومهام "utility" الأخرى في الخلفية تستخدم نماذج GitHub Copilot افتراضيًا. من دون تسجيل الدخول إلى Copilot، اضبط chat.utilityModel وchat.utilitySmallModel على نموذج من TokenLab (نموذج سريع ومنخفض التكلفة للنموذج الصغير)، أو اضبط chat.byokUtilityModelDefault على Main Agent Model. تُحتسب هذه الاستدعاءات الخلفية من رصيدك في TokenLab.

التحقق

  1. اختر GPT-5.6 Luna (TokenLab) في منتقي النماذج (نموذج منخفض التكلفة ومناسب لأول اختبار).
  2. اطرح أولًا سؤالًا للقراءة فقط، مثل: Summarize the top-level structure of this workspace. Do not modify files.
  3. راجع الرد وسجل الطلب المطابق له قبل تشغيل مهام الوكيل.

حفظ الإعدادات أو عرض قائمة النماذج لا يثبت أن المفتاح يعمل. كل موجّه (prompt) يستهلك من رصيد TokenLab.

استكشاف الأخطاء وإصلاحها

  • ترويسة Authorization مفقودة: المفتاح ليس في مخزن الأسرار. شغّل Add Models → Custom Endpoint مرة أخرى وأدخل المفتاح في المعالج بدلًا من ملف JSON.
  • 401 / فشل المصادقة: أعد إدخال المفتاح من Manage Language Models → رمز الترس بجوار مجموعة TokenLab.
  • النموذج غير موجود: يجب أن يكون id معرّف نموذج TokenLab مطابقًا تمامًا؛ راجع صفحة النموذج.
  • النموذج غير ظاهر في وضع الوكيل: اضبط "toolCalling": true واستخدم نموذجًا يدعم استخدام الأدوات.
  • أنواع Messages أو Responses API: لا تغطيها هذه الصفحة بعد؛ استخدم Chat Completions.

لا تودِع مفاتيح API في chatLanguageModels.json أو في أي ملف يتتبعه Git؛ أبقِ ${input:...} في الملف.

في هذه الصفحة