AR ▾
احصل على مفتاح API

واجهة برمجة تطبيقات LLM لـ VS Code: اربط محرر النصوص بمفتاحك الخاص

يمكنك توجيه VS Code إلى أي نقطة نهاية متوافقة مع OpenAI من خلال إعطاء الإضافة ثلاث قيم: عنوان URL الأساسي، ومفتاح API، ومعرف النموذج. توضح هذه الصفحة أين توضع هذه القيم وكيفية اختبارها أولاً.

تم التحديث

محرر أكواد مجرد متصل بكابل إلى مكعب خادم متوهج، يمثل اتصال واجهة برمجة تطبيقات LLM لـ VS Code

نقاط رئيسية

  • اختبر المفتاح باستخدام curl قبل لمس المحرر، لتعرف أي الجانبين به عطل.
  • تطلب الإضافات مثل Continue و Cline نفس القيم الثلاث: عنوان URL الأساسي، والمفتاح، ومعرف النموذج.
  • استخدم معرف النموذج uncensored وعنوان URL الأساسي https://api.codingllmapi.com/v1.
  • تقدم واجهة برمجة التطبيقات إكمالات الدردشة فقط، لذا قد لا تعمل الميزات التي تتطلب نقطة نهاية إكمال منفصلة.

ما تحتاجه قبل البدء

إعداد VS Code LLM API لا يحتوي على أي سحر. VS Code نفسه لا يتواصل مع نماذج اللغة. تقوم بذلك إضافة (extension)، وتحتاج هذه الإضافة إلى معرفة مكان إرسال الطلبات وكيفية تحديد هويتك. يمكن لأي إضافة تدعم مزودًا متوافقًا مع OpenAI استخدام هذه الخدمة.

اجمع هذه القيم الثلاث أولاً.

  • عنوان URL الأساسي: https://api.codingllmapi.com/v1
  • معرف النموذج: uncensored
  • مفتاح API: تم إنشاؤه في صفحة مفتاح API. بعد التسجيل، يمكنك الحصول على رصيد تجريبي بقيمة $0.50 بنقرة واحدة، صالح لمدة 7 أيام ولا يتطلب بطاقة.

يُضاف المفتاح إلى الطلب كـ Authorization: Bearer <key>. تضيف الامتدادات هذا الرأس لك بمجرد لصق المفتاح في إعداداتها.

الخطوة 1: اختبار المفتاح خارج المحرر

استكشاف الأخطاء داخل الامتداد أبطأ من استكشافها في طرفية الأوامر. افتح الطرفية في VS Code (Ctrl+` على Windows و Linux، Cmd+` على macOS)، واحفظ المفتاح في متغير بيئة وشغّل طلبين. الأول يعرض النماذج. الثاني يرسل طلب محادثة صغير.

export LLM_API_KEY="paste-your-key-here"

curl -s https://api.codingllmapi.com/v1/models \
  -H "Authorization: Bearer $LLM_API_KEY"

curl -s https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}],"max_tokens":10}'

إذا أرجعت المكالمة الثانية JSON مع رسالة، فإن المفتاح، وURL، ومعرف النموذج جميعها صحيحة. أي خطأ يحدث لاحقًا هو إعداد في الإضافة، وليس في حسابك. إذا حصلت على خطأ مصادقة هنا، تحقق من أنك نسخت المفتاح بالكامل وأن لا اقتباس أو مسافة زائدة قد جاءت معه.

الخطوة 2: تكوين امتداد

تتغير إعدادات الامتداد بين الإصدارات، لذا تعامل مع أسماء الحقول أدناه كدليل وتحقق من وثائق الامتداد الخاصة به إذا اختلفت التسمية. القيم الثلاث هي نفسها دائمًا.

Continue

Continue هو مساعد مفتوح المصدر لـ VS Code و JetBrains. يقرأ ملف تكوين من دليل المنزل الخاص بك. تستخدم الإصدارات الأحدث ملف YAML، وتستخدم الإصدارات الأقدم config.json. يحتوي إدخال النموذج على نفس الحقول في كلا التنسيقين. في تنسيق JSON يبدو هكذا:

{
  "models": [
    {
      "title": "Uncensored",
      "provider": "openai",
      "model": "uncensored",
      "apiBase": "https://api.codingllmapi.com/v1",
      "apiKey": "paste-your-key-here"
    }
  ]
}

المزود هو openai لأن تنسيق السلك هو تنسيق OpenAI. فقط apiBase يخبر Continue بالتواصل مع خادم مختلف. أعد تحميل النافذة بعد الحفظ واختر النموذج من القائمة المنسدلة في لوحة الدردشة.

Cline

Cline هي إضافة وكيل يمكنها قراءة الملفات، وتعديلها وتشغيل أوامر الطرفية بموافقتك. افتح إعداداتها واختر المزود المسمى OpenAI Compatible. املأ Base URL، وAPI Key، وModel ID. الصق https://api.codingllmapi.com/v1، ومفتاحك، وuncensored. احفظ، ابدأ مهمة واعتمد استخدام الأداة الأولى.

امتدادات أخرى

تتبع العديد من الأدوات النمط نفسه تحت أسماء مثل "نقطة النهاية المخصصة"، أو "متوافق مع OpenAI" أو "استخدم مفتاحك الخاص". ابحث عن حقل يقبل Base URL. إذا كانت الإضافة تقدم فقط قائمة ثابتة من المزودين بدون حقل URL، فلا يمكن توجيهها إلى هذا API.

ما يعمل وما قد لا يعمل

يُنفذ هذا API POST /v1/chat/completions و GET /v1/models. هذا يغطي لوحات الدردشة وأوامر التحرير وإجراءات شرح الكود وحلقات الوكلاء. لا يغطي كل ما قد يطلبه محرر.

ميزة المحررالنتيجة المتوقعة
الدردشة حول الملف المفتوحيعمل
تحديد الكود وطلب تعديلهيعمل
مهام الوكيل مع استدعاء الدواليعمل إذا كان الامتداد يستخدم حقل tools القياسي أو تنسيق الموجّه الخاص به
الإكمال التلقائي المضمّن (Tab)يعتمد على الامتداد. إذا كان يحتاج إلى نقطة نهاية منفصلة للإكمال أو الإكمال في المنتصف، فإن هذا الـ API لا يوفرها
تضمين قاعدة الكود وفهرستهاغير متاح هنا، حيث لا توجد نقطة نهاية للتضمين. استخدم مصدر تضمين آخر أو أوقف الفهرسة
إدخال أو توليد الصورغير متاح، الـ API للنصوص فقط

إذا فشلت الإضافة في ميزة في هذا الجدول، قم بإيقاف هذه الميزة فقط في إعداداتها بدلاً من افتراض أن مفتاحك خاطئ. لمحة عامة عن كيفية أداء هذا النموذج في عمل البرمجة، انظر إلى صفحة نموذج بدون رقابة لوكلاء البرمجة.

ما وراء الإضافات: سكريبتات تشغلها من محرر الكود

الامتداد ليس الطريقة الوحيدة لاستخدام مفتاح من VS Code. يحتفظ العديد من المطورين بسكريبت صغير في المشروع يرسل ملفاً إلى النموذج ويطبع الإجابة، ثم يشغله من الطرفية المدمجة أو يربطه بمهمة. هذا يمنحك تحكماً كاملاً في الموجّه ويتجنب المفاجآت من التعليمات المخفية في الامتداد.

إليك سكريبت Python قصير يراجع أي مسار ملف تمرره. يقرأ المفتاح من متغير البيئة، لذا لا يذهب أي شيء سري إلى مستودع الكود.

import os
import sys
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

path = sys.argv[1]
with open(path, encoding="utf-8") as f:
    source = f.read()

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "Review the code. List bugs first, then style issues. Be brief."},
        {"role": "user", "content": source},
    ],
    temperature=0.2,
)
print(resp.choices[0].message.content)

قم بتشغيله باستخدام python review.py src/app.py. الملفات الكبيرة تعمل بشكل جيد ضمن نافذة السياق التي تتسع لـ 100,000 رمز، لكن الموجّه الأصغر يستجيب بسرعة أكبر ويكلف أقل. إذا كنت تريد ظهور الإجابة أثناء كتابتها، مرر stream=True واطبع delta.content لكل جزء عند وصوله.

نفس الفكرة تعمل كمهمة في VS Code في .vscode/tasks.json: عرّف مهمة يكون أمرها هذا السكربت مع الملف الحالي كوسيط، وشغّله من لوحة الأوامر. إنها إعداد بسيط، والنتيجة هي أمر مراجعة تفهمه بالكامل.

إصلاح الأخطاء الشائعة

معظم المشاكل تنحصر في بضع أسباب. ابدأ من أعلى هذه القائمة.

  1. 401 أو "مفتاح API غير صالح". تم لصق المفتاح مع مسافة في النهاية، أو أنك استخدمت مفتاحًا مُعد لموقع مختلف. أنشئ مفتاحًا جديدًا والصقه مرة أخرى.
  2. 404 أو "النموذج غير موجود". معرف النموذج مكتوب بشكل خاطئ، أو أن Base URL يفتقد /v1 أو يحتوي عليه مرتين. المعرف الصحيح هو uncensored. شغّل استدعاء /v1/models لترى ما يبلّغه الخادم.
  3. 429 مع rate_limited. تجاوزت حد الطلبات في الدقيقة: 300 للمفتاح الكامل، 60 لمفتاح التجربة. الوكلاء الذين يكررون الحلقات بسرعة يصطدمون بهذا الحد. انتظر وأعد المحاولة، أو قلل عدد الخطوات التلقائية.
  4. 429 مع concurrency. طلبات كثيرة في آن واحد: 8 للمفتاح الكامل، 2 لمفتاح التجربة. بعض الإضافات تطلق عدة استدعاءات متزامنة لمهمة واحدة. الرد المتدفق يحتفظ بمكانه حتى ينتهي، لذا فإن البث العالق يمكن أن يحجب الاستدعاءات الجديدة.
  5. 429 مع رأس Retry-After: 5. حمل زائد مؤقت. يجب على الامتداد إعادة المحاولة بعد خمس ثوانٍ. إذا لم يفعل، أعد المحاولة يدوياً.
  6. تم رفض الطلب لأنه كبير جداً. حد حجم جسم الطلب (body) هو 8 MB، ونافذة السياق هي 100,000 رمز للموجه بالإضافة إلى الإجابة. الوكلاء الذين يرفقون ملفات كثيرة يمكن أن يتجاوزوا هذا الحد. قلل السياق أو امسح المحادثة.

عند طلب المساعدة من فريق الدعم، أدرج قيمة رأس الاستجابة X-Request-Id. يمكنك رؤيته باستخدام curl -i.

إبقاء التكلفة واضحة

وكلاء المحرر يرسلون الكثير من النص، لأن كل خطوة تحمل عادة الملفات وسجل العمليات حتى الآن. التسعير هو $0.15 لكل مليون رمز مدخل و$0.50 لكل مليون رمز مخرج، مما يبقي تكلفة الطلبات الفردية صغيرة، لكن الحلقات تتراكم.

مثال عملي: خطوة وكيل تحتوي على 30,000 رمز مدخل و1,000 رمز مخرج تكلف 30,000 × $0.15 / 1,000,000 = $0.0045 للإدخال و1,000 × $0.50 / 1,000,000 = $0.0005 للمخرج، أي $0.005 لكل خطوة. مهمة مكونة من 40 خطوة من هذا النوع تكلف $0.20. هذا تقدير تقريبي وليس وعدًا، لأن الخطوات الحقيقية تختلف في الحجم.

  • تحقق من X-Balance-USD في رؤوس الاستجابة لرؤية رصيدك بعد المكالمة.
  • ابدأ مهام جديدة في محادثات جديدة حتى لا يظل السجل القديم موجوداً إلى الأبد.
  • حدد حد الخطوة أو الطلب في الامتداد إن وُجد.

الرصيد مسبق الدفع، لذا يتوقف الإنفاق عند نفاد الرصيد، ولا تنتهي صلاحيته أبداً. عمليات الشحن تتراوح من $20 إلى $500 بمبالغ صحيحة، مع مكافأة بنسبة 5% من $50، و10% من $100، و15% من $200. يتم قبول البطاقات (Visa، Mastercard، Apple Pay، Google Pay) والعملات المشفرة (USDT على TRC20، USDC على Base). التفاصيل موجودة في صفحة التسعير، والوثائق تسرد كل معلمة مدعومة.

ملاحظة حول الخصوصية والاستخدام

الكود الذي ترسله يذهب إلى خوادم المزود، لذا لا تلصق أسراراً مثل مفاتيح الإنتاج أو كلمات المرور أو بيانات العملاء في الموجّهات. الموجّهات في هذه الخدمة لا تُستخدم للتدريب. النموذج مضبوط للإجابة بدون رفض المحتوى للاستخدام القانوني للبالغين، مما يعني أنه لن يتوقف لإلقاء محاضرة حول اختبار أمان أو نص لعبة ذو طابع داكن، لكنك تظل مسؤولاً عما تطلبه منه. المحتوى الجنسي الذي يتضمن قاصرين غير مسموح به أبداً.

أسئلة وأجوبة

هل يمكنني استخدام هذا API مع GitHub Copilot في VS Code؟

Copilot مرتبط بخدمته الخاصة، لذا لا يستبدل هذا المفتاح. استخدم امتداداً يقبل نقطة نهاية مخصصة، مثل Continue أو Cline.

أي معرف نموذج أدخل؟

أدخل uncensored. يمكنك تأكيد ذلك عن طريق استدعاء GET /v1/models بالمفتاح الخاص بك.

لماذا يقول المحرر أن الاتصال فشل؟

قم بتشغيل اختبار curl أولاً. إذا نجح curl، أعد التحقق من URL الأساسي في الامتداد، بما في ذلك /v1 في النهاية وعدم وجود مسافات إضافية.

هل يعمل الإكمال التلقائي المضمن؟

فقط إذا كان الامتداد يمكنه استخدام إكمالات الدردشة العادية لذلك. هذا API لا يحتوي على نقطة نهاية إكمال منفصلة، لذا تحقق من إعدادات الإكمال التلقائي في الامتداد.

هل هناك طريقة مجانية لاختباره؟

يمكن للمستخدمين الجدد الحصول على رصيد تجريبي بقيمة $0.50 في صفحة مفتاح API بعد تسجيل الدخول. لا يتطلب بطاقة، وينتهي بعد 7 أيام، ومحدود بواحد لكل شخص.

مفتاحك على بُعد نموذج تسجيل واحد

أنشئ حساباً، وانسخ المفتاح، ثم غيّر URL الأساسي. هذه هي الإعدادات الكاملة.

احصل على مفتاح API