نماذج CodeBuddy المخصصة مع QCode

أضف QCode.cc إلى CodeBuddy عبر models.json: تم اختبار Chat وResponses مع CodeBuddy Code CLI 2.182.0، دون الحاجة إلى تسجيل الدخول؛ JSON جاهز للنسخ ومتغيرات البيئة.

آخر تحديث 2026-11-13

تحتاج مفتاح API؟ أنشئ حسابًا ←نقاط النهاية وعناوين Base URL ←

في هذه الصفحة

آخر تحقق: 2026-11-10 · 📄 وفق الوثائق الرسمية (CodeBuddy IDE 4.12.4، صدر في 2026-11-06؛ وثائق CLI للإصدار v2.182.0) · ✅ تم اختبار اتصال QCode مع CodeBuddy Code CLI 2.182.0 (2026-11-10)

نعم، يمكن لـ CodeBuddy استخدام مفتاحك الخاص: توضع النماذج المخصصة في models.json (على مستوى المستخدم ~/.codebuddy/models.json)، وتقول الوثائق الرسمية: «لا يدعم حاليًا سوى API بصيغة واجهة OpenAI». حتى 2026-11-10، جُرّب مع CodeBuddy Code CLI 2.182.0: يعمل QCode عبر OpenAI Chat Completions (حيث يكون url هو المسار الكامل) وOpenAI Responses (حيث يكون url هو الأساس)، ويستخدم CLI هذه النماذج دون تسجيل الدخول إلى حساب Tencent. تتبع خطوات IDE الوثائق الرسمية.

لمحة سريعة

العنصر التفاصيل
هل يمكنني استخدام مفتاحي الخاص؟ نعم. يقرأ كل من IDE وCLI ملف models.json؛ ولا يحتاج CLI إلى تسجيل الدخول لاستخدامه (✅ مُختبَر)
النماذج التي يمكنك استخدامها Claude ❌ (هذا البروتوكول ليس نقطة نهاية Anthropic) · GPT ✅ · النماذج الصينية ✅ · Gemini ❌ (لا يوفّر QCode نموذج Gemini في الوقت الحالي)
Chat Completions url: https://api.qcode.cc/openai/v1/chat/completions (المسار الكامل) · ✅ مُختبَر عبر CLI
Responses (CLI) "api": "openai-responses"، url: https://api.qcode.cc/openai/v1 · ✅ مُختبَر عبر CLI
متغيرات البيئة (CLI) CODEBUDDY_BASE_URL=https://api.qcode.cc/openai/v1 (OpenAI Chat) · ✅ مُختبَر عبر CLI
ملفات الإعدادات على مستوى المستخدم ~/.codebuddy/models.json؛ وعلى مستوى المشروع <project-root>/.codebuddy/models.json
الوثائق الرسمية IDE models.json · CLI models.json · متغيرات بيئة CLI

CodeBuddy هي أداة البرمجة بالذكاء الاصطناعي من Tencent Cloud. تتوفر بثلاثة أشكال: إضافة لـ VS Code وJetBrains IDEs، وCodeBuddy IDE المستقل، وCodeBuddy Code، وهي أداة سطر أوامر أمرها codebuddy. الموقعان هما codebuddy.cn (الصين القارية) وcodebuddy.ai (الدولي)؛ ومسار ملف النماذج المخصصة هو نفسه في مجموعتي الوثائق. ويتشارك WorkBuddy، وكيل المكتب من الفريق نفسه، أساسه؛ راجع النماذج المخصصة في WorkBuddy.

QCode.cc ليست تابعة لـ Tencent أو CodeBuddy. تتبع واجهة المستخدم والحقول الإصدار الذي ثبّتته.

أي بروتوكول

المدخل البروتوكول قيمة QCode النماذج
models.json (IDE وCLI) OpenAI Chat Completions url: https://api.qcode.cc/openai/v1/chat/completions GPT، DeepSeek / GLM / Kimi / Qwen
models.json مع "api": "openai-responses" (CLI) OpenAI Responses url: https://api.qcode.cc/openai/v1 GPT
CODEBUDDY_BASE_URL (CLI) OpenAI Chat Completions https://api.qcode.cc/openai/v1 GPT، DeepSeek / GLM / Kimi / Qwen

تعمل هذه البروتوكولات على QCode مع GPT والنماذج الصينية. تُقدَّم نماذج Claude على نقطة نهاية Anthropic، ولا تستخدم نماذج CodeBuddy المخصصة ذلك البروتوكول. إذا كنت تحتاج إلى Claude، فاستخدم أداة تدعم نقطة نهاية Anthropic، مثل Claude Code أو ZCode أو Qoder. تُقارَن البروتوكولات الثلاثة في نقاط النهاية ومسارات API. في البر الرئيسي للصين يمكنك استخدام asia.qcode.cc بدلًا من api.qcode.cc؛ المسار دون تغيير ويعمل المفتاح نفسه.

تثبيت CodeBuddy Code CLI

يسرد دليل التثبيت الرسمي هذه الطريقة (المتطلب المسبق: Node.js 18.20 أو أحدث)؛ وهي التثبيت المستخدم في اختبار 2026-11-10:

npm install -g @tencent-ai/codebuddy-code

من دون Node.js، يوفّر الدليل أيضًا Homebrew وملفًا ثنائيًا أصليًا (Beta):

curl -fsSL https://www.codebuddy.cn/cli/install.sh | bash

على Windows PowerShell استخدم irm https://www.codebuddy.cn/cli/install.ps1 | iex. تحقق من التثبيت باستخدام codebuddy --version (الإصدار الذي استُخدم في الاختبار هو 2.182.0). تعمل النماذج المخصصة أدناه من دون تسجيل الدخول إلى حساب Tencent. للـ IDE أو الإضافة، نزِّل من codebuddy.ai؛ تخطَّ هذا القسم إذا كنت تستخدم IDE فقط.

إعداد models.json

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

تصف الوثائق مستويين:

  • مستوى المستخدم: ~/.codebuddy/models.json، عام، ينطبق على جميع المشاريع
  • مستوى المشروع: <project-root>/.codebuddy/models.json، أولوية أعلى من مستوى المستخدم

أولوية الدمج هي مستوى المشروع، ثم مستوى المستخدم، ثم الإعدادات الافتراضية المضمنة. يُستبدل النموذج ذو id نفسه؛ ويُضاف النموذج ذو id مختلف. يقرأ IDE وCLI المسارات نفسها.

CLI: الحد الأدنى لـ models.json (✅ مُختبَر)

احفظ هذا باسم ~/.codebuddy/models.json. يستخدم المدخل الأول Chat Completions، والثاني Responses؛ ويأتي المفتاح من متغيّر بيئة:

{
  "models": [
    {
      "id": "deepseek-v4-flash",
      "name": "QCode DeepSeek V4 Flash",
      "vendor": "QCode",
      "url": "https://api.qcode.cc/openai/v1/chat/completions",
      "apiKey": "${QCODE_API_KEY}",
      "maxInputTokens": 128000,
      "maxOutputTokens": 8192,
      "supportsToolCall": true
    },
    {
      "id": "gpt-6.1-terra",
      "name": "QCode GPT-6.1 Terra",
      "vendor": "QCode",
      "api": "openai-responses",
      "url": "https://api.qcode.cc/openai/v1",
      "apiKey": "${QCODE_API_KEY}",
      "maxInputTokens": 128000,
      "maxOutputTokens": 8192,
      "supportsToolCall": true
    }
  ],
  "availableModels": ["deepseek-v4-flash", "gpt-6.1-terra"]
}

ثم صدّر المفتاح وأرسل اختبارًا من سطر واحد إلى كل نموذج:

export QCODE_API_KEY="cr_xxx"
codebuddy -p "Reply with exactly: OK" --model deepseek-v4-flash
codebuddy -p "Reply with exactly: OK" --model gpt-6.1-terra

يعني ردّ OK أن النموذج يعمل. يُرسَل id إلى QCode باسم النموذج، لذا يجب أن يكون معرّفًا نشطًا على qcode.cc/models، حرفًا بحرف. لمدخلات Chat يمكنك أيضًا استخدام gpt-6.1-sol أو deepseek-v4-pro أو glm-5.3 أو kimi-k3 أو qwen3.8-max (راجع النماذج الصينية)؛ وتأخذ مدخلات Responses معرّفات GPT. الأسعار لكل نموذج على https://qcode.cc/models. اضبط maxInputTokens وmaxOutputTokens وعلامات الصور أو الاستدلال وفق ما يدعمه النموذج المختار.

قاعدتا url

بالنسبة إلى Chat Completions (الافتراضي)، الصياغة الرسمية هي: «يجب أن يكون حقل url مسار الواجهة الكامل، وينتهي عادةً بـ /chat/completions»، مع هذه الأمثلة غير الصحيحة:

❌ https://api.openai.com/v1
❌ https://api.myservice.com
❌ http://localhost:11434

مع ضبط api على openai-responses تنقلب القاعدة. الصياغة الرسمية: «مع ضبط api على openai-responses، يستخدم النموذج OpenAI Responses API: تذهب الطلبات إلى {url}/responses»، و«يأخذ url قيمة Base URL؛ ووجود /responses في النهاية اختياري.»

قيمة url النتيجة
https://api.qcode.cc/openai/v1/chat/completions ✅ Chat Completions (مُختبَر)
https://api.qcode.cc/openai/v1 ✅ مع "api": "openai-responses" (مُختبَر)؛ بالنسبة إلى Chat فهو ليس مسارًا كاملًا
https://api.qcode.cc/api ❌ بادئة Anthropic Messages، وليست مسار OpenAI

بالنسبة إلى Responses، اجتاز https://api.qcode.cc/openai الاختبار أيضًا؛ تستخدم هذه الصفحة /openai/v1 كي يشترك المدخلان في قاعدة واحدة. تقول الوثائق أيضًا إن api المكتوب صراحةً في مدخل النموذج وحده يبدّل البروتوكول.

CodeBuddy IDE (📄 وفق الوثائق الرسمية)

تسرد وثائق IDE المسارات نفسها وحقول Chat. تصف صفحة IDE apiKey بأنه «قيمة المفتاح الفعلية، لا اسم متغيّر البيئة»، لذا اكتب المفتاح نفسه. مدخل Chat للـ IDE:

{
  "models": [
    {
      "id": "deepseek-v4-flash",
      "name": "QCode DeepSeek V4 Flash",
      "vendor": "QCode",
      "url": "https://api.qcode.cc/openai/v1/chat/completions",
      "apiKey": "cr_xxx",
      "maxInputTokens": 128000,
      "maxOutputTokens": 8192,
      "supportsToolCall": true
    }
  ]
}

لا يتضمن جدول حقول IDE حقل api، لذا فمدخلات Responses مخصّصة لـ CLI. إذا كنت تستخدم IDE وCLI مع ملف ~/.codebuddy/models.json نفسه، فاكتب المفتاح نفسه في كل مدخل؛ ويقبل CLI مفتاحًا حرفيًا أيضًا. النصيحة الرسمية: لا تُودِع models.json يحتوي مفتاحًا حقيقيًا في نظام التحكم بالإصدارات، واضبط أذونات الملف على 600 (قراءة/كتابة للمالك فقط).

جدول الحقول

الحقل النوع الوصف (الصياغة الرسمية)
id string مطلوب. معرّف فريد للنموذج
name string اسم عرض النموذج
vendor string مزوّد النموذج (مثل OpenAI، Google)
apiKey string مفتاح API. تقول صفحة IDE «قيمة المفتاح الفعلية، لا اسم متغيّر البيئة»؛ وتقول صفحة CLI إنه «يدعم مراجع متغيّرات البيئة»
maxInputTokens number الحد الأقصى من tokens الإدخال
maxOutputTokens number الحد الأقصى من tokens الإخراج
url string عنوان URL لنقطة نهاية API (يجب أن يكون مسار الواجهة الكامل، وينتهي عادةً بـ /chat/completions)
supportsToolCall boolean هل استدعاءات الأدوات مدعومة
supportsImages boolean هل إدخال الصور مدعوم
supportsReasoning boolean هل وضع الاستدلال مدعوم

تضيف صفحة CLI ثلاثة حقول: api (بروتوكول الطلب؛ ويبدّل openai-responses إلى Responses API)، وtemperature (درجة حرارة أخذ العينات، 0-2)، وrelatedModels (معرّف النموذج الذي يُستخدم في سيناريوهات مثل lite والاستدلال). وavailableModels في المستوى الأعلى مصفوفة من السلاسل النصية؛ لا تظهر في القائمة المنسدلة إلا المعرّفات المدرجة هناك، وتعرض المصفوفة الفارغة أو المفقودة جميع النماذج.

الإشارة إلى متغيّرات البيئة باستخدام ${VAR_NAME} في CLI

تقول صفحة CLI إن حقلي apiKey وurl يدعمان صيغة الإشارة ${VAR_NAME}؛ وقد اجتازت إشارة apiKey في الكتلة أعلاه الاختبار. ملاحظات رسمية: تُحلّ متغيّرات البيئة عند بدء CLI؛ وإذا لم يوجد متغيّر بيئة، فيُحتفظ بالعنصر النائب الأصلي، ما يجعل طلب API يفشل.

إعادة التحميل الفوري

وفق الوثائق، تدعم ملفات الإعداد إعادة التحميل الفوري: تُكتشف التغييرات تلقائيًا مع تأجيل مدته 1 ثانية، لكلا ملفي models.json أعلاه.

متغيرات بيئة CLI

تسرد صفحة متغيرات البيئة الرسمية ثلاثة متغيرات ذات صلة بنماذج طرف ثالث:

المتغير الوصف الرسمي
CODEBUDDY_API_KEY مفتاح API. اضبط هذا المفتاح لاستدعاءات API الخاصة بالنموذج. يستخدم هذا المفتاح دائمًا في الوضع غير التفاعلي (-p)
CODEBUDDY_BASE_URL تجاوز عنوان نقطة نهاية API، ويُستخدم عادةً مع CODEBUDDY_API_KEY
CODEBUDDY_MODEL تجاوز نموذج الوكيل الافتراضي

حتى 2026-11-10، جُرّب مع CodeBuddy Code CLI 2.182.0: يأخذ CODEBUDDY_BASE_URL أساس OpenAI Chat Completions، ويُلحق CLI به /chat/completions. اضبطه على https://api.qcode.cc/openai/v1 واختر نموذج GPT أو نموذجًا صينيًا؛ لا يحتاج هذا المسار إلى models.json:

export CODEBUDDY_BASE_URL="https://api.qcode.cc/openai/v1"
export CODEBUDDY_API_KEY="cr_xxx"
codebuddy -p "Reply with exactly: OK" --model deepseek-v4-flash

أبقِ CODEBUDDY_BASE_URL على /openai/v1: مع https://api.qcode.cc/api يذهب الطلب إلى /api/chat/completions ويرد QCode بـ HTTP 400.

التحقق

أولًا تأكد من أن مسار OpenAI لدى QCode يعمل من شبكتك (نفس الفحص المذكور في نقاط النهاية ومسارات API):

KEY="cr_xxx"

curl -s -o /dev/null -w '%{http_code}\n' -X POST \
  https://api.qcode.cc/openai/v1/chat/completions \
  -H "Authorization: Bearer $KEY"
# 400 = path and key both work (empty body is expected)
# 401 = bad key; 404 = wrong path prefix

ثم:

  1. CLI: شغّل اختبارات codebuddy -p أعلاه؛ يعني OK أنه يعمل. لجلسة تفاعلية، شغّل codebuddy --model deepseek-v4-flash.
  2. IDE: افتح القائمة المنسدلة للنموذج. تقول الوثائق إن النماذج المضافة عبر models.json تُوسم بـ custom تلقائيًا، مما يساعدك على تمييزها وتصفيتها. أرسل رسالة قصيرة إلى النموذج الجديد.
  3. أدخل مفتاحك في probe.qcode.cc لترى الطلب والنموذج الذي أجاب.

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

لا يسري الإعداد

قائمة التحقق الرسمية: تحقق من أن JSON صالح؛ وأكّد مسار الملف؛ واقرأ السجلات لمعرفة ما إذا كان الإعداد قد حُمّل؛ وأكّد أن مفتاح API في متغير البيئة مضبوط. تتضمن إعادة التحميل الفوري تأخيرًا قدره 1 ثانية، لذا تأكد من أن الملف محفوظ فعليًا على القرص.

النموذج مفقود من القائمة المنسدلة

حسب الوثائق: تحقق من أن معرّف النموذج مدرج في availableModels، وأن إعداد models صحيح. availableModels على مستوى المشروع يتجاوز بالكامل نظيره على مستوى المستخدم دون دمج. تسمّي قائمة استكشاف الأخطاء الرسمية «id, name, provider» حقولًا مطلوبة، بينما يعلّم جدول الحقول id فقط كمطلوب ويسمي الحقل vendor؛ وتغطي تعبئة id وname وvendor الحالتين.

HTTP 404

لا يصل url لمدخل Chat إلى /chat/completions، أو أنه https://api.qcode.cc/api. تستخدم مدخلات Chat دائمًا المسار الكامل https://api.qcode.cc/openai/v1/chat/completions؛ فقط المدخلات التي تحتوي على "api": "openai-responses" تتوقف عند /openai/v1.

HTTP 400 model_not_available_on_endpoint

أُرسل معرّف claude-… إلى مسار OpenAI، مثلًا عبر مدخل في models.json أو عبر CODEBUDDY_BASE_URL المضبوط على https://api.qcode.cc/api. تُقدَّم نماذج Claude فقط على نقطة نهاية Anthropic؛ استخدم نموذج GPT أو نموذجًا صينيًا هنا، أو انتقل إلى أداة مثل Claude Code. لا يعني هذا الخطأ أن المفتاح سيئ.

HTTP 401

يجب أن يبدأ المفتاح بـ cr_ وألا يحتوي على مسافات. عند استخدام مرجع متغير بيئة، تحقق من أن المتغير مُصدَّر فعليًا: تقول الوثائق إن المتغير المفقود يبقي العنصر النائب الأصلي، لذا يُرسل النص الحرفي ${QCODE_API_KEY} كمفتاح.

هل أحتاج إلى تسجيل الدخول إلى حساب Tencent؟

ليس لهذه النماذج. في اختبار 2.182.0، أجاب codebuddy -p عبر models.json وعبر CODEBUDDY_BASE_URL دون أي تسجيل دخول.

هل يرسل النموذج المخصص ترويسات هوية منصة Tencent؟

تقول ملاحظات الإصدار الرسمية الخاصة بـ CLI v2.180.0 إن النماذج المخصصة لم تعد تحمل ترويسات طلب هوية المنصة: عندما يتصل نموذج مخصص مباشرة بنقطة نهاية طرف ثالث، لا تُرسل معلومات الهوية بعد الآن إلى الخدمة التي ضبطتها.

ذات صلة

ابدأ مع QCode

مفتاح API واحد لـ Claude Code وCodex وغيرها — تُحسب حسب التوكن، وأسعار كل نموذج على qcode.cc/models

المؤسسات ←