إعداد Droid (Factory)

أضف QCode.cc كنموذج مخصص BYOK في Droid CLI من Factory: provider=anthropic مع baseUrl في ~/.factory/settings.json

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

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

في هذه الصفحة

آخر تحقق: 2026-09-18 · 📄 وفق الوثائق الرسمية (Droid CLI v0.222.0 صدر في 2026-09-18؛ الإصدارات متكررة — اعتمد على droid --version)

نظرة سريعة

البند التفاصيل
النماذج التي يمكنك استخدامها Claude ✅ (provider: "anthropic") · GPT ✅ · النماذج الصينية ✅ (provider: "generic-chat-completion-api") · Gemini ❌ (لا يوجد مزوّد بهذا الاسم في Droid)
البروتوكول وBase URL Anthropic: https://api.qcode.cc/api · OpenAI Chat: https://api.qcode.cc/openai/v1
مكان الإعداد ~/.factory/settings.json (يُنشأ تلقائيًا عند أول تشغيل لـ droid)
الوثائق الرسمية BYOK · الإعدادات

Droid هو وكيل البرمجة بالذكاء الاصطناعي الطرفي من Factory. يدعم النماذج المخصصة BYOK، لذا يمكن إضافة QCode.cc كنموذج مخصص.

أي بروتوكول

يختار Droid البروتوكول عبر حقل provider. مع Claude استخدم anthropic — نقطة نهاية OpenAI لدى QCode لا تقبل نماذج Claude (راجع نقاط النهاية ومسارات API).

النموذج المطلوب provider baseUrl
Claude anthropic https://api.qcode.cc/api
GPT / العائلات الصينية الأربع generic-chat-completion-api (متوافق مع Chat-Completions) https://api.qcode.cc/openai/v1

🔴 لا تكتب "provider": "openai" — فقد خصّصتها Factory لـ OpenAI Responses API («استخدم provider: "generic-chat-completion-api" ما لم تكن تستدعي API الرسمي لـ OpenAI أو Anthropic»، وثائق BYOK). نماذج GPT / النماذج الصينية على QCode تتحدث Chat Completions، لذا استخدم generic-chat-completion-api.

التثبيت

curl -fsSL https://app.factory.ai/cli | sh

يثبَّت في ~/.local/bin/droid. إذا أبلغ المثبّت أن PATH غير مهيأ، فأضف السطر الذي يطبعه إلى ~/.zshrc / ~/.bashrc.

تحقق (اعتمد على الإخراج الفعلي):

droid --version

الإعداد

حرّر ~/.factory/settings.json (يُنشأ تلقائيًا عند أول تشغيل لـ droid؛ ويعمل أيضًا ملف على مستوى المشروع .factory/settings.local.json — يُدمج فوقه، وتذكّر إضافته إلى gitignore):

{
  "customModels": [
    {
      "model": "claude-sonnet-5",
      "displayName": "QCode Sonnet 5",
      "baseUrl": "https://api.qcode.cc/api",
      "apiKey": "${QCODE_KEY}",
      "provider": "anthropic",
      "maxOutputTokens": 8192
    },
    {
      "model": "claude-haiku-5-5",
      "displayName": "QCode Haiku 5.5",
      "baseUrl": "https://api.qcode.cc/api",
      "apiKey": "${QCODE_KEY}",
      "provider": "anthropic",
      "maxOutputTokens": 4096
    }
  ]
}

أدخل المفتاح عبر البيئة:

export QCODE_KEY="cr_your_qcode_key"
الحقل المعنى
model معرّف النموذج المُرسل إلى API؛ يجب أن يطابق qcode.cc/models تمامًا
displayName التسمية في منتقي النماذج؛ حرة الصياغة
baseUrl ينتهي عند /api؛ ويضيف Droid المسار /v1/messages بنفسه
apiKey يدعم مراجع متغيرات البيئة ${VAR}
provider anthropic مع Claude
maxOutputTokens الحد الأقصى للإخراج لكل رد

وفق وثائق Factory، تبقى مفاتيح API محلية ولا تُرفع إلى خوادم Factory. من البر الرئيسي للصين، استبدل المضيف بـ https://asia.qcode.cc/api (عقدة آسيا، الأقرب بين كوريا / تايوان / هونغ كونغ).

التحقق

droid exec --model "claude-sonnet-5" "reply with exactly: OK"

تعني OK أنك متصل.

التحقق السلبي (لإثبات أن الإعدادات أصبحت سارية فعليًا): وجّه baseUrl مؤقتًا إلى مسار غير موجود ثم شغّل الأمر مجددًا — يجب أن يفشل. النجاح وحده لا يثبت أنه تم استخدام نقطة النهاية الخاصة بك.

الاستخدام اليومي

# interactive
droid

# non-interactive
droid exec "run the tests and fix the failures"

# specific working directory
droid --cwd /path/to/project

# run inside a git worktree (isolated changes)
droid -w feature-x

# autonomy level
droid --auto medium

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

model_not_available_on_endpoint

قيمة provider متوافقة مع OpenAI بينما النموذج من Claude. اضبط "provider": "anthropic" مع baseUrl = https://api.qcode.cc/api.

401 / فشل المصادقة

لم يتم توسيع ${QCODE_KEY} (المتغير غير مُصدَّر)، أو يحتوي المفتاح على مسافات زائدة. تحقق من أن echo $QCODE_KEY يبدأ بـ cr_. فخ آخر: وضع الإعدادات في ~/.factory/config.json القديم (حقول snake_case) — رسميًا، الملف القديم لا يوسّع مراجع متغيرات البيئة في apiKey، لذا سيُرسَل ${QCODE_KEY} حرفيًا بصفته المفتاح. استخدم settings.json.

النموذج مفقود من منتقي النماذج

لا تظهر إلا النماذج المدرجة في customModels[]. أضف إدخالًا وأعد التشغيل.

ذات صلة

ابدأ مع QCode

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

المؤسسات ←