الواجهات الخلفية لـ CLI (بيئة تشغيل احتياطية)
يمكن لـ OpenClaw تشغيل واجهات سطر أوامر محلية للذكاء الاصطناعي كـ بديل نصّي فقط عند تعطل موفّري واجهات API، أو فرض قيود المعدل، أو حدوث سلوك غير مستقر مؤقت. هذا الخيار محافظ عن قصد:- الأدوات معطّلة (لا توجد استدعاءات أدوات).
- نص داخل → نص خارج (موثوق).
- الجلسات مدعومة (للحفاظ على تماسك الردود اللاحقة).
- يمكن تمرير الصور إذا كان الـ CLI يقبل مسارات الصور.
بدء سريع مناسب للمبتدئين
يمكنك استخدام Claude Code CLI من دون أي تهيئة (يشحن OpenClaw إعدادًا افتراضيًا مدمجًا):استخدامه كخيار احتياطي
أضف واجهة CLI خلفية إلى قائمة البدائل بحيث تعمل فقط عند فشل النماذج الأساسية:- إذا استخدمت
agents.defaults.models(قائمة السماح)، فيجب تضمينclaude-cli/.... - إذا فشل الموفّر الأساسي (مصادقة، حدود المعدل، مهلات)، فسيحاول OpenClaw الواجهة الخلفية لـ CLI بعد ذلك.
نظرة عامة على التهيئة
توجد جميع الواجهات الخلفية لـ CLI ضمن:claude-cli، my-cli).
ويصبح معرّف الموفّر هو الجزء الأيسر من مرجع النموذج لديك:
مثال على التهيئة
كيف يعمل
- يختار واجهة خلفية بناءً على بادئة الموفّر (
claude-cli/...). - يبني مطالبة النظام باستخدام نفس مطالبة OpenClaw مع سياق مساحة العمل.
- ينفّذ الـ CLI مع معرّف جلسة (إن كان مدعومًا) للحفاظ على اتساق السجل.
- يحلّل المخرجات (JSON أو نص عادي) ويعيد النص النهائي.
- يحفظ معرّفات الجلسات لكل واجهة خلفية، بحيث تعيد المتابعات استخدام نفس جلسة الـ CLI.
الجلسات
- إذا كان الـ CLI يدعم الجلسات، فاضبط
sessionArg(مثل--session-id) أوsessionArgs(عنصر نائب{sessionId}) عندما يلزم إدراج المعرّف في عدة أعلام. - إذا كان الـ CLI يستخدم أمرًا فرعيًا للاستئناف مع أعلام مختلفة، فاضبط
resumeArgs(يستبدلargsعند الاستئناف) ويمكنك اختياريًا ضبطresumeOutput(لاستئنافات غير JSON). sessionMode:always: إرسال معرّف جلسة دائمًا (UUID جديد إذا لم يكن مخزّنًا).existing: إرسال معرّف جلسة فقط إذا كان مخزّنًا سابقًا.none: عدم إرسال معرّف جلسة مطلقًا.
الصور (تمرير مباشر)
إذا كان الـ CLI يقبل مسارات الصور، فاضبطimageArg:
imageArg مضبوطًا،
فسيتم تمرير تلك المسارات كوسائط للـ CLI. إذا كان imageArg مفقودًا،
فسيُلحق OpenClaw مسارات الملفات بالمطالبة (حقن المسار)، وهو ما يكفي
لواجهات CLI التي تحمّل الملفات المحلية تلقائيًا من المسارات النصية العادية
(سلوك Claude Code CLI).
الإدخالات / المخرجات
- يحاول
output: "json"(الافتراضي) تحليل JSON واستخراج النص + معرّف الجلسة. - يحلل
output: "jsonl"تدفقات JSONL (Codex CLI--json) ويستخرج آخر رسالة للوكيل إضافةً إلىthread_idعند توفره. - يعامل
output: "text"stdout على أنه الاستجابة النهائية.
- يمرّر
input: "arg"(الافتراضي) المطالبة كآخر وسيط للـ CLI. - يرسل
input: "stdin"المطالبة عبر stdin. - إذا كانت المطالبة طويلة جدًا وتم ضبط
maxPromptArgChars، فسيُستخدم stdin.
الإعدادات الافتراضية (المدمجة)
يشحن OpenClaw إعدادًا افتراضيًا لـclaude-cli:
command: "claude"args: ["-p", "--output-format", "json", "--dangerously-skip-permissions"]resumeArgs: ["-p", "--output-format", "json", "--dangerously-skip-permissions", "--resume", "{sessionId}"]modelArg: "--model"systemPromptArg: "--append-system-prompt"sessionArg: "--session-id"systemPromptWhen: "first"sessionMode: "always"
codex-cli:
command: "codex"args: ["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]resumeArgs: ["exec","resume","{sessionId}","--color","never","--sandbox","read-only","--skip-git-repo-check"]output: "jsonl"resumeOutput: "text"modelArg: "--model"imageArg: "--image"sessionMode: "existing"
command مطلق).
القيود
- لا توجد أدوات OpenClaw (الواجهة الخلفية لـ CLI لا تتلقى استدعاءات أدوات). قد تشغّل بعض واجهات CLI أدواتها الوكيلة الخاصة.
- لا يوجد بث (يتم جمع مخرجات الـ CLI ثم إرجاعها).
- المخرجات المهيكلة تعتمد على تنسيق JSON الخاص بالـ CLI.
- جلسات Codex CLI تُستأنف عبر مخرجات نصية (من دون JSONL)، وهو أقل
تنظيمًا من تشغيل
--jsonالأولي. تعمل جلسات OpenClaw بشكل طبيعي.
استكشاف الأخطاء وإصلاحها
- لم يتم العثور على CLI: اضبط
commandعلى مسار كامل. - اسم نموذج غير صحيح: استخدم
modelAliasesلربطprovider/model→ نموذج CLI. - لا يوجد استمرارية للجلسة: تأكّد من ضبط
sessionArgوأنsessionModeليسnone(لا يمكن لـ Codex CLI حاليًا الاستئناف مع مخرجات JSON). - الصور مُتجاهلة: اضبط
imageArg(وتحقق من أن الـ CLI يدعم مسارات الملفات).