نماذج CodeBuddy المخصصة مع QCode
أضف QCode.cc إلى CodeBuddy عبر models.json: تم اختبار Chat وResponses مع CodeBuddy Code CLI 2.182.0، دون الحاجة إلى تسجيل الدخول؛ JSON جاهز للنسخ ومتغيرات البيئة.
تحتاج مفتاح 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
ثم:
- CLI: شغّل اختبارات
codebuddy -pأعلاه؛ يعنيOKأنه يعمل. لجلسة تفاعلية، شغّلcodebuddy --model deepseek-v4-flash. - IDE: افتح القائمة المنسدلة للنموذج. تقول الوثائق إن النماذج المضافة عبر
models.jsonتُوسم بـcustomتلقائيًا، مما يساعدك على تمييزها وتصفيتها. أرسل رسالة قصيرة إلى النموذج الجديد. - أدخل مفتاحك في 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 إن النماذج المخصصة لم تعد تحمل ترويسات طلب هوية المنصة: عندما يتصل نموذج مخصص مباشرة بنقطة نهاية طرف ثالث، لا تُرسل معلومات الهوية بعد الآن إلى الخدمة التي ضبطتها.
ذات صلة¶
- نماذج WorkBuddy المخصصة — وكيل المكتب من الفريق نفسه، ويعمل أيضًا عبر OpenAI Chat Completions
- ZCode — مزوّدون مخصصون على بروتوكولي Anthropic وOpenAI، بما في ذلك Claude
- نقاط النهاية ومسارات API — ثلاثة بروتوكولات، وثلاثة نطاقات، وخريطة
BASE_URL - النماذج الصينية — معرّفات نماذج GLM / Kimi / DeepSeek / Qwen
- نظرة عامة على توافق الأدوات — البروتوكولات لكل أداة وما إذا كان Claude يعمل
- المعرّفات والأسعار الحالية: qcode.cc/models
ابدأ مع QCode
مفتاح API واحد لـ Claude Code وCodex وغيرها — تُحسب حسب التوكن، وأسعار كل نموذج على qcode.cc/models