> ## Documentation Index
> Fetch the complete documentation index at: https://comfyui-mcp.artokun.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# النماذج المحلية والوكلاء الآخرون

> دعم من الدرجة الأولى لـ Hermes Agent وOpenClaw وCopilot CLI — إضافةً إلى أي عميل MCP على نموذج محلي (Ollama) أو مستضاف. إعداد بأمر واحد، ووضع أدوات مضغوط يطوي نحو 200 مخطط أداة في 3 أدوات وصفية.

`comfyui-mcp` خادم MCP قياسي عبر stdio، لذا **يستطيع أي وكيل قادر على MCP قيادته**
— لا Claude Code فقط. تغطّي هذه الصفحة البيئات التي ندعمها من الدرجة الأولى
(**Hermes Agent وOpenClaw وCopilot CLI**)، وما يحتاج نموذجك إلى إحضاره، و**وضع
الأدوات المضغوط** الذي يجعل النماذج الصغيرة/المحلية قابلة للعمل.

## متطلبات النموذج

كن صريحًا مع نفسك بشأن النموذج الذي تحضره. الحد الأدنى للمواصفات لتجربة *كاملة*
هو نموذج بـ **استدعاء أدوات + تفكير + رؤية**:

| القدرة                                  | بدونها                                                                                                                                                                                              |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **استدعاء الأدوات** (استدعاء دوال أصلي) | **لن يعمل.** كل إجراء في comfyui-mcp استدعاء أداة. واستدعاء الأدوات المحاكى بالموجّه في بعض البيئات يعمل تقنيًا، لكن الموثوقية تنهار — عامله كغير مدعوم.                                            |
| **التفكير / الاستدلال**                 | يعمل، متدهورًا. تسوء السلاسل متعدّدة الخطوات (اختر أداة → اجلب المخطط → ابنِ الوسائط → تعافَ من الأخطاء) بوضوح؛ توقّع أن يحتاج الوكيل إلى إعادة توجيه/تنبيه.                                        |
| **الرؤية**                              | يعمل، متدهورًا. يستطيع الوكيل التوليد لكنه لا يستطيع *الرؤية* — حلقات نقد `get_image (action:"view")`، و`get_workflow (action:"from_image")`، والمقارنات البصرية غير متاحة، فيطير أعمى على مخرجاته. |

تتغيّر النماذج المستضافة التي تناسب المواصفات الكاملة شهريًا — راجع بطاقة نموذج
مزوّدك للقدرات الثلاث بدل الوثوق بقائمة. اعتبارًا من منتصف 2026: **Xiaomi
MiMo-V2.5** (رؤية + أدوات + سياق طويل) يناسب المواصفات الكاملة بثمن رخيص؛
ونماذج فئة **DeepSeek-V3.x / GLM / MiniMax** لديها استدعاء أدوات + تفكير قويان
لكن المتغيرات النصية فقط تفقد حلقة الرؤية؛ وتحتفظ النماذج المحلية الصغيرة
(أدناه) عادة باستدعاء الأدوات وتسقط الباقي.

## وضع الأدوات المضغوط

السطح الكامل 37 أداة بمخططات JSON غنية (نحو 200 كيلوبايت، تقريبًا 50 ألف رمز،
لكل `tools/list`). تحقن معظم البيئات غير Claude كل مخطط مسجَّل مباشرة في سياق
النموذج — مقبول للنماذج الطليعية، قاتل لنموذج محلي 4B. و**وضع الأدوات المضغوط**
يسجّل بالضبط **ثلاث أدوات وصفية** ويبقي الكتالوج الحقيقي خلفها:

| الأداة الوصفية  | ما تفعله                                                                                                       |
| --------------- | -------------------------------------------------------------------------------------------------------------- |
| `list_tools`    | كتالوج خفيف الرموز: اسم كل أداة + ملخّص بسطر، مجمَّع حسب الفئة. يدعم مرشّحي `category` و`search`.              |
| `describe_tool` | وصف كامل + مخطط JSON لأداة واحدة، يُجلَب فقط عند الحاجة.                                                       |
| `call_tool`     | تشغّل أي أداة في الكتالوج: `{"name": "generate_image", "args": {...}}`. تُرجع بالضبط ما تُرجعه الأداة التحتية. |

حلقة النموذج: `list_tools` → اختر → `describe_tool` → `call_tool`.
تدخل المخططات السياق أداة واحدة في كل مرة. والأدوات الوصفية متسامحة عمدًا مع
غرائب النماذج الصغيرة: يجوز أن يكون `args` كائنًا **أو** سلسلة مرمَّزة بـ JSON،
وتُقبل أسماء حقول شائعة (`tool_name`، `arguments`)، وتعود أخطاء التحقّق بالمخطط
المتوقع حتى يستطيع النموذج تصحيح نفسه بدل الموت على خطأ بروتوكول مبهم.

الوضع المضغوط **اختياري** — السطح المباشر هو الافتراضي، لذا يحتاج نموذج صغير إلى
واحد من هذه (تتفوّق الراية على متغيّر البيئة):

```bash theme={null}
npx -y comfyui-mcp --compact
# or
COMFYUI_MCP_TOOL_MODE=compact npx -y comfyui-mcp
```

يناسب الافتراضي بيئات النماذج الطليعية (Claude Code / Cursor / Claude Desktop)،
التي يتعامل عملاؤها مع قوائم أدوات كبيرة جيدًا. وما يزال `--full` مقبولًا وهو
الآن بلا أثر.

### الاختيار التلقائي: حسب النموذج، لا المزوّد

في خلفيات النماذج المحلية في اللوحة (Ollama / LM Studio / llama.cpp /
المتوافق مع OpenAI)، حين **لم تختر وضعًا**، يختار *النموذج* واحدًا:

* نموذج يحمل معرّفه عدد معاملات عند **70B** أو أعلى
  (`llama3.3:70b`، `gpt-oss:120b`، `mixtral:8x22b`) يحصل على السطح **الكامل**؛
* أي شيء أصغر يبقى **مضغوطًا**؛
* معرّف نموذج بلا عدد معاملات مقروء (`moonshotai/kimi-k2.5`) يُعامَل
  **مجهولًا**، لا صغيرًا، ويحصل على التراجع المضغوط الموثَّق.

«Ollama ⇒ مضغوط» سيكون خاطئًا في الاتجاهين — يتحمّل نموذج محلي 70B السطح الكامل
وسيُعوَّق بلا داعٍ، وتريد بعض النماذج المستضافة الصغيرة الوضع المضغوط. لذا
فالإشارة هي النموذج.

**اختيارك يتفوّق دائمًا، في الاتجاهين.** يفرض `COMFYUI_MCP_TOOL_MODE=full` السطح
الكامل على نموذج 4B؛ ويفرض `COMFYUI_MCP_TOOL_MODE=compact` الموجّه على نموذج
405B. ولا يملأ الاختيار التلقائي إلا الفجوة حيث لم يُختَر شيء.

وعتبة 70B محافظة عمدًا: إنها الرقم الوحيد الذي أكّده أحد فعلًا عن هذا المحور،
فلا يُرقَّى شيء على تخمين. يخفضها `COMFYUI_MCP_FULL_SURFACE_MIN_PARAMS_B=30`
إن أردت إيجاد أين سقف عتادك فعلًا.

**يتبع موجّه النظام الوضع**. يقول الموجّه المضغوط للنموذج إن لديه ست أدوات ويوجّه
ComfyUI عبر `call_tool`؛ وحين يُختار السطح الكامل يكون ذلك ببساطة غير صحيح، لذا
يقول موجّه الوضع الكامل إن أدوات ComfyUI معلَنة مباشرة ويبقي وصف الموجّه لـ
`panel_*` فقط. والاختيار التلقائي للكامل مع إنكار وجود الأدوات أسوأ من الافتراضي
الذي استبدله.

يُطبَع الوضع النشط **وسببه** على سطر جاهزية الخلفية، مثل `Tool mode: compact —
chosen for this MODEL: "qwen3:4b" is ~4B parameters, below the 70B full-surface
threshold…`، فلا يبقى الذراع خفيًا مجددًا.

<Note>
  يغطّي هذا الاختيار التلقائي مسار النماذج المحلية في اللوحة. ويبقى مسار HTTP لـ
  Codex / Gemini / Grok / Copilot مثبَّتًا على المضغوط لسبب مختلف — فميزانيات
  أدواتها تزاحم أدوات `panel_*` وإلا — وافتراضي خادم MCP المستقل دون تغيير.
</Note>

## إدخال الصوت

**على خلفية `ollama` (`/api/chat` الأصلي)**، يصل الصوت إلى النموذج فقط حيث يبلّغ
النموذج فعلًا أنه يستطيع السماع. قبل الإرسال، تسأل الخلفية `POST /api/show` عن
قدرات ذلك النموذج:

```bash theme={null}
ollama pull gemma4:e2b      # capabilities: completion, vision, audio, tools, thinking
```

إن لم تكن للنموذج المختار قدرة `audio`، يُ**رفَض المرفق بصوت عالٍ** — بقائمة
القدرات التي بلّغ عنها الخادم وأمر سحب لنموذج يستطيع السماع — بدل إسقاطه في
الطلب حيث يجيب النموذج من نصك وحده. وينطبق الأمر نفسه على ملف ليس بصيغة صوت، أو
حاضر لكنه صفر بايت.

تسليم البايتات ليس المهمة كلها تمامًا. قيس حيًّا ضد `gemma4:e2b`: مع وجود WAV
بوضوح في السياق (555 رمز موجّه، و`/api/show` يبلّغ عن `audio`)، أجاب النموذج مع
ذلك *«ليست لدي القدرة على تفريغ الصوت — وظائفي محدودة بتشغيل ComfyUI»*. يصوّره
موجّه نظام اللوحة كمشغّل مخطط ويستدل نموذج صغير نفسه خارج حسّ يملكه فعلًا. لذا
يحمل دور صُودق على صوته وأُرفق أيضًا ملاحظة قصيرة تخبر النموذج أن الصوت هناك
وأنه ينبغي أن يجيب مما يسمع. وبتلك الملاحظة فرّغ النموذج نفسه بشكل صحيح في أربع
تشغيلات من أربع.

**على الخلفيات المتوافقة مع OpenAI** (LM Studio وllama.cpp وOpenRouter
والمخصّصة) لا توجد نقطة نهاية قدرة للسؤال. يُرسل الصوت كجزء محتوى `input_audio`
ويحمل الدور سطرًا صريحًا *«لا أستطيع تأكيد أن النموذج يستقبلها فعلًا»*. والرفض
سيحرم الصوت عن كل نقطة نهاية ليس لديها واجهة قدرة فحسب؛ وحارس لا يستطيع العمل
ليس حكمًا — لكنه أيضًا ليس تأكيدًا، والصياغة تقول ذلك.

راجع [الخلفيات ← إدخال الصوت](/docs/docs/ar/backends#إدخال-الصوت--أي-الخلفيات-بصراحة)
لما يفعله كل مزوّد آخر.

## إعداد بأمر واحد

يكتب `comfyui-mcp setup <agent>` مدخل الخادم في ملف إعدادات البيئة نفسها (دامجًا
مع ما هو هناك أصلًا — الخوادم الموجودة، والتعليقات في YAML، كلها محفوظة):

```bash theme={null}
npx -y comfyui-mcp setup hermes     # → ~/.hermes/config.yaml      (compact by default)
npx -y comfyui-mcp setup openclaw   # → ~/.openclaw/openclaw.json  (compact by default)
npx -y comfyui-mcp setup copilot    # → ~/.copilot/mcp-config.json (full by default)
```

الرايات: يتجاوز `--compact` / `--full` الافتراضي لكل وكيل، ويضمّن
`--comfyui-url <url>` هدف ComfyUI لديك (محلي أو شبكة محلية أو رابط وكيل
RunPod)، ويطبع `--dry-run` الإعداد المدمج بدل كتابته.

## Hermes Agent

```bash theme={null}
npx -y comfyui-mcp setup hermes --comfyui-url http://127.0.0.1:8188
```

الذي ينتج هذا في `~/.hermes/config.yaml` (أضِفه يدويًا إن فضّلت):

```yaml theme={null}
mcp_servers:
  comfyui:
    command: "npx"
    args: ["-y", "comfyui-mcp", "--compact"]
    env:
      COMFYUI_URL: "http://127.0.0.1:8188"
```

أعد التحميل بـ `/reload-mcp` (أو أعد تشغيل Hermes). ويسبق Hermes الأدوات، فيرى
النموذج `mcp_comfyui_list_tools` و`mcp_comfyui_describe_tool` و
`mcp_comfyui_call_tool` — ثلاثة تعريفات في السياق بدل مئتين.

<Note>
  على نموذج طليعي (عبر Nous Portal / OpenRouter) تستطيع إعادة تشغيل الإعداد مع
  `--full` واستخدام قائمة السماح `tools.include` الخاصة بـ Hermes اختياريًا.
  والمضغوط هو الافتراضي الصحيح لأي شيء أصغر.
</Note>

يشحن Hermes أيضًا *مهارة* `comfyui` مضمَّنة تقود ComfyUI عبر REST خام من سكربتات
Python. تعمل، لكنها أقدم من هذا الخادم — يحصل مسار MCP على تأليف/تحقّق مسارات
سير العمل، وإدارة النماذج والعقد المخصّصة، وحزم التثبيت، والتحكّم في قائمة
الانتظار، والتشخيص الذاتي. عطّل المهارة إن ظل الوكيل يمدّ يده إليها بدل أدوات
MCP.

## OpenClaw

```bash theme={null}
npx -y comfyui-mcp setup openclaw
```

الذي ينتج هذا في `~/.openclaw/openclaw.json`:

```json theme={null}
{
  "mcpServers": {
    "comfyui": {
      "command": "npx",
      "args": ["-y", "comfyui-mcp", "--compact"],
      "transport": "stdio"
    }
  }
}
```

أعد تشغيل بوابة OpenClaw لتلتقط الخادم. وتوصي وثائق OpenClaw بإبقاء عدد أدوات
MCP منخفضًا — وهذا بالضبط ما وُجد الوضع المضغوط من أجله، ولماذا هو الافتراضي
هنا.

## Copilot CLI

```bash theme={null}
npx -y comfyui-mcp setup copilot
# or use Copilot's own command:
copilot mcp add comfyui -- npx -y comfyui-mcp
```

الذي ينتج هذا في `~/.copilot/mcp-config.json`:

```json theme={null}
{
  "mcpServers": {
    "comfyui": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "comfyui-mcp"],
      "env": {},
      "tools": ["*"]
    }
  }
}
```

يشغّل Copilot CLI نماذج طليعية، لذا يفترض الإعداد سطح الأدوات **الكامل**
(مرّر `--compact` إن كنت توجّه Copilot إلى نموذج أصغر). تحقّق منه بـ `/mcp show`
داخل `copilot`.

## نماذجنا المحلية المضبوطة (مجانية، موصى بها)

إن أردت تشغيل الوكيل **محليًا مجانًا**، ابدأ من هنا. ضبطنا عائلة Gemma 4 خصيصًا
لـ comfyui-mcp: درِّبت بـ QLoRA على **1,055 مسار استخدام أدوات متحقَّقًا من
الخادم** وُلِّدت ضد ComfyUI حيّ — تغطّي **سطح الأدوات الكامل البالغ 178**
(113 MCP + 65 أداة لوحة) — فيعرف النموذج مجموعة الأدوات هذه أصلًا بدل لقائها
باردة.

```bash theme={null}
# 1. Install Ollama (once):  https://ollama.com/download
# 2. Pull the size that fits your GPU:
ollama pull artokun/gemma4-comfyui-mcp:e4b     # default — ~3.5 GB VRAM at q4
ollama pull artokun/gemma4-comfyui-mcp:12b     # ~8 GB VRAM
ollama pull artokun/gemma4-comfyui-mcp:e2b     # smallest — ~2 GB VRAM (see caveat)
```

**مقيس، لا موعود** — درجات [حلبة النماذج اللغوية](/docs/docs/ar/arena) على سلّم
السيناريوهات العشرة الحقيقي (أفضل من 3، كل نتيجة متحقَّق منها مقابل خادم ComfyUI
حيّ، RTX 4090):

| الوسم       | ذاكرة VRAM (q4)  | درجة الحلبة                                  | مقابل الأصلي             |
| ----------- | ---------------- | -------------------------------------------- | ------------------------ |
| `:e4b`      | نحو 3.5 غيغابايت | **14/20** (13–14) — أفضل نموذج محلي اختبرناه | gemma4:e4b الأصلي: 12/20 |
| `:12b`      | نحو 8 غيغابايت   | 13/20 (12–13)                                | 12b الأصلي غير مقيَّم    |
| `:e2b` (v2) | نحو 2 غيغابايت   | 10/20 (7–10)                                 | gemma4:e2b الأصلي: 8/20  |

كل درجة تتفوّق الآن على أساسها الأصلي. أعاد تدريب `:e2b` v2 (تدريب بمنظرين:
استدعاءات أدوات مباشرة **و** غلاف الموجّه المنشور) إصلاح تراجع تنسيق `call_tool`
في v1 — صفر أغلفة مشوَّهة عبر تشغيلات الحكم. وتقف إرشادات الحجم: `:e4b` هي
النقطة المثلى (نحو 1.5 غيغابايت فقط أكثر من e2b و+4 على الحلبة)؛ و`:e2b` صار
اختيارًا شرعيًا لذاكرة VRAM الضيقة؛ ويشتري `:12b` ثباتًا على المهام الطويلة
متعدّدة الخطوات، لا درجة خامًا.

| الوسم  | الأساس      | ذاكرة VRAM (q4)  | ملاحظات                                        |
| ------ | ----------- | ---------------- | ---------------------------------------------- |
| `:e4b` | Gemma 4 E4B | نحو 3.5 غيغابايت | **الافتراضي** — أفضل توازن حجم/جودة            |
| `:e2b` | Gemma 4 E2B | نحو 2 غيغابايت   | يفكّر بإسهاب — اسمح بـ `max_tokens` سخي (≥512) |
| `:12b` | Gemma 4 12B | نحو 8 غيغابايت   | أقوى درجة                                      |

**تفترض** خلفية Ollama في اللوحة **`:e4b`** — اختر **Ollama (محلي)** في أداة
اختيار الخلفية ويعمل فور سحب النموذج. بلا حساب، بلا مفتاح API، بلا تكلفة لكل رمز.

**نافذة السياق:** تشحن الوسوم نافذة **65,536 رمزًا** مخبوزة، ويذعن المنسّق لها
(تحصل النماذج الأصلية على 16 ألفًا). وتدعم المعمارية حتى **128 ألفًا**
(`:e2b`/`:e4b`) و**256 ألفًا** (`:12b`) — ارفعها بـ
`COMFYUI_MCP_OLLAMA_NUM_CTX=131072` إن كانت لديك ذاكرة VRAM (تنمو ذاكرة KV مع
النافذة). إن بدأ الوكيل «ينسى» أثناء المحادثة، راقب سجل المنسّق: يحذّر حين يملأ
دور ≥85% من النافذة. الأوزان ومحوّلات LoRA وأنبوب التدريب مفتوحة:
[`artokun/gemma4-comfyui-mcp`](https://huggingface.co/artokun/gemma4-comfyui-mcp)
(مجموعة البيانات: [`artokun/comfyui-mcp-trajectories`](https://huggingface.co/datasets/artokun/comfyui-mcp-trajectories)).

## LM Studio

تتحدث اللوحة LM Studio أصليًا: اختر **LM Studio** في أداة اختيار الخلفية ويقود
المنسّق خادمه المحلي (`http://127.0.0.1:1234/v1`، تجاوز بـ
`COMFYUI_MCP_LMSTUDIO_HOST`). الإعداد نقرتان: ثبّت من
[lmstudio.ai](https://lmstudio.ai)، ثم **Developer ← Start Server** مع
**نموذج يدعم استدعاء الأدوات** محمَّل. وتعكس أداة اختيار النموذج ما يقدّمه
الخادم؛ وبلا افتراضي مضبوط، يُعتمَد أول نموذج يُخدم تلقائيًا. ويدير المنسّق
**دورة الحياة الكاملة** بلا يد: يبدأ الخادم تلقائيًا عند الحاجة، ويحمّل نموذجك
عند الطلب، ويحرّر ذاكرة VRAM الخاصة به أثناء معالجة ComfyUI (تُحبَس المحادثة
ويُجاب عنها عند انتهاء المعالجة)، ويفرغ النموذج المغادر عند تبديل نموذج، ويحرّر
كل شيء حين تنتقل إلى مزوّد مختلف.

تعمل ملفات GGUF المضبوطة لدينا هنا أيضًا — ابحث عن `artokun/gemma4-comfyui-mcp`
في منزّل نماذج LM Studio وخذ `model-q4_k_m.gguf`. توقّع وقفة التحميل البارد عند
الطلب نفسها التي لدى Ollama في الرسالة الأولى (30 ثانية+ أمر طبيعي).

## llama.cpp (llama-server)

تشغّل `llama.cpp` خامًا؟ اختر **llama.cpp** في أداة اختيار الخلفية — يقود
المنسّق نقطة نهاية `llama-server` المتوافقة مع OpenAI
(`http://127.0.0.1:8080/v1`، تجاوز بـ `COMFYUI_MCP_LLAMACPP_HOST`):

```bash theme={null}
llama-server -m gemma4-comfyui-mcp-e2b.Q4_K_M.gguf -c 16384
```

ملاحظات من الميدان: السياق **راية إطلاق** (`-c`) — يحذّر الوكيل إن عمل الخادم
تحت 16 ألفًا (تحتاجها حمولة الأدوات). واستدعاء الأدوات مفعَّل افتراضيًا في
البناءات الحالية؛ **تحتاج البناءات الأقدم إلى `--jinja`** (تكتشف اللوحة خادمًا
عاجزًا عن الأدوات عند الاتصال وتقول ذلك بالضبط). ويُعتمَد النموذج المحمَّل
الواحد تلقائيًا — بلا حاجة إلى اختيار.

على جهاز بوحدة GPU واحدة ينضم **llama-server محلي** (أو llama-swap أمامه) إلى
تسليم ذاكرة VRAM نفسه الذي لدى Ollama وLM Studio: أثناء معالجة ComfyUI، تُحبَس
محادثتك ويُجاب عنها لحظة انتهاء المعالجة. ولأن llama-server لا واجهة تفريغ لديه
(ويبدّل llama-swap النماذج أعلى الطلب)، فالتسليم حبس فقط — لا شيء يُفرَّغ أو
يُدفَّأ صراحة. و`COMFYUI_MCP_LLAMACPP_HOST` **بعيد** وحدة GPU لشخص آخر ولا
يُبوَّب أبدًا. والتسليم مفعَّل افتراضيًا للخلفيات المحلية الثلاث؛ انسحب بـ
`COMFYUI_MCP_PAUSE_LOCAL_ON_GEN=0` (ما يزال
`COMFYUI_MCP_OLLAMA_PAUSE_ON_GEN=0` القديم محترمًا).

## نقطة النهاية المخصّصة (أي خادم متوافق مع OpenAI)

أي شيء يتحدّث `/v1/chat/completions` — vLLM أو DeepSeek أو Together أو Azure
OpenAI أو llama-server على جهاز آخر أو بوابة شركتك — يُوصَل كمزوّد **نقطة
النهاية المخصّصة**:

1. إعدادات ComfyUI ← **Comfy MCP Agent ← نقطة النهاية المخصّصة** ← اضبط
   **الرابط الأساسي لنقطة النهاية** (ضمِّن `/v1`، مثل `http://192.168.1.20:8000/v1`).
2. إن كان الخادم يحتاج مفتاحًا: **تعيين مفتاح API…** — إدخال مخفي؛ يُخزَّن المفتاح
   `0600` لدى المنسّق في `~/.comfyui-mcp`، لا في إعدادات ComfyUI ولا في المحادثة.
3. اختر **نقطة النهاية المخصّصة** في أداة اختيار الخلفية واتصل.

تأتي قائمة النماذج من `/v1/models` لدى الخادم؛ وتُعتمَد خوادم النموذج الواحد
تلقائيًا، أو اضبط معرّف **نموذج افتراضي** صراحة لنقاط النهاية التي لا تسرد
نماذج. مخارج البيئة: `COMFYUI_MCP_CUSTOM_BASE_URL`،
`COMFYUI_MCP_CUSTOM_MODEL`، `COMFYUI_MCP_CUSTOM_API_KEY`. ويجب أن يدعم النموذج
**استدعاء الأدوات**.

## Ollama والنماذج المحلية — حلبة النماذج اللغوية

أي بيئة MCP تتحدّث إلى Ollama (أو نقطة نهاية متوافقة مع OpenAI) تستطيع قيادة
الوضع المضغوط بنموذج محلي. وتعيش بيئتان قابلتان للتكرار في المستودع:
`npm run test:local-llm` (فحص سريع لنموذج واحد) و
`node scripts/llm-arena.mjs` — **حلبة النماذج اللغوية لـ ComfyUI**، التي تشغّل
حقل نماذج عبر مجموعة مهام متطابقة ضد ComfyUI *حيّ* وتتحقّق من كل نتيجة مقابل
الخادم، لا ادّعاءات النموذج.

درجات الفئة المحلية على سلّم السيناريوهات العشرة الكامل (RTX 4090، ComfyUI
0.27، درجة حرارة 0 — راجع [صفحة الحلبة](/docs/docs/ar/arena) لسلّم المهام ولوحة
المتصدّرين لكل الفئات بما فيها الطليعة والمستضافة):

| النموذج           | الحجم        | الدرجة /20                          |
| ----------------- | ------------ | ----------------------------------- |
| `qwen3:4b`        | 2.6 غيغابايت | **13**                              |
| `gemma4:e4b`      | 9.6 غيغابايت | **12**                              |
| `qwen3:8b`        | 5.2 غيغابايت | **11**                              |
| `gemma4:e2b`      | 7.2 غيغابايت | **8**                               |
| `llama3.1:8b`     | 4.9 غيغابايت | **2**                               |
| `gemma3` (أي حجم) | —            | ❌ لا استدعاء أدوات أصلي — غير مدعوم |

الخلاصات: تتجاوز فئة qwen3/gemma4 مهام الأداة الواحدة بثبات (الصحة، والنماذج
المثبَّتة، والبحث في السجل، وقائمة الانتظار) وتلتقط نقاطًا على النطاقات الأصعب،
لكن تركيب المخطط متعدّد المراحل (مخطط واحد بمخرجين متسلسلين، وأنبوب img2img على
مرحلتين متدرّج) ما يزال إقليم الطليعة/فئة B. وتنهار انضباطية تنسيق أدوات
llama3.1:8b على هذا الكتالوج (يخترع أسماء أدوات ويطبع JSON استدعاء الأدوات
كنص). وشحنت Gemma 4 استدعاء دوال أصليًا عبر العائلة (Ollama ≥ v0.20)؛ و`e4b`
أو أكبر هي النقطة المثلى.

تذكّر سلّم القدرات أعلاه: تحتفظ هذه النماذج الصغيرة باستدعاء الأدوات لكن لديها
رؤية وتفكير محدودان/معدومان، فتقدر على التوليد وإدارة مسارات سير العمل لكنها لا
تستطيع نقد النتائج بصريًا.

## اللوحة الجانبية على نموذج محلي

يكتسب [وكيل اللوحة](/docs/docs/ar/panel) **خلفية Ollama** إلى جانب Claude /
ChatGPT / Gemini: اختر **Ollama (محلي)** في أداة اختيار الخلفية ويقود المنسّق
مخططك الحيّ بنموذج محلي — بلا حساب، بلا مفتاح API، دون اتصال بالكامل. يرى
النموذج موجّه الأدوات الستة (الأدوات الوصفية الثلاث المضغوطة لـ comfyui إضافةً
إلى `panel_list_tools` / `panel_describe_tool` / `panel_call_tool` للوحة الرسم
الحيّة)، فلا يغرق حتى نموذج 4B في المخططات. النموذج الافتراضي:
**`artokun/gemma4-comfyui-mcp:e4b`** — [ضبط gemma4
لدينا](#نماذجنا-المحلية-المضبوطة-مجانية-موصى-بها)، مدرَّب على مجموعة الأدوات
هذه بالضبط (يحل محل `gemma4:e4b` الأصلي، أفضل الحلبة السابق)؛ تجاوز بـ
`COMFYUI_MCP_OLLAMA_MODEL` أو أداة اختيار النموذج في اللوحة، التي تسرد ما سحبته
محليًا. توقّع مقايضات صادقة مقابل خلفيات الطليعة: أدوار أبطأ (خاصة الأولى، أثناء
تحميل النموذج)، بلا رؤية، بلا استرجاع محادثة.

## ما الذي تحصل عليه (وما الذي لا تحصل عليه)

يحصل أي عميل MCP على **سطح الأدوات الكامل** — التوليد، وتأليف مسارات سير العمل،
والنماذج، والعقد المخصّصة، وقائمة الانتظار، والتشخيص — في أي وضع أدوات. أمّا
**إضافات إضافة Claude Code** (المهارات، والأوامر المختصرة، والخطافات، وحزم
التثبيت، ووكيل اللوحة الجانبية) فميزات إضافة ولا تنتقل إلى بيئات أخرى. وكُتالوج
`list_tools` مصمَّم ليحمل توجيهًا كافيًا حتى تستطيع الوكلاء بلا طبقة المعرفة تلك
إيجاد طريقها مع ذلك.

## حل المشكلات

* **يستدعي النموذج `call_tool` بـ `args` مرمَّز كسلسلة** — مدعوم؛ يحلّل الخادم
  السلاسل المرمَّزة بـ JSON تلقائيًا.
* **يخترع النموذج أسماء أدوات** — تُرجع الأسماء المجهولة اقتراحات أقرب تطابقًا
  إضافةً إلى مؤشر عائد إلى `list_tools`.
* **معاملات خاطئة/ناقصة** — يتضمّن الخطأ مخطط JSON الخاص بالأداة؛ وتصحّح النماذج
  القادرة نفسها في المحاولة التالية.
* **يجيب النموذج من الكتالوج دون تشغيل أي شيء** — نمط فشل معروف للنماذج الصغيرة؛
  نبّهه («مدخلات الكتالوج أسماء أدوات، لا بيانات — شغّل الأداة بـ call\_tool»).
* **ComfyUI غير قابل للوصول** — يغيّر الوضع المضغوط *تسجيل* الأدوات فقط؛ وإعداد
  الاتصال مطابق لكل إعداد آخر (راجع
  [الإعدادات](/docs/docs/ar/configuration)).
