Ollama
Ollama هو بيئة تشغيل محلية لنماذج LLM تجعل من السهل تشغيل النماذج مفتوحة المصدر على جهازك. يتكامل OpenClaw مع واجهة Ollama API الأصلية (/api/chat)، ويدعم البث واستدعاء الأدوات، ويمكنه الاكتشاف التلقائي لنماذج Ollama المحلية عند تفعيل ذلك باستخدام OLLAMA_API_KEY (أو ملف تعريف مصادقة) وعدم تعريف إدخال صريح لـ models.providers.ollama.
مستخدمو Ollama البعيد: لا تستخدم عنوان URL المتوافق مع OpenAI عبر /v1 (http://host:11434/v1) مع OpenClaw. فهذا يعطل استدعاء الأدوات وقد تُخرج النماذج JSON الخام الخاص بالأدوات كنص عادي. استخدم بدلًا من ذلك عنوان URL الخاص بواجهة Ollama API الأصلية: baseUrl: "http://host:11434" (من دون /v1).
البدء السريع
الإعداد الأولي (موصى به)
أسرع طريقة لإعداد Ollama هي من خلال الإعداد الأولي:
اختر Ollama من قائمة موفري الخدمة. سيقوم الإعداد الأولي بما يلي:
- سيسأل عن عنوان URL الأساسي لـ Ollama الذي يمكن الوصول إلى مثيلك من خلاله (الافتراضي هو
http://127.0.0.1:11434).
- يتيح لك اختيار Cloud + Local (نماذج سحابية ومحلية) أو Local (نماذج محلية فقط).
- يفتح تدفق تسجيل دخول عبر المتصفح إذا اخترت Cloud + Local ولم تكن قد سجلت الدخول إلى ollama.com.
- يكتشف النماذج المتاحة ويقترح إعدادات افتراضية.
- يسحب النموذج المحدد تلقائيًا إذا لم يكن متاحًا محليًا.
كما أن الوضع غير التفاعلي مدعوم أيضًا:
openclaw onboard --non-interactive \
--auth-choice ollama \
--accept-risk
يمكنك اختياريًا تحديد عنوان URL أساسي مخصص أو نموذج:
openclaw onboard --non-interactive \
--auth-choice ollama \
--custom-base-url "http://ollama-host:11434" \
--custom-model-id "qwen3.5:27b" \
--accept-risk
الإعداد اليدوي
-
ثبّت Ollama: https://ollama.com/download
-
اسحب نموذجًا محليًا إذا كنت تريد استدلالًا محليًا:
ollama pull gemma4
# أو
ollama pull gpt-oss:20b
# أو
ollama pull llama3.3
- إذا كنت تريد النماذج السحابية أيضًا، فسجّل الدخول:
- شغّل الإعداد الأولي واختر
Ollama:
Local: نماذج محلية فقط
Cloud + Local: نماذج محلية بالإضافة إلى نماذج سحابية
- النماذج السحابية مثل
kimi-k2.5:cloud وminimax-m2.7:cloud وglm-5.1:cloud لا تتطلب ollama pull محليًا
يقترح OpenClaw حاليًا ما يلي:
- الافتراضي المحلي:
gemma4
- الإعدادات الافتراضية السحابية:
kimi-k2.5:cloud وminimax-m2.7:cloud وglm-5.1:cloud
- إذا كنت تفضّل الإعداد اليدوي، ففعّل Ollama لـ OpenClaw مباشرةً (أي قيمة تعمل؛ إذ لا يتطلب Ollama مفتاحًا حقيقيًا):
# تعيين متغير البيئة
export OLLAMA_API_KEY="ollama-local"
# أو التهيئة في ملف الإعداد
openclaw config set models.providers.ollama.apiKey "ollama-local"
- افحص النماذج أو بدّل بينها:
openclaw models list
openclaw models set ollama/gemma4
- أو عيّن الافتراضي في الإعداد:
{
agents: {
defaults: {
model: { primary: "ollama/gemma4" },
},
},
}
اكتشاف النماذج (موفر ضمني)
عند تعيين OLLAMA_API_KEY (أو ملف تعريف مصادقة) وعدم تعريف models.providers.ollama، يكتشف OpenClaw النماذج من مثيل Ollama المحلي على http://127.0.0.1:11434:
- يستعلم عن
/api/tags
- يستخدم عمليات بحث
/api/show بأفضل جهد لقراءة contextWindow واكتشاف القدرات (بما في ذلك الرؤية) عند توفرها
- تُعلَّم النماذج التي تُبلغ عن قدرة
vision عبر /api/show على أنها قادرة على التعامل مع الصور (input: ["text", "image"])، لذلك يحقن OpenClaw الصور تلقائيًا في الموجّه لهذه النماذج
- يعلّم
reasoning باستخدام استدلال يعتمد على اسم النموذج (r1 وreasoning وthink)
- يضبط
maxTokens على الحد الأقصى الافتراضي للرموز في Ollama الذي يستخدمه OpenClaw
- يضبط جميع التكاليف على
0
يؤدي ذلك إلى تجنّب الإدخالات اليدوية للنماذج مع إبقاء الفهرس متوافقًا مع مثيل Ollama المحلي.
لمعرفة النماذج المتاحة:
ollama list
openclaw models list
لإضافة نموذج جديد، ما عليك سوى سحبه باستخدام Ollama:
سيُكتشف النموذج الجديد تلقائيًا ويصبح متاحًا للاستخدام.
إذا عيّنت models.providers.ollama صراحةً، فسيتم تخطي الاكتشاف التلقائي ويجب عليك تعريف النماذج يدويًا (انظر أدناه).
التهيئة
الإعداد الأساسي (اكتشاف ضمني)
أبسط طريقة لتمكين Ollama هي عبر متغير بيئة:
export OLLAMA_API_KEY="ollama-local"
الإعداد الصريح (نماذج يدوية)
استخدم التهيئة الصريحة عندما:
- يكون Ollama يعمل على مضيف أو منفذ آخر.
- تريد فرض نوافذ سياق أو قوائم نماذج محددة.
- تريد تعريفات نماذج يدوية بالكامل.
{
models: {
providers: {
ollama: {
baseUrl: "http://ollama-host:11434",
apiKey: "ollama-local",
api: "ollama",
models: [
{
id: "gpt-oss:20b",
name: "GPT-OSS 20B",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 8192,
maxTokens: 8192 * 10
}
]
}
}
}
}
إذا كان OLLAMA_API_KEY معينًا، يمكنك حذف apiKey من إدخال الموفر وسيقوم OpenClaw بملئه لعمليات التحقق من التوفر.
عنوان URL أساسي مخصص (تهيئة صريحة)
إذا كان Ollama يعمل على مضيف أو منفذ مختلف (تعطّل التهيئة الصريحة الاكتشاف التلقائي، لذا عرّف النماذج يدويًا):
{
models: {
providers: {
ollama: {
apiKey: "ollama-local",
baseUrl: "http://ollama-host:11434", // بدون /v1 - استخدم عنوان URL الأصلي لواجهة Ollama API
api: "ollama", // عيّنه صراحةً لضمان سلوك استدعاء الأدوات الأصلي
},
},
},
}
لا تضف /v1 إلى عنوان URL. يستخدم المسار /v1 وضع التوافق مع OpenAI، حيث لا يكون استدعاء الأدوات موثوقًا. استخدم عنوان URL الأساسي لـ Ollama من دون لاحقة مسار.
اختيار النموذج
بعد اكتمال التهيئة، تصبح جميع نماذج Ollama الخاصة بك متاحة:
{
agents: {
defaults: {
model: {
primary: "ollama/gpt-oss:20b",
fallbacks: ["ollama/llama3.3", "ollama/qwen2.5-coder:32b"],
},
},
},
}
النماذج السحابية
تتيح لك النماذج السحابية تشغيل النماذج المستضافة سحابيًا (مثل kimi-k2.5:cloud وminimax-m2.7:cloud وglm-5.1:cloud) إلى جانب نماذجك المحلية.
لاستخدام النماذج السحابية، اختر وضع Cloud + Local أثناء الإعداد. يتحقق المعالج مما إذا كنت قد سجلت الدخول ويفتح تدفق تسجيل دخول عبر المتصفح عند الحاجة. إذا تعذر التحقق من المصادقة، يعود المعالج إلى الإعدادات الافتراضية للنماذج المحلية.
يمكنك أيضًا تسجيل الدخول مباشرةً على ollama.com/signin.
Ollama Web Search
يدعم OpenClaw أيضًا Ollama Web Search كموفر web_search مضمّن.
- يستخدم مضيف Ollama المهيأ لديك (
models.providers.ollama.baseUrl عند تعيينه، وإلا http://127.0.0.1:11434).
- لا يتطلب مفتاحًا.
- يتطلب أن يكون Ollama قيد التشغيل وأن تكون قد سجلت الدخول باستخدام
ollama signin.
اختر Ollama Web Search أثناء openclaw onboard أو
openclaw configure --section web، أو عيّن:
{
tools: {
web: {
search: {
provider: "ollama",
},
},
},
}
للحصول على تفاصيل الإعداد والسلوك كاملة، راجع Ollama Web Search.
متقدم
نماذج الاستدلال
يتعامل OpenClaw مع النماذج ذات الأسماء مثل deepseek-r1 أو reasoning أو think على أنها قادرة على الاستدلال افتراضيًا:
ollama pull deepseek-r1:32b
تكاليف النماذج
Ollama مجاني ويعمل محليًا، لذا يتم تعيين جميع تكاليف النماذج إلى $0.
تهيئة البث
يستخدم تكامل OpenClaw مع Ollama واجهة Ollama API الأصلية (/api/chat) افتراضيًا، وهي تدعم بالكامل البث واستدعاء الأدوات في الوقت نفسه. لا حاجة إلى أي تهيئة خاصة.
وضع التوافق القديم مع OpenAI
استدعاء الأدوات غير موثوق في وضع التوافق مع OpenAI. استخدم هذا الوضع فقط إذا كنت بحاجة إلى تنسيق OpenAI لوكيل وسيط ولا تعتمد على سلوك استدعاء الأدوات الأصلي.
إذا كنت تحتاج إلى استخدام نقطة النهاية المتوافقة مع OpenAI بدلًا من ذلك (على سبيل المثال، خلف وكيل وسيط لا يدعم سوى تنسيق OpenAI)، فعيّن api: "openai-completions" صراحةً:
{
models: {
providers: {
ollama: {
baseUrl: "http://ollama-host:11434/v1",
api: "openai-completions",
injectNumCtxForOpenAICompat: true, // الافتراضي: true
apiKey: "ollama-local",
models: [...]
}
}
}
}
قد لا يدعم هذا الوضع البث + استدعاء الأدوات في الوقت نفسه. قد تحتاج إلى تعطيل البث باستخدام params: { streaming: false } في تهيئة النموذج.
عند استخدام api: "openai-completions" مع Ollama، يحقن OpenClaw options.num_ctx افتراضيًا حتى لا يعود Ollama بصمت إلى نافذة سياق قدرها 4096. إذا كان الوكيل الوسيط/الجهة العليا يرفض حقول options غير المعروفة، فعطّل هذا السلوك:
{
models: {
providers: {
ollama: {
baseUrl: "http://ollama-host:11434/v1",
api: "openai-completions",
injectNumCtxForOpenAICompat: false,
apiKey: "ollama-local",
models: [...]
}
}
}
}
نوافذ السياق
بالنسبة إلى النماذج المكتشفة تلقائيًا، يستخدم OpenClaw نافذة السياق التي يبلغ عنها Ollama عند توفرها، وإلا فإنه يعود إلى نافذة سياق Ollama الافتراضية التي يستخدمها OpenClaw. يمكنك تجاوز contextWindow وmaxTokens في تهيئة الموفر الصريحة.
استكشاف الأخطاء وإصلاحها
لم يتم اكتشاف Ollama
تأكد من أن Ollama قيد التشغيل وأنك عيّنت OLLAMA_API_KEY (أو ملف تعريف مصادقة)، وأنك لم تعرّف إدخال models.providers.ollama صريحًا:
وتأكد من أن واجهة API قابلة للوصول:
curl http://localhost:11434/api/tags
لا توجد نماذج متاحة
إذا لم يكن نموذجك مدرجًا، فإما:
- اسحب النموذج محليًا، أو
- عرّف النموذج صراحةً في
models.providers.ollama.
لإضافة نماذج:
ollama list # اعرض ما هو مثبت
ollama pull gemma4
ollama pull gpt-oss:20b
ollama pull llama3.3 # أو نموذج آخر
تم رفض الاتصال
تحقق من أن Ollama يعمل على المنفذ الصحيح:
# تحقق مما إذا كان Ollama قيد التشغيل
ps aux | grep ollama
# أو أعد تشغيل Ollama
ollama serve
راجع أيضًا