Saturday, 10 October 2026 | التحديث اليومي نظرة ثاقبة للذكاء الاصطناعي، مكتوبة للبناة

Ollama و OpenClaw: كيفية تشغيل OpenClaw على نموذج محلي

  • There is no dedicated Ollama integration. تتصل بـ OpenClaw من خلال Ollama عبر واجهة برمجية متوافقة مع OpenAI من Ollama في http://localhost:11434/v1، معاملة إياها كموفر عام متوافق مع OpenAI.
  • اختيار النموذج هو كل ما يهم. OpenClaw عبارة عن حلقة وكيل تستدعي الأدوات، لذا تحتاج إلى نموذج يدعم استدعاء الأدوات الأصلي — qwen3, gpt-oss, llama3.1/3.3, mistral-smallنموذج الدردشة وحده سيفشل بصمت بالوصف بدلاً من استدعاء الأدوات.
  • زيادة نافذة السياق. السياق الافتراضي لـ Ollama أصغر بكثير من مطالبة النظام الخاصة بـ OpenClaw بالإضافة إلى مخططات الأدوات بالإضافة إلى المحادثة. قم ببناء ملف نموذجي باستخدام PARAMETER num_ctx 32768 أو أكبر.
  • توقع انخفاضاً حقيقياً في الجودة. النماذج المحلية التي تحتوي على حوالي 30B معاملة أو أقل تفقد سلاسل المهام متعددة الخطوات التي تكملها النماذج الحدودية. الإعداد الهجين — المحلي للردود الروتينية والسحابة للمهام الصعبة — هو الحل العملي.

OpenClaw هو مساعد ذكاء اصطناعي يستضيف نفسه بنفسه ويتحدث إليك عبر تطبيقات المراسلة ويشغل الأدوات على جهازك. لا يحتوي على عملية دمج محددة لـ Ollama؛ تتصل بين الاثنين بالإشارة إلى موفر النموذج الخاص بـ OpenClaw في نقطة نهاية متوافقة مع OpenAI من Ollama في http://localhost:11434/v1إنه يعمل، لكن فقط مع نموذج يستدعي الأدوات بشكل موثوق ونافذة سياق أعلى بكثير من الافتراضي لـ Ollama.

ما هو OpenClaw في الواقع

OpenClaw هو مساعد شخصي مفتوح المصدر يعمل كعملية بوابة طويلة الأمد على أجهزتك الخاصة. يربط قنوات المراسلة — WhatsApp و Telegram و Discord و Signal و iMessage — إلى حلقة وكيل مع إمكانية الوصول إلى الأدوات: أوامر shell وعمليات الملفات وجلب الويب والتقويم والذاكرة. بدأ المشروع باسم Clawdbot، وأعيد تسميته بإيجاز إلى Moltbot، واستقر على OpenClawكان دماغه الافتراضي نموذج Anthropic، لكن بما أنه يتحدث بروتوكول chat-completions من OpenAI للموفرين من الجهات الخارجية، يمكن لأي شيء يخدم هذا البروتوكول أن يحل محله — بما في ذلك Ollama.

توضيح واحد: مشروع غير ذي صلة يسمى OpenClaw هو إعادة تنفيذ C++ لموفق منصة من عام 1997 Captain Clawلا علاقة له بـ LLMs. إذا بحثت عن «ollama openclaw»، فأنت بالتأكيد تريد المساعد.

لماذا هذا الإقران أصعب من واجهة دردشة

توجيه واجهة دردشة أمامية نحو Ollama أمر تافه. لا تكون إطار العمل للوكيل، لثلاثة أسباب:

  • يجب أن يكون استدعاء الأدوات صحيحاً من الناحية الهيكلية. يرسل OpenClaw تعريفات الأدوات ويتوقع كائنات استدعاء أدوات JSON في المقابل. النماذج بدون قالب دردشة يدرك الأدوات تنتج نصوصاً مثل «سأقوم الآن بتشغيل ls» والحلقة تتوقف.
  • المطالبة كبيرة قبل أن تكتب أي شيء. تستهلك تعليمات النظام بالإضافة إلى مخططات الأدوات عادةً عدة آلاف من الرموز. السياق الافتراضي لـ Ollama يختصره، والاختصار في مقدمة المطالبة يزيل تعليمات الوكيل بالضبط.
  • تتراكم الأخطاء عبر الأدوار. نموذج بدقة أداة 90% لكل خطوة ينجز مهمة سداسية الخطوات حوالي نصف الوقت.

الخطوة 1: اجعل Ollama يخدم على عنوان قابل للوصول إليه

إذا لم يكن Ollama مثبتًا بعد، اتبع دليل تثبيت Ollama أولاً. تأكد من رد الخادم:

curl http://localhost:11434/api/version
curl http://localhost:11434/v1/models

إذا كان OpenClaw يعمل على نفس المضيف وخارج حاوية، فإن الربط الافتراضي للحلقة المحلية كافٍ ويمكنك الانتقال إلى الخطوة 2. إذا كان OpenClaw يعمل في Docker أو على جهاز آخر، يجب أن يرتبط Ollama بما يتجاوز الحلقة المحلية عبر OLLAMA_HOST. تختلف طريقة تعيينك لها حسب المنصة.

macOS

تطبيق شريط القوائم لا يقرأ ملف تعريف shell الخاص بك. عيّن المتغير في بيئة الإطلاق، ثم أعد تشغيل التطبيق من أيقونة الدرج:

launchctl setenv OLLAMA_HOST "0.0.0.0:11434"

النماذج موجودة في ~/.ollama/modelsسجلات الخادم تحت ~/.ollama/logs/. من حاوية على نفس جهاز Mac، تصل إلى المضيف في http://host.docker.internal:11434.

Linux

يسجل المثبِّت وحدة systemd. تجاوز بيئتها بدلاً من تحرير ملف الوحدة المرسل:

sudo systemctl edit ollama.service

أضف:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_KEEP_ALIVE=-1"

ثم sudo systemctl daemon-reload && sudo systemctl restart ollama. تأتي السجلات من journalctl -u ollama -f. ضمن حساب الخدمة، النماذج تفترضها /usr/share/ollama/.ollama/modelsوليس دليل منزلك — مفاجأة شائعة عندما ollama list تبدو فارغة كـ root.

ويندوز

عيّن المتغير من خلال الواجهة الرسومية: ابدأ → «Edit the system environment variables» → متغيرات البيئة → جديد تحت متغيرات المستخدم، الاسم OLLAMA_HOSTوالقيمة 0.0.0.0:11434. أغلق Ollama من درج النظام وأعد تشغيله؛ عملية الدرج تقرأ متغيرات البيئة عند الإطلاق فقط. النماذج موجودة في %USERPROFILE%.ollamamodelsوالسجلات في %LOCALAPPDATA%Ollama.

OpenClaw نفسه تطبيق Node وينعمل بشكل أكثر موثوقية على Linux أو macOS. على Windows، قم بتشغيله داخل WSL2. في هذه الحالة يمكن أن يبقى Ollama كتثبيت Windows أصلي — WSL2 يصل إلى مضيف Windows عبر عنوان البوابة المرآة أو NAT، لذا تحقق مع curl من داخل WSL قبل تكوين أي شيء.

ملاحظة أمان: Ollama ليس لديه مصادقة. الربط 0.0.0.0 يفضح استدلال النموذج لكل مضيف يمكنه التوجيه إلى هذا المنفذ. أبقِه على LAN موثوق به أو VPN، أو ضعه أمامه باستخدام proxy عكسي يتطلب رمزًا. لا تعرضه أبدًا للإنترنت العام.

الخطوة 2: اسحب نموذجاً يمكنه استدعاء الأدوات

استدعاء الأداة في Ollama يعتمد على قالب الدردشة للنموذج، وليس على علم تمريره. الأحجام أدناه تقريبية للعلامات الشائعة بـ 4 بت وتتغير بين الإصدارات — تحقق من ollama list وقائمة العلامات الحالية للأرقام الدقيقة.

علامة النموذج عدد المُعَلَّمات التحميل التقريبي VRAM العملي عند السياق 32K مناسب لـ OpenClaw
llama3.1:8b 8 مليارات معلّمة ~4.7 GB 8–10 GB الحد الأدنى. مهام أداة واحدة بسيطة فقط.
qwen3:8b 8 مليارات معلّمة ~5 غيغابايت 8–10 GB انضباط أداة أفضل من Llama 3.1 8B.
qwen3:14b 14 مليار معلّمة ~9 جيجابايت 12–16 GB توازن جيد على بطاقة 16 GB.
gpt-oss:20b 20B MoE ~14 GB 16 جيجابايت استخدام أداة قوي؛ سريع بسبب التنشيط المتناثر.
mistral-small 24B ~14 GB 16–20 GB استدعاء الدالة الموثوق به.
qwen3:32b 32B ~20 جيجابايت 24 GB+ أفضل تجربة محلية واقعية.

اسحب واحدًا وتحقق من أنه يقبل الأدوات قبل لمس OpenClaw:

ollama pull qwen3:14b

للمقارنة الأوسع بين المرشحين والسلوك لديهم تحت أحمال الوكيل، انظر أفضل النماذج المحلية لـ Ollama.

الخطوة 3: زيادة نافذة السياق

هذه هي الخطوة التي يتخطاها الناس، وهي السبب الأكثر شيوعًا لإعداد OpenClaw-on-Ollama الذي «يعمل تقريبًا». يطبق Ollama السياق الافتراضي المتواضع (تاريخيًا 2048، مرفوع في الإصدارات اللاحقة) بغض النظر عما يدعمه النموذج. تقبل الإصدارات الأخيرة OLLAMA_CONTEXT_LENGTH متغير بيئة على مستوى الخادم، لكن الطريقة المستقلة عن الإصدار هي خبزها في نموذج مشتق:

FROM qwen3:14b
PARAMETER num_ctx 32768

حفظ باسم Modelfile، ثم:

ollama create qwen3-14b-32k -f Modelfile

الاستخدام qwen3-14b-32k كاسم النموذج في OpenClaw. السياقات الأكبر تتطلب ذاكرة وصول عشوائي (VRAM) لذاكرة التخزين المؤقت KV، وهي منفصلة عن الأوزان — استخدم حاسبة VRAM لمعرفة احتياجات ذاكرة النموذج والطول السياقي المحدد قبل أن تكتشف ذلك عبر OOM. في إصدارات Ollama الحديثة، OLLAMA_FLASH_ATTENTION=1 وذاكرة تخزين مؤقت KV مُضغوطة ("OLLAMA_KV_CACHE_TYPE=q8_0") تقلل بشكل ملحوظ من هذا الحمل الإضافي.

الخطوة 4: وجه OpenClaw نحو Ollama

يخزن OpenClaw التكوين في مجلد نقطة تحت منزلك ("~/.openclaw/") ويسمح بتجاوزات متغيرات البيئة. القيم الثلاث التي تحتاجها دائماً متطابقة بشكل أساسي:

الإعداد القيمة
عنوان URL الأساسي http://localhost:11434/v1 — ولاحقة /v1 إجبارية
مفتاح API أي سلسلة غير فارغة، على سبيل المثال Ollama. ويُهمَل القيمة نفسها، لكن العديد من العميلات (clients) ترفض التكوين إذا كانت فارغة.
النموذج الوسم الدقيق من ollama list، بما في ذلك :tag الجزء

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

openclaw --help

عمليًّا، أنت تبحث عن كتلة الموفر العامة المتوافقة مع OpenAI — وهي الكتلة نفسها المستخدمة مع OpenRouter وvLLM و LM Studio — وتعيين عنوان URL الأساسي والمفتاح والنموذج فيها. وإذا قدّم OpenClaw خيار اختيار الموفر أثناء عملية الإعداد الأولي، فاختر الخيار المتوافق مع OpenAI بدلًا من موفر مسمّى.

قبل تشخيص مشكلات OpenClaw، تأكَّد من أن النهاية (endpoint) تستجيب مباشرةً لطلب استدعاء الأدوات باستخدام curl ضد /v1/chat/completions. وإذا فشل ذلك، فالعطل يكمن في Ollama وليس في OpenClaw.

فحص واقع الأجهزة

OpenClaw هو خدمة تعمل في الخلفية. ويتم تحميل النموذج وإعادة تحميله كلما وردت رسائل، وكل إعادة تحميل تتسبّب في تأخير مدته عدة ثوانٍ، لذا ترغب في أن تبقى أوزان النموذج محملة بشكل دائم — ومن ثم فإن OLLAMA_KEEP_ALIVE=-1. وهذا يعني أن ذاكرة الفيديو (VRAM) تكون مخصصة طوال مدة تشغيل المساعد، وليس فقط أثناء تنفيذ طلب واحد. خطِّط لذلك وفقًا لميزانيتك: فبطاقة ذات سعة 24 جيجابايت تعمل بنموذج qwen3:32b في سياق 32K لا يتبقّى لها عمليًّا أي ذاكرة متاحة لأي شيء آخر.

تعتبر وحدة معالجة الرسومات (GPU) ذات سعة 16 جيجابايت نقطة الدخول المنطقية لتشغيل نموذج بحجم 14–20 مليار معلّمة (B) في سياق قابل للاستخدام. أما دون 12 جيجابايت، فتكون مقيّدًا بتشغيل نماذج بحجم 8 مليار معلّمة فقط، حيث تنخفض موثوقية تنفيذ المهام المتعددة الخطوات بشكل حاد. كما تعمل رقاقات Apple Silicon ذات الذاكرة الموحّدة البالغة سعتها 32 جيجابايت أو أكثر بكفاءة جيدة لأن الذاكرة مشتركة بين المكوّنات، رغم أن معالجة المطالبات (prompt processing) تكون أبطأ منها على وحدة معالجة رسومات NVIDIA منفصلة. راجع دليل GPU لنماذج LLM المحلية للاطلاع على بطاقات GPU الموصى بها تحديدًا في كل مستوى.

الإعداد الهجين الذي ينتهي به معظم الناس

النتيجة الصريحة: يتعامل النموذج المحلي بحجم 14 مليار معلّمة مع الرسائل الروتينية والملخّصات والتذكيرات واستعلامات الأداة الواحدة بشكل ممتاز. أما سلاسل البحث الطويلة، وتغييرات الكود عبر عدة ملفات، وأي مهمة تتطلب اتباع تعليمات دقيقة، فتتدهور جودتها بشكل ملحوظ. ولذلك يحتفظ العديد من مستخدمي OpenClaw بموفّر سحابي مضبوط للحلقة الرئيسية للوكيل (main agent loop)، ويستخدمون Ollama لأعمال الحجم العالي والمخاطر المنخفضة، أو للمحتوى الحساس من حيث الخصوصية الذي لا ينبغي أن يغادر الجهاز.

ما إذا كانت هذه التقسيمة توفر المال يعتمد على حجم الرسائل التي ترسلها وتكلفة الكهرباء. احسب أرقامك باستخدام self-hosting vs API break-even calculator قبل شراء وحدة معالجة رسومات مخصصة لهذا الغرض؛ فعند أحجام الرسائل المنخفضة، تكون واجهة برمجة التطبيقات (API) عادةً أرخص من تكلفة استهلاك العتاد على المدى الطويل.

استكشاف الأخطاء

الأعراض السبب والحل
ECONNREFUSED / رفض الاتصال الخادم غير قيد التشغيل، أو مُربَط بعنوان الحلقة (loopback) بينما يعمل OpenClaw داخل حاوية. اختبر الأمر curl http://localhost:11434/api/version من داخل مساحة أسماء الشبكة الخاصة بالحاوية.
ظهور خطأ 404 في الطلبات غياب عنوان URL الأساسي /v1، أو توجيهه إلى مسار Ollama الأصلي /api/chat بدلًا من المسار المتوافق مع OpenAI.
خطأ 401 / غياب مفتاح واجهة برمجة التطبيقات (API) عيّن حقل المفتاح إلى أي سلسلة غير فارغة.
النموذج غير موجود عدم تطابق التسمية (tag). انقر فوق الاسم حرفيًّا من ollama list.
يروي الوكيل استخدام الأداة بدلًا من تنفيذها النموذج لا يحتوي على قالب دعم استدعاء الأدوات (tool-calling template). انتقل إلى نموذج آخر من الجدول أعلاه.
ينسى الوكيل تعليماته في منتصف المهمة اختزال السياق (Context truncation). أعد البناء باستخدام قيمة أكبر لـ num_ctx.
تأخذ أول ردّ بعد فترة الخمول 30 ثانية أو أكثر تم إلغاء تحميل النموذج بعد انتهاء مهلة البقاء نشيطًا (keep-alive timeout). عيّن OLLAMA_KEEP_ALIVE=-1.

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

هل يدعم OpenClaw رسميًّا Ollama؟

لا كتكامل مسمّى. بل الدعم غير مباشر: يمكن لـ OpenClaw استخدام أي نقطة نهاية (endpoint) متوافقة مع OpenAI لواجهة برمجة التطبيقات الخاصة بالاستكمالات الحوارية (chat-completions)، ويقدّم Ollama واحدةً منها على العنوان /v1. وهذا المسار ثابت وغير مرجّح أن يتغيّر، لكن مخطط تكوين OpenClaw نفسه يتطوّر بسرعة، لذا تحقّق من وثائقه الحالية للحصول على أسماء المفاتيح الدقيقة للموفّر بدلًا من الافتراض.

ما أصغر نموذج يعمل فعليًّا؟

نموذج بحجم 8 مليار معلّمة يدعم استدعاء الأدوات مثل qwen3:8b هو الحد الأدنى الواقعي، وبشرط أن يكون التفاعل قصيرًا ويعتمد على أداة واحدة فقط. وأقل من ذلك، تصبح وسائط الأدوات (tool arguments) غير صحيحة في كثير من الأحيان لدرجة أن حلقة الوكيل تصبح مصدر إحباط أكثر من كونها مفيدة. أما عند حجم 14 مليار معلّمة، فتبدأ التجربة في الشعور بالموثوقية.

هل يمكنني تشغيل هذا على نظام Windows؟

نعم، مع تشغيل OpenClaw داخل WSL2 وتثبيت Ollama بشكل أصلي على Windows ليستخدم برنامج تشغيل وحدة معالجة الرسومات (GPU driver) مباشرةً. تحقّق من الاتصال من داخل واجهة سطر أوامر WSL باستخدام الأمر curl قبل ضبط إعدادات OpenClaw. لاحظ أن قناة iMessage متاحة فقط على نظام macOS بغض النظر عن النظام المستخدم، لأنها تعتمد على قاعدة بيانات الرسائل المحلية.

لماذا يُعتبر OpenClaw المحلي أسوأ بكثير من النسخة المدعومة سحابيًّا؟

عاملان متراكمان. أولًا، دقة استدعاء الأدوات في كل خطوة أقل، والأخطاء تتضاعف عبر المهام متعددة الخطوات. ثانيًا، تزداد درجة تدهور النماذج المحلية مع امتلاء السياق، والطلب (prompt) الخاص بـ OpenClaw كبير أصلاً قبل إضافتك لرسالتك. وكلا العاملين يعودان إلى حدود قدرات النموذج، وليس إلى مشكلات في التكوين.

هل يمكن تشغيل Ollama على جهاز مختلف عن جهاز OpenClaw؟

نعم، وهذه ممارسة جيدة — ضع Ollama على الجهاز المزوّد بوحدة معالجة الرسومات، وشغّل بوابة (gateway) OpenClaw على جهاز آخر دائم التشغيل ومنخفض الاستهلاك. عيّن OLLAMA_HOST=0.0.0.0:11434 على المضيف المزوّد بوحدة معالجة الرسومات واستخدم عنوانه ضمن شبكة المنطقة المحلية (LAN) في حقل عنوان URL الأساسي في إعدادات OpenClaw. وبما أن Ollama لا يحتوي على آلية مصادقة، فقيّد الوصول إليه على شبكة موثوقة أو عبر شبكة افتراضية خاصة (VPN).

هل هذا هو نفس مشروع OpenClaw الخاص بلعبة Captain Claw؟

لا. فمشروع OpenClaw الخاص باللعبة هو إعادة تنفيذ بلغة C++ لمنصة ألعاب DOS صدرت عام 1997، وهو مشروع غير مرتبط إطلاقًا، ويشارك مع المشروع الحالي اسمًا فقط. فإذا أشار نتيجة بحث ما إلى ملفات المراحل (level files) أو عرض الرسومات النقطية (sprite rendering)، فأنت على الأرجح وصلت إلى مشروع اللعبة.

الخلاصة

إن ربط Ollama بـ OpenClaw هو مهمة تكوين تستغرق خمس دقائق: نقطة النهاية المتوافقة مع OpenAI، ومفتاح غير فارغ، وتسمية نموذج دقيقة. أما العمل الذي يحدد ما إذا كان هذا الربط قابلاً للاستخدام فعلاً فهو سابق له — أي اختيار نموذج يدعم استدعاء الأدوات فعليًّا، وتزويده بنافذة سياق واسعة بما يكفي لطلب الوكيل (agent’s prompt)، وامتلاك كمية كافية من ذاكرة الفيديو (VRAM) لإبقائه محملًا باستمرار. قارن النماذج المرشحة في قاعدة بيانات النماذج، وإذا كنت جديدًا على واجهة تكوين Ollama، فإن دليل شامل لـ Ollama يغطي متغيرات البيئة وآليات ملف النموذج (Modelfile) بتفصيل أعمق.

كتبه مصطفى إحسان

مصطفى إحسان هو مؤسس ومحرر Convly.ai. بنى ويحتفظ بقاعدة بيانات نماذج AI المباشرة للموقع، ومؤشر أداء السعر، وآلاته الحاسبة المجانية لمتطلبات VRAM وتكاليف API واقتصاديات الاستضافة الذاتية. يكتب عن تسعير النماذج ونتائج المقاييس والأجهزة المطلوبة لتشغيل نماذج AI محلياً، ويفضل باستمرار الأرقام المقاسة على ادعاءات البائع.

انتقل إلى الأعلى