# الأسئلة الشائعة

> حلول لأخطاء ومشكلات إعداد LMU AI API الشائعة — 401 / 403 / 429 / 500، احتساب فوترة التوكن، تبديل النماذج، وحل مشكلات Claude Code / Codex CLI.

URL: https://docs.lmuai.com/ar/docs/guide/faq



## المشكلة 1: انقطاع البث / انتهاء المهلة [#issue-1]

**رسالة الخطأ:**

```
stream disconnected before completion: error sending request for url
(https://api.lmuai.com/responses)
```

**السبب:** انقطاع بث كلاسيكي، عادةً بسبب:

* شبكة محلية غير مستقرة (تبديل متكرر بين Wi-Fi / البيانات الخلوية، إشارة ضعيفة، فقدان حزم)
* **VPN / بروكسي / بروكسي النظام قيد التشغيل**: يُدوّر البروكسي عنوان IP الخارج ويقطع الاتصال

**الحل:**

1. **أوقف أي VPN / بروكسي / بروكسي نظام وأعد المحاولة** — LMU AI اتصال محلي مباشر ولا يحتاج إلى VPN
2. تحقق من استقرار شبكتك المحلية؛ بدّل إلى شبكة أكثر موثوقية إذا لزم الأمر

<Callout type="info" title="لا حاجة إلى VPN — الوصول المباشر داخل الصين هو الأسرع">
  بوابة LMU AI مستضافة **داخل البر الرئيسي للصين**، لذا يمكن استدعاؤها مباشرة من شبكة محلية **دون أي VPN أو بروكسي أو حل التفافي**. الاتصال المباشر يعطي أسرع وأثبت النتائج؛ وعلى العكس، فإن VPN أو بروكسي يُدوّر عنوان IP الخارج يميل إلى التسبب في انقطاع البث.
</Callout>

***

## المشكلة 2: خطأ إعادة المحاولة 429 [#issue-2]

**رسالة الخطأ:**

```
exceeded retry limit, last status: 429 Too Many Requests
```

**السبب:** استُنفدت حصتك اليومية.

**الحل:**

1. افتح **My Subscription** وتأكد مما إذا كانت الحصة اليومية قد نفدت
2. إذا احتجت المزيد، اشترِ خطة من **فئة مختلفة**، ثم انتقل إلى مجموعة الخطة الجديدة ضمن **API Keys** في وحدة التحكم

<Callout type="warn" title="التجديد مقابل إضافة الحصة">
  * **لا تشترِ الخطة نفسها** — الخطة نفسها تُجدَّد، ولا تُضيف حصة
  * لإضافة حصة، اشترِ خطة مختلفة (مثلاً بدّل من بطاقة يوم إلى بطاقة شهر)
</Callout>

***

## المشكلة 3: 401 Incorrect API key [#issue-3]

**رسالة الخطأ:**

```
unexpected status 401 Unauthorized: Incorrect API key provided
```

**السبب:** ما زال الطلب يذهب إلى نقطة نهاية OpenAI الرسمية بدلاً من مُرحّلنا.

**الحل:**

1. تأكد من أن كلاً من `config.toml` و `auth.json` قد أُنشئ أو استُبدل بشكل صحيح
2. أعد تشغيل الـ IDE (VS Code / Cursor، إلخ) لإعادة تحميل ملفات الإعداد
3. إذا كنت قد سجّلت الدخول سابقاً بحساب رسمي أو حساب مزود آخر، فسجّل الخروج أولاً، ثم أعد الإعداد

<Callout type="info" title="ماذا تفعل عند مواجهة خطأ">
  التقط لقطة شاشة للخطأ وترجمها — عادةً ما يحدد ذلك السبب بسرعة.
</Callout>

***

## المشكلة 4: النصوص البرمجية مُعطّلة (Windows) [#issue-4]

**رسالة الخطأ:**

```
codex: cannot be loaded because running scripts is disabled on this system.
```

**الحل:** شغّل ما يلي في الطرفية، ثم افتح طرفية جديدة:

```powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```

***

## المشكلة 5: Node.js غير موجود (Windows) [#issue-5]

**رسالة الخطأ:** `CODEX` غير معروف كأمر cmdlet، أو ما شابه

**السبب:** Node.js غير مُثبّت أو أن مسار PATH الخاص به معطوب.

**الحل:** أعد تثبيت Node.js 20+، ثم افتح طرفية جديدة.

***

## المشكلة 6: 503 No available accounts (المتغيرات البيئية تتجاوز المفتاح) [#issue-6]

**رسالة الخطأ:**

```
Error code: 503 - {'error': {'message': 'No available accounts: no available accounts', 'type': 'api_error'}}
```

**السبب:** يُعرّف ملف `~/.zshrc` (أو `~/.bashrc`) المتغيرات `ANTHROPIC_AUTH_TOKEN` / `ANTHROPIC_BASE_URL` / `ANTHROPIC_MODEL`. بمجرد بدء الـ shell، تسري هذه المتغيرات عالمياً وتتجاوز مفتاح API المُعدّ في الـ IDE (Cursor، VS Code، إلخ)، فيستخدم الطلب المفتاح الخاطئ.

**الحل (اختر واحداً):**

**الخيار أ: أزِل المتغيرات من `.zshrc`**

افتح `~/.zshrc` واحذف هذه الأسطر:

```bash
export ANTHROPIC_AUTH_TOKEN="..."
export ANTHROPIC_BASE_URL="..."
export ANTHROPIC_MODEL="..."
```

ثم شغّل `source ~/.zshrc` لتطبيق التغيير، وأعد تشغيل الـ IDE.

**الخيار ب: انقل المتغيرات إلى ملف منفصل، يُحمَّل فقط لواجهة Claude Code CLI**

1. أنشئ `~/.claude_env` مع الأسطر الثلاثة:

```bash
export ANTHROPIC_AUTH_TOKEN="sk-your-lmu-ai-api-key"
export ANTHROPIC_BASE_URL="https://api.lmuai.com"
export ANTHROPIC_MODEL="the-model-you-use"
```

2. احذف تلك الأسطر الثلاثة من `~/.zshrc`.

3. حمّلها يدوياً عند تشغيل Claude Code:

```bash
source ~/.claude_env && claude
```

بهذه الطريقة يستخدم الـ IDE المفتاح من ملف إعداده، وتستخدم واجهة Claude Code CLI المتغيرات البيئية، دون تداخل بينهما.

***

## المشكلة 7: 400 Invalid signature in thinking block (تبديل النماذج عبر المجموعات) [#issue-7]

**رسالة الخطأ:**

```
upstream error: 400 messages.<index>.content.<index>:
Invalid `signature` in `thinking` block
```

**السبب:** عندما يُنشئ التفكير الموسّع (Extended Thinking) في Claude كتلة `thinking`، فإنه يُرفق بها **توقيعاً مُشفّراً** مرتبطاً ارتباطاً وثيقاً بـ**الحساب العلوي المحدد** الذي أنتجها. إذا **بدّلت النماذج عبر المجموعات** ضمن محادثة واحدة (مثلاً من `claude-sonnet-5` في مجموعة "Claude-Pro direct" إلى `claude-fable-5` في مجموعة "Claude-MAX high-multiplier")، يُرسل العميل السجل السابق (بما في ذلك كتلة التفكير الموقّعة) إلى الحساب العلوي في المجموعة الجديدة. تستخدم المجموعات المختلفة **حسابات علوية مختلفة** ولا يمكنها التحقق من توقيع أصدره حساب آخر، فتُرجع 400.

**المحفّزات النموذجية:**

* يدعم العميل تبديل النماذج في منتصف المحادثة ويحمل السجل السابق كاملاً
* المجموعتان قبل التبديل وبعده تأتيان من **حسابات علوية مختلفة** (مثلاً "مجموعة مباشرة" ↔ "مجموعة مُرحّل / MAX عالية المضاعف")

**الحل (أي واحد):**

1. **ابدأ محادثة جديدة عند تبديل المجموعات** — عدم حمل أي سجل قديم هو أبسط الحلول وأكثرها موثوقية.
2. **التزم بمجموعة واحدة لكل محادثة** — إذا احتجت إلى تعاون متعدد النماذج، فبدّل ضمن المجموعة نفسها (الحساب العلوي نفسه).
3. **جرّد كتل التفكير من السجل** — إذا كان العميل يدعم تحرير السجل، فأزِل كتل `thinking` قبل تبديل المجموعات.

<Callout type="info" title="لماذا لا تساعد إعادة المحاولة؟">
  هذا **خطأ عميل 4xx غير قابل للاسترجاع ناجم عن توقيع غير صالح**. بمجرد أن تكتشفه البوابة، تُمرّر الـ 400 مباشرة إلى العميل ولا تعيد المحاولة تلقائياً على حساب آخر — لأن أي حساب علوي غير متطابق سيفشل بالطريقة نفسها.
</Callout>

***

## المشكلة 8: 400 Unknown parameter: 'tools\[0].n' (إرسال tools إلى نقطة نهاية صور) [#issue-8]

**رسالة الخطأ:**

```
400 - {'error': {'code': 'unknown_parameter', 'message': "Unknown parameter: 'tools[0].n'.", 'param': 'tools[0].n', 'type': 'invalid_request_error'}}
```

**نقاط النهاية المتأثرة:** `/v1/images/generations`، `/v1/images/edits` (توليد / تعديل الصور).

**السبب:** أدرج العميل مصفوفة `tools` في جسم طلب الصورة، مع حقل `n` داخل `tools[0]`. نقاط نهاية الصور في OpenAI &#x2A;*لا تقبل `tools`** (استدعاءات الأدوات تخص نقاط نهاية Chat / Responses؛ ولا يوجد مثل هذا المفهوم في نقاط نهاية الصور)، لذا يرفضها الحساب العلوي بـ 400.

عادةً ما يأتي هذا من عميل / غلاف SDK معطوب يضع "عدد الصور `n`" في المكان الخاطئ — متداخلاً في `tools[0].n`، أو منسوخاً من قالب طلب Chat.

**الحل:**

1. **أزِل حقل `tools` من جسم الطلب** — لا يدعم توليد `generations` / تعديل `edits` الصور استدعاءات الأدوات؛ أسقط الحقل بالكامل.
2. **لتوليد عدة صور، ضع العدد في `n` على المستوى الأعلى** — فقط `/v1/images/generations` يدعم `n` (عدة صور لكل استدعاء)؛ أما `/v1/images/edits` فلا، لذا أسقط `n` هناك.
3. **تحقق من إصدار SDK للعميل** — إذا كان غلاف يبني المعاملات تلقائياً، فحدّثه أو استبدله كي لا يطبّق قالب Chat على نقاط نهاية الصور.

<Callout type="info" title="لماذا لا يساعد تبديل الحسابات / إعادة المحاولة؟">
  هذا خطأ عميل 4xx ناجم عن **جسم طلب غير صالح**، لا علاقة له بالحساب العلوي أو المجموعة — تُمرّر البوابة الطلب كما هو، وأي حساب يُرجع الـ 400 نفسه. يجب أن تُصلح معاملات الطلب التي يرسلها العميل.
</Callout>

***

## المشكلة 9: هل أحتاج إلى VPN؟ [#issue-9]

**لا.** بوابة LMU AI مستضافة **داخل البر الرئيسي للصين**، ويمكن استدعاء `api.lmuai.com` مباشرة من شبكة محلية دون أي VPN أو بروكسي أو حل التفافي.

على العكس، فإن VPN أو بروكسي يُدوّر عنوان IP الخارج يميل إلى التسبب في انقطاع البث (راجع [المشكلة 1](#issue-1)). الاتصال المحلي المباشر يعطي أسرع وأثبت النتائج.

***

## المشكلة 10: 401 API\_KEY\_REQUIRED (لا يرسل Codex أي مفتاح) [#issue-10]

**رسالة الخطأ:**

```
unexpected status 401 Unauthorized: {"code":"API_KEY_REQUIRED","message":"API key is required in Authorization header (Bearer scheme), x-api-key header, or x-goog-api-key header"}, url: https://api.lmuai.com/responses, request id: ...
```

**السبب:** خلل في Codex — عندما يستخدم مزود نموذج مخصص `wire_api = "responses"`، فإن الطلب الذي يرسله Codex **لا يحمل أي مفتاح API على الإطلاق** (لا يُرسَل أي من `Authorization`، `x-api-key`، `x-goog-api-key`)، فلا تجد البوابة أي مفتاح وتُرجع 401 `API_KEY_REQUIRED`.

لاحظ أن هذا يختلف عن `Incorrect API key provided` في [المشكلة 3](#issue-3): تلك ترسل مفتاحاً خاطئاً (عادةً لأن الطلب ذهب إلى نقطة نهاية OpenAI الرسمية بدلاً من مُرحّل LMU AI)، بينما هذه **لا ترسل أي مفتاح على الإطلاق**.

**الحل:** افتح `~/.codex/config.toml`، ابحث عن قسم مزود النموذج `[model_providers.<ID>]` (عادةً `[model_providers.codex]` إذا اتبعت دليل هذا الموقع)، وأضف `requires_openai_auth = true` داخله:

```toml
[model_providers.codex]
name = "codex"
base_url = "https://api.lmuai.com"
wire_api = "responses"
requires_openai_auth = true
```

احفظ، أعد فتح الطرفية، وأعد تشغيل Codex.

<Callout type="info" title="المستخدمون الذين اتبعوا دليل هذا الموقع غير متأثرين">
  كل دليل Codex على هذا الموقع ([Mac](/ar/docs/tools/codex-cli-mac) / [Windows](/ar/docs/tools/codex-cli-windows) / [Server](/ar/docs/tools/codex-cli-server) / [Codex App](/ar/docs/tools/codex-app)) يتضمن بالفعل `requires_openai_auth = true` في مثال `config.toml` الخاص به. إذا واجهت هذا الخطأ، فمن المرجح أن إعدادك نُسخ من دليل أقدم أو مصدر آخر أغفل هذا السطر — أضفه كما هو موضح أعلاه.
</Callout>

***

## ما زلت عالقاً؟ [#ما-زلت-عالقاً]

إذا ظلت بيئة خاصة تعيقك أثناء التثبيت أو الإعداد، تواصل مع الدعم:

* أضف الدعم على WeChat
* تواصل مع الدعم على Xianyu (闲鱼)

> ساعات المساعدة عن بُعد: **بعد الساعة 2 ظهراً** (تُقضى الأوقات الصباحية في حل عمليات إعداد البيئات المعقدة عن بُعد).
>
> إذا احتجت إلى مساعدة عن بُعد، فنزّل **NetEase UU Remote** أولاً وأرسله للدعم؛ يجري الإرشاد التقني والمساعدة عن بُعد بعد ظهراً بعد الساعة 2.
