Technical reference
بنية وقت تشغيل الوكيل
يمتلك OpenClaw بيئة تشغيل الوكيل المضمّنة. توجد شيفرة بيئة التشغيل ضمن src/agents/، ويقع نقل النماذج/الموفّرين ضمن src/llm/، وتُعرض العقود الموجّهة إلى Plugin عبر ملفات التجميع openclaw/plugin-sdk/*.
تخطيط بيئة التشغيل
| المسار | المسؤوليات |
|---|---|
src/agents/embedded-agent-runner/ |
حلقة المحاولة المضمّنة (run.ts، run/)، واختيار النموذج وتسوية الموفّر (model*.ts)، ومعلمات الطلب الخاصة بكل موفّر (extra-params.*)، وCompaction، وربط السجل النصي والجلسة. |
src/agents/sessions/ |
استمرارية الجلسة (session-manager.ts)، واكتشاف الموارد (package-manager.ts، resource-loader.ts)، وتحميل extensions داخل الجلسة، وقوالب المطالبات، وSkills، والسمات، وأدوات عرض الأدوات المدعومة بـ TUI (tools/). |
packages/agent-core/ |
نواة الوكيل القابلة لإعادة الاستخدام (@openclaw/agent-core): حلقة الوكيل، وأنواع إطار التشغيل، والرسائل، ومساعدات Compaction، وقوالب المطالبات، وSkills، وعقود تخزين الجلسات. |
src/agents/runtime/ |
واجهة OpenClaw التي تربط @openclaw/agent-core ببيئة تشغيل LLM في SDK الخاص بـ Plugin، وتعيد تصديرها مع أدوات الوكيل المحلي. |
src/agents/agent-tools*.ts |
تعريفات الأدوات المملوكة لـ OpenClaw، ومخططات المعلمات، وسياسة الأدوات، ومهايئات ما قبل/بعد استدعاء الأدوات، وأدوات التحرير على المضيف/داخل صندوق الحماية. |
src/agents/agent-hooks/ |
خطافات بيئة التشغيل المضمّنة: حماية Compaction، وتعليمات Compaction، وتشذيب السياق. |
src/agents/harness/ |
سجل إطار التشغيل، وسياسة الاختيار، ودورة حياة أطر التشغيل المضمّنة والمسجّلة بواسطة Plugin. |
src/llm/ |
سجل النماذج/الموفّرين، ومساعدات النقل، وتطبيقات التدفق الخاصة بكل موفّر (src/llm/providers/). |
الحدود
تستدعي النواة بيئة التشغيل المضمّنة عبر وحدات OpenClaw وملفات تجميع SDK؛ ولم تعد هناك أي حزم خارجية لأطر عمل الوكلاء. تستخدم Plugins نقاط الدخول الموثّقة في openclaw/plugin-sdk/* ولا تستورد الأجزاء الداخلية من src/**.
تظل @earendil-works/pi-tui تبعية خارجية: وهي مجموعة أدوات لمكوّنات الطرفية تستخدمها TUI المحلية وأدوات عرض الجلسات. وسيتطلب استيعابها داخليًا جهدًا منفصلًا لتضمين التبعية.
ملفات البيان
تُعلن حزم الموارد عن موارد OpenClaw في بيانات package.json الوصفية. الإدخالات هي مسارات ملفات أو أنماط glob نسبةً إلى جذر الحزمة:
{ "openclaw": { "extensions": ["extensions/index.ts"], "skills": ["skills/*.md"], "prompts": ["prompts/*.md"], "themes": ["themes/*.json"] }}تعود أنواع الموارد غير المدرجة في ملف البيان إلى اكتشاف أدلة extensions/ وskills/ وprompts/ وthemes/ التقليدية.
اختيار بيئة التشغيل
- معرّف بيئة التشغيل المضمّنة هو
openclaw. يُسوّى الاسم البديل القديمpiإلىopenclaw؛ ويُسوّىcodex-app-serverإلىcodex. - تسجّل أطر تشغيل Plugins معرّفات إضافية لبيئة التشغيل (مثل
codex). - تتمثل سياسة بيئة التشغيل في إعداد
agentRuntime.idذي نطاق النموذج/الموفّر (يتغلب إدخال النموذج على إدخال الموفّر). وتُحل القيمة غير المعيّنة أوdefaultإلىauto. - يختار
autoإطار تشغيل Plugin مسجّلًا يدعم مسار الموفّر الفعّال، وإلا فيستخدم بيئة تشغيل OpenClaw المضمّنة. لا تؤدي بادئة الموفّر أو النموذج وحدها مطلقًا إلى اختيار إطار تشغيل. - قد يختار OpenAI ضمنيًا
codexفقط لمسار رسمي مطابق تمامًا من Platform Responses أو ChatGPT Responses عبر HTTPS، من دون تجاوز طلب من إنشاء المستخدم. تظل مهايئات Completions ونقاط النهاية المخصّصة والمسارات ذات سلوك الطلب الذي أنشأه المستخدم علىopenclaw؛ وتُرفض نقاط النهاية الرسمية التي تستخدم HTTP بنص صريح. راجع بيئة تشغيل وكيل OpenAI الضمنية.