أقسام قاعدة المعرفة ▾

التنقل

▸ ابدأ من هنا حسب الدور

الفئات

أدوات 52
قاموس المصطلحات 12

الأدوات

Qwen Code بعد إغلاق qwen-oauth: العمل عبر JoinGonka Gateway

Qwen Code (الأمر qwen) — وكيل طرفية مفتوح للمطورين من فريق Qwen في Alibaba: يقوم بفهم المشروع، وتعديل الملفات، وتشغيل الأوامر والاختبارات — من الطرفية، المحرر، أو البرامج النصية. نشأ المشروع من Google Gemini CLI وهو يتطور بشكل مستقل، والكود مفتوح بموجب ترخيص Apache-2.0. يعرف الوكيل عدة بروتوكولات — OpenAI، Anthropic، Gemini — لذلك يتصل به أي مزود نماذج تقريبًا.

كان البدء في العمل مع Qwen Code بدون مفتاح ممكنًا من خلال تسجيل الدخول المجاني عبر حساب qwen.ai — نوع التفويض qwen-oauth. في 15 أبريل 2026، تم إغلاق هذا المستوى المجاني، وظل السلوك الافتراضي كما هو: إذا لم يتم اختيار نوع التفويض، يذهب Qwen Code إليه تحديدًا، ويستجيب التثبيت القديم بعبارة Qwen OAuth free tier was discontinued on 2026-04-15. تنصح الوثائق بالتبديل إلى مزود آخر، وأسهل طريقة للقيام بذلك هي عبر نقطة نهاية متوافقة مع OpenAI.

JoinGonka Gateway — هي نقطة النهاية هذه تمامًا: من خلالها يعمل Qwen Code على نماذج الشبكة اللامركزية Gonka — DeepSeek V4 Flash، GLM-5.3 Flash وMiniMax M2.7 — بسعر موحد قدره $0.0069 لكل مليون توكن إدخال، بدون اشتراك. لا توجد نماذج Qwen خاصة في الشبكة حاليًا، لكن الوكيل لا يحتاج إلى ذلك: فهو يعمل مع أي نموذج قادر على استدعاء الأدوات. تم التحقق من الأوامر والرسائل أدناه من خلال تجربة حية لـ Qwen Code 0.24.4 عبر البوابة في 23 سبتمبر 2026. بعد تأكيد العنوان، سيصل إلى رصيدك 3M توكن مجاني — تكفي لتكرار المسار بأكمله بنفسك.

البدء السريع: التثبيت وأمر واحد

الخطوة 1: تثبيت Qwen Code. الطرق الرسمية من README الخاص بالمشروع:

# Linux and macOS: standalone build with its own Node.js
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash

# Windows (PowerShell)
irm https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.ps1 | iex

# npm (requires Node.js 22 or newer)
npm install -g @qwen-code/qwen-code@latest

# Homebrew
brew install qwen-code

يضع السكربت الأمر في ~/.local/bin/qwen ويضيف المسار إلى ملف إعدادات الصدفة عند الحاجة. أعد فتح الطرفية وتحقق: qwen --version.

الخطوة 2: الحصول على المفتاح. سجّل في gate.joingonka.ai/register، وأكّد بريدك الإلكتروني، ثم أنشئ مفتاحًا ببادئة jg- من قسم «مفاتيح API».

الخطوة 3: تشغيل المثبّت.

npx @joingonka/setup --tool qwen-code

سيسألك المثبّت عن المفتاح (لا يُمرَّر عبر وسائط سطر الأوامر حتى لا يبقى في سجل الصدفة) وسيعدّل ~/.qwen/settings.json — الملف الذي تقترحه وثائق Qwen Code للإعداد «في ملف واحد»:

  • سيكتب المفتاح في كتلة env داخل الملف نفسه تحت الاسم JOINGONKA_API_KEY — وهو المكان ذاته الذي يحفظ فيه أمر /auth الخاص بالمشروع مفاتيحه؛ سيحصل الملف على الصلاحيات 600، ولن تتغير بيئة الصدفة؛
  • سيضيف نماذج الشبكة إلى قائمة modelProviders.openai — مع عنوان البوابة ونوافذ السياق الفعلية وحدود الاستجابة الفعلية؛ وستبقى إدخالات مزوّديك الآخرين في هذه القائمة كما هي؛
  • إذا لم يكن نوع التفويض محددًا أو كان لا يزال يشير إلى qwen-oauth المغلقة، فسيحوّله إلى openai ويجعل DeepSeek V4 Flash النموذج الافتراضي؛ أما إذا كنت تستخدم نوعًا آخر يعمل فعليًا — anthropic أو gemini أو vertex-ai — فلن يمسّه ما لم تمرر الراية --model؛
  • سيحفظ نسخة من الملف السابق، ولن يمسّ التعليقات والإعدادات الأخرى، ثم يرسل في النهاية طلبًا حيًا إلى البوابة ليخبرك إن كان المفتاح والعنوان والنموذج قد قُبلت.

هكذا بدا المخرَج على تثبيت كان لا يزال يستخدم qwen-oauth (مختصرًا):

Configured ~/.qwen/settings.json
Base URL: https://gate.joingonka.ai/v1
Default model: deepseek-ai/DeepSeek-V4-Flash-0731 (replaces qwen-oauth — that free tier was discontinued on 2026-04-15)
Switched Qwen Code to JoinGonka (auth type "openai") — this replaced your previous auth type "qwen-oauth".
To go back: run /auth (and /model) inside Qwen Code, or restore ~/.qwen/settings.json.bak.2026-09-23T04-22-32-159Z.
…
✓ Verified: the gateway accepted the key, base URL and model.

لتحديد نموذج افتراضي مختلف، استخدم الراية --model: الاختصار glm أو minimax أو المعرّف الكامل؛ والنموذج المحدد صراحةً يُكتب دائمًا. أما الوضع دون أسئلة فيأخذ المفتاح من متغير البيئة:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool qwen-code --model glm --non-interactive

الدليل المنقول عبر المتغير QWEN_HOME يعثر عليه المثبّت بنفسه. وإعادة التشغيل ستحدّث كتالوج النماذج لكنها ستُبقي نموذج الشبكة الذي اخترته: Kept your current default model.

الإعداد اليدوي: settings.json

كل ما يفعله المثبِّت يمكن كتابته يدويًا. الملف هو ~/.qwen/settings.json (أو $QWEN_HOME/settings.json)؛ يقرأه Qwen Code كـ JSON مع تعليقات. الإعدادات العاملة لشبكة Gonka كاملةً:

{
  "env": { "JOINGONKA_API_KEY": "jg-your-key" },
  "modelProviders": {
    "openai": [
      { "id": "deepseek-ai/DeepSeek-V4-Flash-0731", "name": "DeepSeek V4 Flash (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 380000, "samplingParams": { "max_tokens": 32768 } } },
      { "id": "zai-org/GLM-5.3-Flash", "name": "GLM 5.3 Flash (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 390000, "samplingParams": { "max_tokens": 8192 } } },
      { "id": "MiniMaxAI/MiniMax-M2.7", "name": "MiniMax M2.7 (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 200000, "samplingParams": { "max_tokens": 8192 } } }
    ]
  },
  "security": { "auth": { "selectedType": "openai" } },
  "model": { "name": "deepseek-ai/DeepSeek-V4-Flash-0731", "baseUrl": "https://gate.joingonka.ai/v1" }
}
الحقلالقيمةما المهم
env.JOINGONKA_API_KEYالمفتاح jg-…المفتاح نفسه. سجل النموذج لا يحتوي على حقل للمفتاح — بل يشير إلى هذا المتغير عبر envKey
baseUrlhttps://gate.joingonka.ai/v1مع /v1 في النهاية: المسار /chat/completions يضيفه Qwen Code بنفسه. مفتاح القائمة openai هو نفسه بروتوكول Chat Completions
contextWindowSizeنافذة النموذجبدونه سيقدّر Qwen Code النافذة من اسم النموذج؛ وبناءً على هذا الرقم يقرر متى يضغط السجل
samplingParams.max_tokensسقف الرديثبّت حد الرد. بدون هذا الحقل، عند بلوغ الحد، قد يعيد Qwen Code الطلب بحد يبلغ 64K — وهو أعلى من سقف أي نموذج في الشبكة
security.auth.selectedTypeopenaiأي بروتوكول يُفعَّل عند البدء؛ وبدون هذا الحقل ينتقل Qwen Code إلى qwen-oauth المغلق
model.name، model.baseUrlالنموذج الافتراضي وعنوانهالثنائي يحدد بشكل قاطع سجل البوابة، حتى لو كان نموذج بالمعرّف نفسه مسجلاً لدى مزوّد آخر

أين تحتفظ بالمفتاح. قيمة المتغير من envKey يبحث عنها Qwen Code بالترتيب: بيئة الصدفة، ثم أول ملف .env يُعثر عليه (.qwen/.env أو .env من المجلد الحالي صعودًا، ثم ~/.qwen/.env و~/.env)، وبعد ذلك فقط كتلة env في الملف. ومن هنا الفخ الرئيسي: المتغير JOINGONKA_API_KEY المصدَّر في الصدفة بقيمة قديمة سيتجاوز الملف — وقد اختبرنا ذلك عن قصد وحصلنا على 401 Invalid API key مع أن المفتاح في settings.json صحيح. يحذّر المثبِّت عندما يرى قيمة مختلفة في البيئة.

وملاحظة بخصوص المشاريع: ملف .qwen/settings.json الخاص بالمشروع مع modelProviders خاص به لا يُكمِّل بل يستبدل القائمة من المجلد الرئيسي — داخل مثل هذا المشروع ستختفي نماذج البوابة من /model. ولا يجدر أصلًا وضع المفتاح في ملف المشروع: فسيصل معه إلى المستودع.

التعديلات على modelProviders تلتقطها الجلسة الجارية دون إعادة تشغيل — يكفي إعادة فتح /model. وبدون محرر، يفعل المعالج /auth → Custom Provider الشيء نفسه.

التفويض والنماذج: كيف يختار Qwen Code أداة العمل

يحتوي Qwen Code على خيارين مستقلين: نوع المصادقة — أي بروتوكول يجب تفعيله ومن أين يتم جلب المفاتيح — والنموذج. يتم تخزين النوع في security.auth.selectedType، ويعتمد عليه سلوك برنامج التثبيت:

القيمة في selectedTypeما سيفعله برنامج التثبيت
لا شيء أو qwen-oauthسيقوم بتثبيت openai والنموذج الافتراضي من شبكة Gonka؛ لا يعتبر الاشتراك المدفوع خياراً فعالاً، لكن برنامج التثبيت سيخبرك بأنه قام بالاستبدال وكيفية التراجع
openaiسيحتفظ بالنموذج المختار — سواء للبوابة أو لمزود آخر — وسيحدث الفهرس فقط
anthropic، gemini، vertex-aiلن يلمسها: هذا ارتباط عملي. باستخدام الراية --model سيقوم بالتبديل ويخبرك بكيفية استعادة الإعداد السابق

داخل الجلسة، يتم تغيير النموذج بواسطة الأمر /model. في تجربتنا، أظهر الأمر جميع سجلات البوابة مع وسم البروتوكول، وأسفل القائمة - نافذة السياق، العنوان واسم المتغير الذي يحتوي على المفتاح:

Select Model

  1. [openai] MiniMax M2.7 (Gonka) (MiniMaxAI/MiniMax-M2.7)
› 2. [openai] DeepSeek V4 Flash (Gonka) (deepseek-ai/DeepSeek-V4-Flash-0731)
  3. [openai] GLM 5.3 Flash (Gonka) (zai-org/GLM-5.3-Flash)

Modality:       text-only
Context Window: 380,000 tokens
Base URL:       https://gate.joingonka.ai/v1
API Key:        JOINGONKA_API_KEY

يتم حفظ الاختيار من /model بين الجلسات. لتشغيل واحد، يحدد النموذج الراية -m مع المعرف: qwen -m zai-org/GLM-5.3-Flash. يحدد /model --fast نموذجاً خفيفاً منفصلاً للتلميحات ومصنف الأذونات؛ طالما أنه غير موجود، يقوم النموذج الرئيسي بهذه المهمة.

أي نموذج تختار. سعر جميع نماذج الشبكة واحد، لذا الاختيار يعتمد على السلوك. هكذا تصرفت النماذج في Qwen Code 0.24.4 على نفس المهمة — قراءة ملف والعثور على خطأ (تم التحقق في 23 سبتمبر 2026):

النموذجالسياق / الردكيف يتصرف في Qwen Code
DeepSeek V4 Flash380K / 32768اختيار برنامج التثبيت: نافذة كبيرة وأعلى سقف للرد في الشبكة. حل المهمة في خطوتين
GLM-5.3 Flash390K / 8192نموذج الاستدلال: أدق رد، يأتي الاستدلال في تدفق منفصل ويدخل ضمن حد الرد
MiniMax M2.7200K / 8192رد صحيح في خطوتين وحوالي سبع ثوانٍ؛ يأتي الاستدلال في تدفق منفصل ولا يدخل في نص الرد

الاستدلال في GLM-5.3 Flash. يحدد برنامج التثبيت samplingParams لكل نموذج، وفي هذه الحالة لا يضيف Qwen Code مستوى الاستدلال إلى الطلب: أمر /effort لا يصل إلى نماذج الشبكة، وGLM-5.3 Flash يفكر دائماً. إذا كنت بحاجة إلى مفتاح تبديل، أعلن عن المستويات مباشرة في سجل النموذج:

{
  "id": "zai-org/GLM-5.3-Flash",
  "capabilities": {
    "reasoning": { "profile": "openai-effort", "efforts": ["low", "high"], "defaultEffort": "high" }
  },
  …
}

عندها سيبدأ Qwen Code بإرسال reasoning_effort، وبالنسبة لـ GLM-5.3 Flash، تقوم القيمة low بإيقاف الاستدلال تماماً — التفاصيل في نظرة عامة على النموذج. في تجربتنا مع "defaultEffort": "low" أرسل Qwen Code reasoning_effort: "low"، ورد النموذج بدون كتلة استدلال.

التحقق: ما الذي يجب أن يحدث

أسرع فحص هو تشغيل لمرّة واحدة. ضع في مجلد فارغ ملف calc.py بدالة جمع تقوم فعليًا بالطرح، واطلب العثور على الخطأ:

qwen -p "Read calc.py and tell me in one sentence whether it has a bug."

يجب أن يستدعي الوكيل نفسه أداة القراءة ويجيب في صميم الموضوع. هكذا أجاب GLM-5.3 Flash (تشغيل مع -m zai-org/GLM-5.3-Flash):

Yes, there is a bug: the `add` function subtracts instead of adding (`return a - b`), so `print(add(2, 3))` prints `-1` instead of `5`.

في الواجهة (qwen بلا وسائط) سيُظهر الترويسة النموذج المختار — API Key | DeepSeek V4 Flash (Gonka) — وسيجري الطلب نفسه هكذا:

> Read calc.py and tell me in one sentence whether it has a bug.
  ✓ Read calc.py, README.md

  ◆ Yes, calc.py has a bug: the add function returns the difference (a - b) instead of the sum (a + b). …

  ➜ demo · DeepSeek V4 Flash (Gonka) · 380.0k Context 5.1% used

يعرض الأمر /stats الطلبات والرموز حسب النماذج، وتُظهر لوحة البوابة الاستهلاك نفسه في قسم «الاستخدام».

وضع الموافقة في -p. بلا أعلام، يجري التشغيل لمرّة واحدة في وضع Ask Permissions: لا أحد ليؤكّد، لذا لا تُسلَّم للنماذج ببساطة الأدوات التي تحتاج إذنًا — أوامر الصدفة وتحرير وكتابة الملفات. على طلب تنفيذ ls، أجاب الوكيل في تشغيلنا أنه لا يملك هذه الأداة. للتحرير أضف --approval-mode auto-edit، وللأوامر — --yolo؛ والأخير يرفقه Qwen Code بتحذير بأن البيئة المعزولة غير مفعّلة.

إذا حدث خطب ما، فعادةً ما يُقرأ التشخيص مباشرةً من الرسالة:

ما تراهماذا يعنيما العمل
No auth type is selected. Please configure an auth type …لم يُختَر نوع التفويضشغّل المثبّت أو اكتب "selectedType": "openai" كما في المثال أعلاه
Qwen OAuth free tier was discontinued on 2026-04-15 …بقي في الإعدادات qwen-oauth المُغلقشغّل المثبّت: سيبدّل النوع ويخبرك بما استبدله
[API Error: 401 Invalid API key]البوابة لم تقبل المفتاحتحقّق من كتلة env ومن عدم وجود متغيّر JOINGONKA_API_KEY بقيمة قديمة في الصدفة أو في .env: فهو أسبق من الملف
429 Model "…" is currently overloaded in the Gonka network (rate limit)نفدت السعة الحرة للنموذج في الشبكةأعد المحاولة بعد دقيقة أو بدّل النموذج؛ والحالة ظاهرة في صفحة الحالة
Request timeout after 151s …، ثم Retrying provider attemptالشبكة تحت الحمل لم تبدأ الردّ خلال دقيقتين ونصفسيعيد Qwen Code الطلب من تلقاء نفسه؛ وإن طال الأمر — بدّل النموذج

كم تبلغ التكلفة

يستهلك العميل (agent) التوكنز بشكل مختلف عن الدردشة: مع كل عبارة تقدمها، يضيف Qwen Code موجه نظام (system prompt) وأوصاف للأدوات، بينما تستغرق المهمة عدة خطوات. في تشغيلنا، حمل كل طلب qwen -p حوالي 13 ألف توكن إدخال قبل البدء في المهمة الفعلية، واستغرقت مهمة "اقرأ الملف، اعثر على الخطأ" خطوتين وحوالي 27 ألف توكن. في واجهة الأدوات يكون الاستهلاك أكبر، وبعد رد Qwen Code يقوم بنفس النموذج بإجراء طلبات خدمة — على سبيل المثال، اقتراح الرد التالي: أظهر /stats لنفس المهمة 4 طلبات وحوالي 79 ألف توكن إدخال.

من خلال JoinGonka Gateway، تبلغ تكلفة التوكنز $0.0069 لكل مليون عند الإدخال و $0.021 لكل مليون عند الإخراج — السعر موحد لجميع نماذج الشبكة ويتم تحديثه في هذه الصفحة من مصدر حي.

السيناريوالاستهلاكعبر Gateway
مهمة فردية في qwen -p: قراءة ملف، العثور على خطأ~27K توكنجزء من السنت
نفس المهمة في الواجهة، مع طلبات الخدمة~79K توكنجزء من السنت
يوم عمل نشط3-7M توكنبضعة سنتات
شهر تطوير نشط~150M توكنحوالي دولار

التقديرات في العمود الأيمن تعتمد على أسعار سبتمبر 2026. للمقارنة — كيف يمكنك الدفع مقابل النماذج في Qwen Code:

الطريقةنموذج الدفعما الذي يحدها
qwen-oauthكان مجانياًأغلق في 15 أبريل 2026
Alibaba Cloud Coding Planمبلغ ثابت شهرياًحصص من جانب المزود، مفتاح منفصل sk-sp-…
Alibaba Cloud Token Planمقابل التوكنز، للفرق والشركاتنقطة نهاية إقليمية ومفتاح Alibaba Cloud
JoinGonka Gatewayمقابل التوكنز، رصيد مسبق الدفعالاستهلاك مرئي في لوحة التحكم؛ لا توجد اشتراكات أو حصص شهرية

يتم إيقاف طلبات الخدمة حيث لا تكون مطلوبة: اقتراحات الرد التالي — "ui": { "enableFollowupSuggestions": false }، ذاكرة الخلفية التلقائية — "memory": { "enableManagedAutoMemory": false, "enableManagedAutoDream": false }. الاستهلاك الدقيق والرصيد المتبقي متاحان في لوحة التحكم، في قسمي "الاستخدام" (Usage) و "الفواتير" (Billing). تم شرح سبب اختيار DeepSeek V4 Flash افتراضياً بالتفصيل في مراجعة النموذج.

ما يجب مراعاته في العمل

أوضاع الموافقة. في الواجهة، يبدأ Qwen Code في وضع Auto: يُسمح بالقراءة والبحث والتعديلات داخل المشروع على الفور، بينما تقوم أوامر الغلاف (shell) والإجراءات الخطرة الأخرى بتقييمها بواسطة مصنف — طلب منفصل للنموذج. يمكن التنقل بين الأوضاع الأخرى — Plan و Ask Permissions و Auto-Edit و YOLO — باستخدام Shift+Tab (في ويندوز Tab) أو عبر الأمر /approval-mode؛ يتم تحديد الوضع الافتراضي بواسطة المفتاح tools.approvalMode.

العمل في الخلفية. افتراضياً، يقوم Qwen Code بإدارة ذاكرة تلقائية: بعد المحادثات في الخلفية، يستخرج ملاحظات حول المشروع وتفضيلاتك، وينظفها مرة يومياً (Dream) — باستخدام نفس النموذج. في التشغيل الفردي يكون هذا ملحوظاً: قد لا ينتهي qwen -p لعدة دقائق بعد الرد، بينما تنتظر المهمة في الخلفية النموذج. للنصوص البرمجية (scripts) و CI، قم بإيقاف الذاكرة التلقائية (المفاتيح في القسم أعلاه) وضع حدوداً للتشغيل: --max-wall-time و --max-session-turns و --max-tool-calls.

الصور. نماذج الشبكة نصية فقط (Modality: text-only في /model). للقطات الشاشة، قم بتعيين نموذج وسيط من مزود آخر باستخدام الأمر /model --vision: سيقوم بوصف الصورة نصياً، وسيكمل النموذج الرئيسي العمل.

الإحصائيات. يرسل Qwen Code إحصائيات استخدام مجهولة الهوية افتراضياً؛ يتم إيقافها بواسطة "privacy": { "usageStatisticsEnabled": false }. لا تخزن البوابة محتوى الموجهات والردود — فقط إجمالي الاستهلاك.

جيران الشبكة. تطلق المختبرات التي تخدم الشبكة نماذجها الخاصة لعملائها: لدى DeepSeek يوجد DeepSeek Harness، ولدى MiniMax يوجد MiniMax Code، ولدى Z.ai (مؤلفو GLM) يوجد ZCode. جميعهم يتصلون بنفس البوابة بنفس المفتاح ويستهلكون رصيداً واحداً.

Qwen Code هو وكيل طرفي مفتوح المصدر لفريق Qwen، وبعد إغلاق qwen-oauth المجاني، فإنه يحتاج إلى مزود نماذج خاص به. الطريق السريع هو npx @joingonka/setup --tool qwen-code: سيقوم المثبت بإدخال المفتاح في كتلة env بملف ~/.qwen/settings.json، وإضافة DeepSeek V4 Flash وGLM-5.3 Flash وMiniMax M2.7 إلى modelProviders.openai بحدود حقيقية، وتحويل security.auth.selectedType إلى openai والتحقق من الاتصال بطلب مباشر. تعمل جميع نماذج الشبكة الثلاثة: بشكل افتراضي يتم تعيين DeepSeek V4 Flash، بينما يتم اختيار GLM-5.3 Flash وMiniMax M2.7 بأمر /model. الفحص — qwen -p على ملف يحتوي على خطأ وقسم «الاستخدام» في لوحة التحكم؛ ادفع مقابل الرموز الفعلية بالسعر الموحد لشبكة Gonka.

تريد معرفة المزيد؟

استكشف الأقسام الأخرى أو ابدأ في كسب GNK الآن.

احصل على مفتاح وتوكنز مجانية →