# متغيرات البيئة

> **آخر تحقق**: 2026-10-26 · 📄 وفق الوثائق الرسمية (Claude Code v2.1.310، صدر في 2026-10-23؛ وأُعيد التحقق من تعريفات ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN / ANTHROPIC_API_KEY مقابل صفحتي متغيرات البيئة والبوابة الرسميتين في 2026-10-26)

> ⚡ لم يتم الإعداد بعد؟ أمر واحد يفعل كل شيء: `curl -fsSL https://qcode.cc/install/claude-code.sh | bash` (Windows: `irm https://qcode.cc/install/claude-code.ps1 | iex`). راجع [سكربت الإعداد بنقرة واحدة](/docs/getting-started/one-click-install).

تكاد كل أداة برمجة بالذكاء الاصطناعي تستخدم **متغيرات البيئة** لتحديد «أي خدمة تتصل بها، وأي مفتاح تستخدم». وجّه هاتين المعلومتين إلى QCode.cc وسترسل أداتك الطلبات إلينا. تشرح هذه الصفحة أي المتغيرات يجب تعيينها، وأين تعيّنها، وكيف تتحقق منها.

> 📖 لست متأكدًا مما إذا كان ينبغي أن ينتهي `BASE_URL` بـ `/api` أو ببادئة أخرى؟ أي نطاقات الوصول تختار؟ ابدأ بـ [نقاط النهاية ومسارات API](/docs/getting-started/endpoints-and-api-paths). لم تثبّت أدواتك بعد؟ راجع [التثبيت](/docs/getting-started/installation).

## 1. المتغيران الأساسيان (Claude Code وAnthropic SDK)

يتطلب الاتصال بعائلة نماذج Claude متغيري بيئة فقط:

```bash
export ANTHROPIC_BASE_URL="https://api.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_your_key"
```

- **`ANTHROPIC_BASE_URL`** — عنوان الوصول، وينتهي عند البادئة `/api`. ويضيف SDK تلقائيًا `/v1/messages`.
- **`ANTHROPIC_AUTH_TOKEN`** — مفتاح QCode.cc الخاص بك، ويبدأ بـ `cr_`، أُنشئ في [لوحة تحكم QCode.cc](https://qcode.cc/dashboard).

> **حول `AUTH_TOKEN`**: هذا هو الاصطلاح المعتمد لدى الخدمة لمفتاح الترحيل — يوضع مفتاح الترحيل دائمًا في `ANTHROPIC_AUTH_TOKEN` (بدلًا من `ANTHROPIC_API_KEY`، وهو المتغير الذي يستخدمه Anthropic API الرسمي). ويرسله Claude Code كـ Bearer token. وإذا كانت أداتك تتعرف على `ANTHROPIC_API_KEY` فقط، فإن وضع المفتاح نفسه `cr_` هناك يعمل أيضًا.

> **⚠️ بلا شرطة مائلة زائدة**: استخدم `https://api.qcode.cc/api`، **وليس** `https://api.qcode.cc/api/`. يضيف SDK المسار `/v1/messages`، لذا تصبح الشرطة المائلة الإضافية `//v1/messages` وتُرجع 404.

يعمل هذان المتغيران مع كل من Claude Code وحزم SDK الرسمية من Anthropic (Python / TypeScript) — إذ تقرأ SDK المتغير `ANTHROPIC_BASE_URL` أيضًا، أو يمكنك تمرير `base_url=` عند إنشاء العميل.
## 2. الجدول حسب الأداة

تقرأ الأدوات المختلفة متغيرات بيئة مختلفة. طابِق أداتك أدناه:

| الأداة | متغيرات البيئة | القيمة |
|------|----------------------|-------|
| Claude Code | `ANTHROPIC_BASE_URL`<br>`ANTHROPIC_AUTH_TOKEN` | `https://api.qcode.cc/api`<br>`cr_your_key` |
| Anthropic SDK (Python/JS) | `ANTHROPIC_BASE_URL`<br>`ANTHROPIC_AUTH_TOKEN` | `https://api.qcode.cc/api`<br>`cr_your_key` |
| Codex CLI | `base_url` في إعدادات `~/.codex` | `https://api.qcode.cc/openai` |
| الأدوات المتوافقة مع OpenAI | `OPENAI_BASE_URL`<br>`OPENAI_API_KEY` | `https://api.qcode.cc/openai/v1`<br>`cr_your_key` |
| Gemini / Antigravity (غير متاحة حاليًا) | Base URL | `https://api.qcode.cc/gemini` |

بعض الملاحظات:

- **Codex CLI** لا يقرأ `OPENAI_BASE_URL` لتحديد نقطة النهاية؛ بل يستخدم `base_url` في ملف إعدادات `~/.codex` (ينتهي عند `/openai`، ويستخدم بروتوكول OpenAI Responses). للاطلاع على الصيغة الدقيقة راجع [نقاط النهاية ومسارات API](/docs/getting-started/endpoints-and-api-paths).
- **الأدوات المتوافقة مع OpenAI** (SDK OpenAI الرسمي، وLangChain، والعملاء العامّون) تقرأ `OPENAI_BASE_URL` و`OPENAI_API_KEY`، مع Base URL ينتهي عند `/openai/v1`.
- **Gemini / Antigravity** (لا يوفّر QCode نموذج Gemini في الوقت الحالي؛ مرجع البروتوكول فقط): ينتهي Base URL عند `/gemini`؛ ويضيف SDK المسار `/v1beta/` بنفسه. ويعمل المفتاح نفسه `cr_`.

> **مفتاح واحد يعمل عبر البروتوكولات**: مفتاحك `cr_` مستقل عن البروتوكول — `/api` هو Anthropic، و`/openai/v1` هو OpenAI. تبديل الأدوات يعني فقط تبديل BASE_URL؛ ويبقى المفتاح كما هو. لا يوفّر QCode نماذج Gemini في الوقت الحالي.

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

بعد الاتصال، اختر اسم نموذج وفق بروتوكول أداتك (مزيد من التفاصيل في [نقاط النهاية ومسارات API](/docs/getting-started/endpoints-and-api-paths)):

- **نماذج Claude** (الافتراضي اليومي هو السلسلة 5): `claude-sonnet-5` (1M، متوازن)، `claude-opus-5` (1M، الطراز الرائد الحالي)، `claude-fable-5` (1M، الفئة الأعلى)، `claude-sonnet-4-6` / `claude-opus-4-8` / `claude-opus-4-7` (الجيل السابق، ولا يزال معروضًا للبيع)، `claude-haiku-5-5` (1M، الأسرع)
- **عائلة GPT**: `gpt-6.1-sol` (موصى به)، `gpt-6-sol`، `gpt-5.6-terra`، `gpt-5.6-sol`
- **عائلة Gemini**: لا يوفّرها QCode في الوقت الحالي؛ يُرجى استخدام Claude أو GPT أو النماذج الصينية
- **عائلة النماذج الصينية** (GLM / Kimi / DeepSeek / Qwen): `glm-5.3`، `kimi-k3`، `deepseek-v4-pro`، `qwen3.8-max`، والنماذج الشقيقة — راجع [نماذج العائلة الصينية](/docs/usage/cn-models)
- **الصور**: `gpt-image-2` (نقطة النهاية `https://api.qcode.cc/qcode-img/v1`)

> **طول سياق Claude Code**: يستخدم Claude Code افتراضيًا نافذة **200K**؛ وتدعم `claude-opus-5` و`claude-sonnet-5` و`claude-fable-5` و`claude-opus-4-8` و`claude-sonnet-4-6` خيار **سياق 1M**.
## 3. أين تضبطها

يحدد المكان الذي تضبط فيه متغير بيئة نطاقه. ثمة ثلاثة أساليب شائعة:

**① ملف Shell rc (دائم، عام)** — اكتبه في `~/.zshrc` (macOS / zsh) أو `~/.bashrc` (Linux / bash) لتلتقطه كل محطة طرفية جديدة تلقائيًا:

```bash
echo 'export ANTHROPIC_BASE_URL="https://api.qcode.cc/api"' >> ~/.zshrc
echo 'export ANTHROPIC_AUTH_TOKEN="cr_your_key"' >> ~/.zshrc
source ~/.zshrc
```

ويستبدل مستخدمو bash الملف `~/.zshrc` بالملف `~/.bashrc`.

**② ملف `.env` الخاص بالمشروع (دائم، لكل مشروع)** — ضع ملف `.env` في جذر المشروع؛ ينطبق على ذلك المشروع فقط، وهو مفيد لاستخدام مفاتيح مختلفة لكل مشروع:

```bash
ANTHROPIC_BASE_URL=https://api.qcode.cc/api
ANTHROPIC_AUTH_TOKEN=cr_your_key
```

> يحتوي ملف `.env` على مفتاحك — تذكّر إضافته إلى `.gitignore` وعدم إيداعه أبدًا.

**③ إعدادات الأداة نفسها (لكل أداة)** — لدى بعض الأدوات ملف إعدادات خاص بها أو واجهة مستخدم، مثل `~/.codex` الخاص بـ Codex CLI، أو لوحة إعدادات إضافة محرر. تنطبق هذه الإعدادات على تلك الأداة فقط.

**دائم مقابل لكل جلسة**: جميع الأساليب الثلاثة أعلاه **دائمة**. إذا أردت فقط تجربة شيء ما في **جلسة المحطة الطرفية الحالية**، فاكتفِ بـ `export` (macOS/Linux) أو `$env:` (Windows PowerShell) — سيختفي عند إغلاق المحطة الطرفية:

```bash
# macOS / Linux, per-session
export ANTHROPIC_BASE_URL="https://api.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_your_key"
```

```powershell
# Windows PowerShell, per-session
$env:ANTHROPIC_BASE_URL = "https://api.qcode.cc/api"
$env:ANTHROPIC_AUTH_TOKEN = "cr_your_key"
```

> **ملاحظة الأسبقية**: متغيرات البيئة التي تُقرأ عند بدء تشغيل العملية لها أسبقية على ملفات الإعدادات. بعد تحرير ملف Shell rc، تذكّر تنفيذ `source` عليه أو فتح محطة طرفية جديدة؛ وعند ضبط المتغير نفسه في عدة أماكن، يُعتمد المتغير الذي ترثه العملية فعليًا.

## 4. 🇨🇳 ملاحظة لمستخدمي الصين

ينبغي للمستخدمين في البر الرئيسي للصين تبديل مضيف BASE_URL من `api.qcode.cc` إلى `asia.qcode.cc` (عقدة آسيا، الأقرب من بين كوريا / تايوان / هونغ كونغ، أي الأقرب جغرافيًا):

```bash
export ANTHROPIC_BASE_URL="https://asia.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_your_key"
```

الأمر نفسه ينطبق على البروتوكولات الأخرى: تستخدم الأدوات المتوافقة مع OpenAI العنوان `https://asia.qcode.cc/openai/v1`، ويستخدم Codex العنوان `https://asia.qcode.cc/openai`. تقدم نطاقات الوصول الثلاثة جميعها قدرات متطابقة؛ ويعمل المفتاح نفسه عبرها، لذا عُد إلى `api.qcode.cc` (توجيه Route 53 العالمي) إذا كان `asia` غير مستقر. راجع [نقاط النهاية ومسارات API](/docs/getting-started/endpoints-and-api-paths).
## 5. التحقق

بعد ضبط المتغيرات، تأكد أولًا من صحة القيم:

```bash
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN
```

ثم استخدم curl للتأكد من إمكانية الوصول إلى عنوان الوصول (**بدون مفتاح** — لاختبار المسار والشبكة فقط):

```bash
curl -s -o /dev/null -w '%{http_code}' \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  https://api.qcode.cc/v1/models
# → 200 = network, path and key all good
```

**التفسير**: يعني `200` أن الشبكة ونقطة النهاية والمفتاح كلها سليمة. يعني `401` أن المفتاح غير صالح أو لم يُرسَل بشكل صحيح (تحقق من نسخ البادئة `cr_` كاملةً)؛ ويعني `404` عادةً بادئة مسار خاطئة. ملاحظة: الوصول إلى نقطة النهاية **بدون مفتاح** يعيد صفحة تعريف HTML (HTTP 200) بدلًا من خطأ — وإذا ظهرت لك تلك الصفحة فمعنى ذلك أن مفتاحك لم يُرفَق. اختبارات curl الذاتية الكاملة: [نقاط النهاية ومسارات API](/docs/getting-started/endpoints-and-api-paths).

شغّل اختبارًا شاملًا بمفتاحك الفعلي:

```bash
curl -X POST https://api.qcode.cc/api/v1/messages \
  -H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":64,"messages":[{"role":"user","content":"ping"}]}'
```

استجابة JSON عادية تعني أن متغيرات البيئة لديك مضبوطة وأنك جاهز للانطلاق.

> هل تريد فحص النموذج وطول السياق والاستخدام لكل طلب؟ كل نطاق وصول يرسل تقاريره إلى [probe.qcode.cc](https://probe.qcode.cc) — أدخل مفتاحك `cr_` لعرضها.

## 6. المتغيرات المتعلقة بالبوابة

عندما يتواصل Claude Code مع بوابة تابعة لجهة خارجية (بما فيها QCode)، فإن هذه المتغيرات الرسمية مهمة. التعريفات من [مرجع متغيرات البيئة](https://code.claude.com/docs/en/env-vars) و[دليل الاتصال بالبوابة](https://code.claude.com/docs/en/llm-gateway-connect) (تم التحقق في 2026-10-26):

| المتغير | متى يكون مهمًا |
|---|---|
| `ANTHROPIC_DEFAULT_MODEL` | يضبط **النموذج الافتراضي للجلسات الجديدة** (منذ 2.1.236، 2026-08-19). بخلاف `ANTHROPIC_MODEL`: اختيار `/model` داخل الجلسة يتجاوزه ويستمر عبر عمليات إعادة التشغيل، بينما يُعاد تطبيق `ANTHROPIC_MODEL` عند كل تشغيل |
| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` | يتيح لمنتقي `/model` قراءة قائمة نماذج البوابة (معطّل افتراضيًا، لأن البوابات ذات المفتاح المشترك قد تسرد نماذج لا يمكنك استخدامها). مع QCode تعرض القائمة **معرّفات عائلة Claude** (لا تُلتقط إلا الأسماء التي تحتوي على `claude` / `anthropic`)؛ **النماذج الصينية لا تظهر أبدًا** — واصل ضبط `ANTHROPIC_MODEL` / `ANTHROPIC_DEFAULT_MODEL` من أجلها |
| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` | يزيل ترويسة `anthropic-beta` وحقول الأدوات التجريبية. فعّله عندما ترد البوابة بـ `Unexpected value(s) … anthropic-beta` مع رمز 400 |
| `CLAUDE_CODE_AUTO_MODE_SERVER=0` | في الوضع التلقائي، يتوقف عن سؤال الخادم للمراجعة ويستخدم طلبات المصنّف الخاصة بـ Claude Code مباشرةً (لا تعيد QCode نتائج المراجعة من جهة الخادم). ومعه لم تعد تظهر ملاحظة «your requests go through … which isn't compatible»، ولم تعد الجلسة التفاعلية تحتجز أول إجراء يحتاج إلى مراجعة بسبب ذلك. يكتبه مثبّت QCode بنقرة واحدة منذ 2026-10-07. موسوم رسميًا كإجراء مؤقت وقد يُزال في إصدار لاحق — راجع [توافر الميزات](/docs/reference/feature-availability) |
| `CLAUDE_CODE_DISABLE_ARTIFACT=1` | يعطّل أداة Artifact (وبمجرد ضبطه لا تستطيع أي واجهة إعدادات إعادة تشغيلها). أرسلت Claude Code 2.1.265–2.1.267 مخطط أداة ترفضه البوابات الصارمة رفضًا قاطعًا (400)؛ والإصلاح الرسمي هو الترقية إلى ≥2.1.268 — وهذا المتغير حل مؤقت |
| `CLAUDE_CODE_ATTRIBUTION_HEADER=0` | المعنى الرسمي: يزيل كتلة الإسناد (إصدار العميل + بصمة الـ prompt) في أعلى الـ system prompt. **لم نختبر** ما إذا كان تعطيله مفيدًا، وهذه الصفحة لا توصي به — اقرأ الوثائق الرسمية وقرّر |

---

> 💡 ليس لديك مفتاح بعد؟ راجع [كيف تختار خطة](/docs/getting-started/choose-a-plan)، ثم احصل على مفتاحك `cr_` من لوحة التحكم؛ ويعمل المفتاح بالطريقة نفسها أيًا كان الخيار الذي تختاره. أسعار كل نموذج على [qcode.cc/models](https://qcode.cc/models).