Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

GitHub Copilot

الوصول إلى نماذج GitHub Copilot Chat عبر Copilot API مع مصادقة OAuth بتدفق رمز الجهاز تلقائيًا وإدارة الرموز.

المتطلبات المسبقة

  • حساب GitHub مع اشتراك فعّال Copilot Individual أو Copilot Business أو Copilot Enterprise
  • اختياريًا، رمز وصول شخصي من GitHub (وإلا سيُستخدم تسجيل الدخول التفاعلي بتدفق الجهاز)

إعداد سريع

1. المصادقة

عند أول استخدام، سيطلب PRX المصادقة عبر device code flow الخاص بـ GitHub:

GitHub Copilot authentication is required.
Visit: https://github.com/login/device
Code: XXXX-XXXX
Waiting for authorization...

بدلًا من ذلك، يمكنك تمرير رمز GitHub مباشرة:

bash
export GITHUB_TOKEN="ghp_..."

2. الإعداد

toml
[default]
provider = "copilot"
model = "gpt-4o"

3. التحقق

bash
prx doctor models

النماذج المتاحة

يوفر GitHub Copilot الوصول إلى مجموعة منتقاة من النماذج. تعتمد النماذج المتاحة على مستوى اشتراك Copilot لديك:

النموذجالسياقالرؤيةاستخدام الأدواتملاحظات
gpt-4o128Kنعمنعمنموذج Copilot الافتراضي
gpt-4o-mini128Kنعمنعمأسرع وأوفر تكلفة
claude-sonnet-4200Kنعمنعممتاح في Copilot Enterprise
o3-mini128Kلانعمنموذج استدلال

قد يختلف توفر النماذج بحسب خطة GitHub Copilot لديك وعروض النماذج الحالية في GitHub.

مرجع الإعدادات

الحقلالنوعالافتراضيالوصف
api_keystringاختياريرمز وصول شخصي من GitHub ‏(ghp_... أو gho_...)
modelstringgpt-4oالنموذج الافتراضي للاستخدام

الميزات

مصادقة دون إعداد مسبق

ينفذ مزود Copilot نفس OAuth device-code flow المستخدم في إضافة Copilot داخل VS Code:

  1. طلب رمز الجهاز: يطلب PRX رمز جهاز من GitHub
  2. تفويض المستخدم: تزور github.com/login/device وتدخل الرمز
  3. تبادل الرمز: يتم استبدال رمز GitHub OAuth بمفتاح Copilot API قصير العمر
  4. تخزين مؤقت تلقائي: تُخزَّن الرموز في ~/.config/openprx/copilot/ بصلاحيات ملفات آمنة (0600)
  5. تحديث تلقائي: مفاتيح Copilot API المنتهية يتم إعادة تبادلها تلقائيًا دون إعادة المصادقة

تخزين آمن للرموز

تُخزّن الرموز بمعايير أمان صارمة:

  • المجلد: ~/.config/openprx/copilot/ بصلاحيات 0700
  • الملفات: access-token وapi-key.json بصلاحيات 0600
  • على الأنظمة غير Unix، يُستخدم إنشاء الملفات القياسي

نقطة نهاية API ديناميكية

استجابة مفتاح Copilot API تتضمن الحقل endpoints.api الذي يحدد نقطة نهاية API الفعلية. يحترم PRX ذلك، مع الرجوع إلى https://api.githubcopilot.com عندما لا تكون نقطة النهاية محددة.

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

تُرسل الأدوات بصيغة متوافقة مع OpenAI عبر Copilot Chat Completions API ‏(/chat/completions). يدعم المزوّد tool_choice: "auto" للاختيار التلقائي للأدوات.

ترويسات المحرر

تتضمن الطلبات ترويسات تعريف محرر Copilot القياسية:

  • Editor-Version: vscode/1.85.1
  • Editor-Plugin-Version: copilot/1.155.0
  • User-Agent: GithubCopilot/1.155.0

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

"Failed to get Copilot API key (401/403)"

قد يكون رمز GitHub OAuth منتهيًا أو اشتراك Copilot غير نشط:

  • تأكد أن حساب GitHub لديك يملك اشتراك Copilot فعّال
  • يقوم PRX تلقائيًا بمسح رمز الوصول المخزّن عند 401/403 وسيطلب تسجيل الدخول بتدفق الجهاز مجددًا

"Timed out waiting for GitHub authorization"

تدفق رمز الجهاز له مهلة 15 دقيقة. إذا انتهت:

  • شغّل أمر PRX مرة أخرى للحصول على رمز جديد
  • تأكد من زيارة الرابط الصحيح وإدخال الرمز المعروض كما هو

"GitHub device authorization expired"

انتهت صلاحية رمز الجهاز. أعد تنفيذ الأمر لبدء تدفق تفويض جديد.

النماذج غير متاحة

تعتمد النماذج المتاحة على مستوى اشتراك Copilot لديك:

  • Copilot Individual: GPT-4o، GPT-4o-mini
  • Copilot Business/Enterprise: قد تتضمن نماذج إضافية مثل Claude

تحقق من اشتراكك على github.com/settings/copilot.

تحديد المعدل

لدى GitHub Copilot حدود معدل خاصة به منفصلة عن OpenAI. إذا واجهت تحديد معدل، استخدم fallback_providers في إعداد PRX للرجوع إلى مزوّد آخر.

Released under the Apache-2.0 License.