Technical reference
استخدام الرموز المميزة والتكاليف
يتتبّع OpenClaw الرموز المميزة، لا الأحرف. تختلف الرموز المميزة باختلاف النموذج، لكن معظم النماذج المشابهة لنماذج OpenAI يبلغ متوسطها نحو 4 أحرف لكل رمز مميز في النص الإنجليزي.
كيفية إنشاء موجّه النظام
يُنشئ OpenClaw موجّه النظام الخاص به في كل تشغيل. ويتضمن:
- قائمة الأدوات مع أوصاف مختصرة
- قائمة Skills (البيانات الوصفية فقط؛ تُحمّل التعليمات عند الطلب باستخدام
read). تتلقى دورات Codex الأصلية كتلة Skills الموجزة بوصفها تعليمات مطوّر للتعاون محددة النطاق بالدورة؛ أما بيئات التشغيل الأخرى فتتلقاها ضمن سطح الموجّه المعتاد. تخضع للحدskills.limits.maxSkillsPromptChars، مع إمكانية تجاوز اختياري لكل وكيل عبرagents.list[].skillsLimits.maxSkillsPromptChars. - تعليمات التحديث الذاتي
- مساحة العمل وملفات التهيئة (
AGENTS.mdوSOUL.mdوTOOLS.mdوIDENTITY.mdوUSER.mdوHEARTBEAT.mdوBOOTSTRAP.mdعندما تكون جديدة، بالإضافة إلىMEMORY.mdعند وجوده). تُقتطع الملفات الكبيرة المُحقنة وفقًا للإعدادagents.defaults.bootstrapMaxChars(الافتراضي:20000)؛ ويُقيّد إجمالي محتوى التهيئة المُحقن بالإعدادagents.defaults.bootstrapTotalMaxChars(الافتراضي:60000).- لا تلصق دورات Codex الأصلية محتوى
MEMORY.mdالخام عندما تكون أدوات الذاكرة متاحة لمساحة العمل تلك؛ بل تتلقى مؤشرًا موجزًا إلى الذاكرة ضمن تعليمات مطوّر التعاون المحددة النطاق بالدورة، وتستخدم أدوات الذاكرة عند الطلب. إذا كانت الأدوات معطّلة، أو كان البحث في الذاكرة غير متاح، أو كانت مساحة العمل النشطة مختلفة عن مساحة عمل ذاكرة الوكيل، يعودMEMORY.mdإلى مسار سياق الدورة المعتاد والمقيّد. - لا يُحقن ملف الجذر
memory.mdالمكتوب بأحرف صغيرة مطلقًا. فهو مُدخل إصلاح قديم للأمرopenclaw doctor --fix، الذي يرحّله إلىMEMORY.md. - لا تُعد ملفات الذاكرة اليومية
memory/*.mdجزءًا من موجّه التهيئة المعتاد؛ بل تظل متاحة عند الطلب عبر أدوات الذاكرة في الدورات العادية. يمكن لعمليات تشغيل النموذج عند إعادة الضبط أو بدء التشغيل إضافة كتلة سياق بدء تشغيل لمرة واحدة تتضمن الذاكرة اليومية الحديثة إلى بداية الدورة الأولى، ويتحكم في ذلكagents.defaults.startupContext. يُقرّ باستلام أمري الدردشة المجردين/newو/resetمن دون استدعاء النموذج. - مقتطفات
AGENTS.mdبعد Compaction منفصلة وتتطلب تفعيلًا صريحًا عبرagents.defaults.compaction.postCompactionSections.
- لا تلصق دورات Codex الأصلية محتوى
- الوقت (UTC والمنطقة الزمنية للمستخدم)
- وسوم الرد وسلوك Heartbeat
- البيانات الوصفية لوقت التشغيل (المضيف/نظام التشغيل/النموذج/التفكير)
راجع التفصيل الكامل في موجّه النظام.
عند توثيق بيانات الاعتماد أو مقتطفات المصادقة، استخدم اصطلاحات العناصر النائبة للأسرار لتجنب النتائج الإيجابية الكاذبة لماسح الأسرار في التغييرات الخاصة بالتوثيق فقط.
ما الذي يُحتسب ضمن نافذة السياق
كل ما يتلقاه النموذج يُحتسب ضمن حد السياق:
- موجّه النظام (جميع الأقسام المذكورة أعلاه)
- سجل المحادثة (رسائل المستخدم والمساعد)
- استدعاءات الأدوات ونتائجها
- المرفقات/النصوص المفرّغة (الصور والصوت والملفات)
- ملخصات Compaction وعناصر التقليم
- أغلفة المزوّد أو ترويسات الأمان (غير مرئية، لكنها تُحتسب مع ذلك)
للأسطح كثيفة الاستخدام لوقت التشغيل حدود صريحة خاصة بها ضمن
agents.defaults.contextLimits (وتوجد التجاوزات الخاصة بكل وكيل ضمن
agents.list[].contextLimits):
| المفتاح | الغرض |
|---|---|
memoryGetMaxChars |
الحد الأقصى للأحرف التي يعيدها memory_get قبل الاقتطاع. |
memoryGetDefaultLines |
نافذة الأسطر الافتراضية لـmemory_get عندما لا يتضمن الطلب lines. |
toolResultMaxChars |
حد متقدم لنتيجة أداة مباشرة واحدة (حتى 1000000 حرف). |
postCompactionMaxChars |
الحد الأقصى للأحرف المحتفظ بها من AGENTS.md أثناء التحديث بعد Compaction. |
هذه مقتطفات مقيّدة لوقت التشغيل وكتل مُحقنة يملكها وقت التشغيل، وهي منفصلة عن حدود التهيئة وحدود سياق بدء التشغيل وحدود موجّه Skills.
لا تكون قيمة toolResultMaxChars معيّنة افتراضيًا، لذلك يشتق OpenClaw الحد الأقصى
لنتائج الأدوات المباشرة من نافذة سياق النموذج الفعلية: 16000 حرف عندما تكون
دون 100 ألف رمز مميز، و32000 حرف عند 100 ألف رمز مميز أو أكثر، و64000 حرف عند
200 ألف رمز مميز أو أكثر. يظل حاجز حصة سياق وقت التشغيل يقيّد نتيجة الأداة الواحدة
بنسبة 30% من نافذة السياق، حتى عند ضبط حد صريح أكبر.
بالنسبة إلى الصور، يقلل OpenClaw أبعاد حمولات صور النصوص المفرّغة/الأدوات قبل
استدعاءات المزوّد. اضبط ذلك باستخدام agents.defaults.imageMaxDimensionPx (الافتراضي:
1200):
- تقلل القيم الأدنى استهلاك رموز الرؤية المميزة وحجم الحمولة.
- تحافظ القيم الأعلى على مزيد من التفاصيل المرئية في لقطات الشاشة الكثيفة بعناصر OCR/واجهة المستخدم.
للحصول على تفصيل عملي (لكل ملف مُحقن والأدوات وSkills وحجم موجّه
النظام)، استخدم /context list أو /context detail. راجع
السياق.
كيفية عرض الاستخدام الحالي للرموز المميزة
في الدردشة:
/status-> بطاقة حالة غنية بالرموز التعبيرية تعرض نموذج الجلسة واستخدام السياق ورموز الإدخال/الإخراج المميزة للرد الأخير والتكلفة المقدرة عند ضبط التسعير المحلي للنموذج النشط./usage off|tokens|full-> يضيف تذييل استخدام خاصًا بكل رد إلى كل إجابة. يستمر لكل جلسة (ويُخزّن باسمresponseUsage).- يمسح
/usage reset(الأسماء البديلة:inheritوclearوdefault) تجاوز الجلسة لكي يرث الإعداد الافتراضي المضبوط مجددًا. - يعرض
/usage tokensتفاصيل الرموز المميزة/ذاكرة التخزين المؤقت للدورة. - يعرض
/usage fullتفاصيل موجزة عن النموذج/السياق/التكلفة؛ ولا تظهر التكلفة المقدرة إلا عندما تتوفر لدى OpenClaw بيانات وصفية للاستخدام وتسعير محلي للنموذج النشط. يمكن لتخطيطاتmessages.usageTemplateالمخصصة أن تتضمن حقول الرموز المميزة/ذاكرة التخزين المؤقت.
- يمسح
/usage cost-> ملخص التكلفة المحلية من سجلات جلسة OpenClaw.
الأسطح الأخرى:
- TUI/Web TUI: يدعمان
/statusو/usage. - CLI: يعرض
openclaw status --usageوopenclaw channels listنوافذ حصص المزوّد الموحّدة (X% left، لا تكاليف كل رد). مزوّدو نوافذ الاستخدام الحاليون: Claude (Anthropic) وClawRouter وCopilot (GitHub) وDeepSeek وGemini (Google Gemini CLI) وMiniMax وOpenAI وXiaomi وXiaomi Token Plan وz.ai.
توحّد أسطح الاستخدام الأسماء البديلة الشائعة للحقول الأصلية لدى المزوّد قبل
العرض. بالنسبة إلى حركة Responses لعائلة OpenAI، يشمل ذلك كلاً من
input_tokens/output_tokens وprompt_tokens/completion_tokens، بحيث
لا تغيّر أسماء الحقول الخاصة بوسيلة النقل نتائج /status أو /usage أو ملخصات
الجلسة. كما يُوحّد استخدام Gemini CLI: يقرأ محلل stream-json الافتراضي أحداث
message الخاصة بالمساعد، ويُربط stats.cached بـcacheRead، مع استخدام
stats.input_tokens - stats.cached عندما يحذف CLI حقل stats.input
الصريح. وتستمر تجاوزات JSON القديمة في قراءة نص الرد من response.
بالنسبة إلى حركة Responses الأصلية لعائلة OpenAI، تُوحّد الأسماء البديلة لاستخدام
WebSocket/SSE بالطريقة نفسها، وتعود الإجماليات إلى الإدخال + الإخراج الموحّدين
عندما تكون total_tokens مفقودة أو تساوي 0.
عندما تكون لقطة الجلسة الحالية محدودة البيانات، يمكن لـ/status وsession_status
استعادة عدادات الرموز المميزة/ذاكرة التخزين المؤقت وتسمية نموذج وقت التشغيل النشط من
أحدث سجل استخدام في النص المفرّغ. تظل القيم المباشرة غير الصفرية الموجودة ذات أولوية
على القيم الاحتياطية المستمدة من النص المفرّغ، ويمكن لإجماليات النص المفرّغ الأكبر
الموجّهة نحو الموجّه أن تتغلب عندما تكون الإجماليات المخزنة مفقودة أو أصغر.
تأتي مصادقة الاستخدام لنوافذ حصص المزوّد أولًا من نقاط الربط الخاصة بكل مزوّد؛ وإذا لم تكن لدى المزوّد نقطة ربط (أو لم تتمكن نقطة الربط من الحصول على رمز مميز)، يعود OpenClaw إلى بيانات اعتماد OAuth/مفتاح API المطابقة من ملفات تعريف المصادقة أو متغيرات البيئة أو الإعدادات.
تحتفظ إدخالات النص المفرّغ للمساعد بشكل الاستخدام الموحّد نفسه،
بما في ذلك usage.cost عندما يكون للنموذج النشط تسعير مضبوط ويعيد المزوّد
بيانات وصفية للاستخدام. يوفّر ذلك لـ/usage cost وحالة الجلسة المستندة إلى
النص المفرّغ مصدرًا مستقرًا حتى بعد زوال حالة وقت التشغيل المباشرة.
يفصل OpenClaw محاسبة استخدام المزوّد عن لقطة السياق الحالية.
يمكن أن يتضمن usage.total الخاص بالمزوّد إدخالًا مخزنًا مؤقتًا وإخراجًا
واستدعاءات نموذج متعددة ضمن حلقات الأدوات، لذا فهو مفيد للتكلفة والقياس عن بُعد،
لكنه قد يبالغ في تقدير نافذة السياق المباشرة. تستخدم شاشات عرض السياق وأدوات
التشخيص أحدث لقطة للموجّه (promptTokens، أو آخر استدعاء للنموذج عند عدم توفر
لقطة للموجّه) لقيمة context.used.
تقدير التكلفة (عند عرضها)
تُقدّر التكاليف من إعدادات تسعير النموذج:
models.providers.<provider>.models[].costهذه القيم هي بالدولار الأمريكي لكل مليون رمز مميز لكل من input وoutput
وcacheRead وcacheWrite. إذا كان التسعير مفقودًا، يحذف /usage full التكلفة؛
استخدم /usage tokens أو messages.usageTemplate مخصصًا عندما تحتاج إلى
تفاصيل الرموز المميزة/ذاكرة التخزين المؤقت في كل رد. لا يقتصر عرض التكلفة على
المصادقة بمفتاح API: يمكن للمزوّدين الذين لا يستخدمون مفتاح API، مثل aws-sdk،
عرض التكلفة المقدرة عندما يتضمن إدخال النموذج المضبوط لديهم تسعيرًا محليًا ويعيد
المزوّد بيانات وصفية للاستخدام.
بعد وصول العمليات المساعدة والقنوات إلى مسار جاهزية Gateway، يبدأ OpenClaw
تهيئة اختيارية للتسعير في الخلفية لمراجع النماذج المضبوطة التي لا يتوفر لها
تسعير محلي بالفعل. تجلب هذه التهيئة كتالوجات التسعير البعيدة من OpenRouter
وLiteLLM. عيّن models.pricing.enabled: false لتخطي جلب تلك الكتالوجات على
الشبكات غير المتصلة أو المقيّدة؛ وتظل إدخالات
models.providers.*.models[].cost الصريحة هي التي تقود تقديرات التكلفة المحلية.
تأثير مدة صلاحية ذاكرة التخزين المؤقت والتقليم
لا ينطبق التخزين المؤقت لموجّه المزوّد إلا ضمن نافذة مدة صلاحية ذاكرة التخزين المؤقت. يمكن لـOpenClaw اختياريًا تشغيل تقليم مدة صلاحية ذاكرة التخزين المؤقت: إذ يقلّم الجلسة بعد انتهاء مدة الصلاحية، ثم يعيد ضبط نافذة ذاكرة التخزين المؤقت لكي تعيد الطلبات اللاحقة استخدام السياق المخزن مؤقتًا حديثًا بدلًا من إعادة تخزين السجل الكامل. يُبقي ذلك تكاليف كتابة ذاكرة التخزين المؤقت أقل عندما تظل الجلسة خاملة بعد انتهاء مدة الصلاحية.
اضبطه في إعدادات Gateway، وراجع تفاصيل السلوك في تقليم الجلسة.
يمكن لـHeartbeat إبقاء ذاكرة التخزين المؤقت دافئة خلال فترات الخمول. إذا كانت
مدة صلاحية ذاكرة التخزين المؤقت لنموذجك 1h، فإن ضبط فاصل Heartbeat ليكون أقل منها
بقليل (مثل 55m) يمكن أن يتجنب إعادة تخزين الموجّه الكامل مؤقتًا، مما يقلل تكاليف
الكتابة إلى ذاكرة التخزين المؤقت.
في إعدادات الوكلاء المتعددين، يمكنك الاحتفاظ بإعداد نموذج مشترك واحد وضبط سلوك
ذاكرة التخزين المؤقت لكل وكيل باستخدام agents.list[].params.cacheRetention.
للحصول على دليل كامل لكل إعداد، راجع التخزين المؤقت للموجّه.
بالنسبة إلى تسعير Anthropic API، تكون قراءات ذاكرة التخزين المؤقت أرخص بكثير من رموز الإدخال المميزة، بينما تُحاسب الكتابات إلى ذاكرة التخزين المؤقت بمضاعف أعلى. راجع تسعير التخزين المؤقت للموجّه لدى Anthropic للاطلاع على أحدث الأسعار ومضاعفات مدة الصلاحية: https://docs.anthropic.com/docs/build-with-claude/prompt-caching
مثال: إبقاء ذاكرة تخزين مؤقت مدتها ساعة واحدة دافئة باستخدام Heartbeat
agents: defaults: model: primary: "anthropic/claude-opus-4-6" models: "anthropic/claude-opus-4-6": params: cacheRetention: "long" heartbeat: every: "55m"مثال: حركة مختلطة مع استراتيجية ذاكرة تخزين مؤقت لكل وكيل
agents: defaults: model: primary: "anthropic/claude-opus-4-6" models: "anthropic/claude-opus-4-6": params: cacheRetention: "long" # default baseline for most agents list: - id: "research" default: true heartbeat: every: "55m" # keep long cache warm for deep sessions - id: "alerts" params: cacheRetention: "none" # avoid cache writes for bursty notificationsتُدمج agents.list[].params فوق params الخاصة بالنموذج المحدد، لذا يمكنك
تجاوز cacheRetention فقط ووراثة الإعدادات الافتراضية الأخرى للنموذج
من دون تغيير.
سياق Anthropic بسعة مليون رمز مميز
يضبط OpenClaw حجم نماذج Claude 4.x الداعمة للتوافر العام، مثل Opus 4.8 وOpus 4.7
وOpus 4.6 وSonnet 4.6، باستخدام نافذة سياق Anthropic بسعة مليون رمز مميز. لا تحتاج
إلى params.context1m: true لهذه النماذج.
agents: defaults: models: "anthropic/claude-opus-4-6": alias: opusيمكن للإعدادات الأقدم الاحتفاظ بـcontext1m: true، لكن OpenClaw لم يعد يرسل
ترويسة الإصدار التجريبي المتقاعدة context-1m-2025-08-07 الخاصة بـAnthropic لهذا
الإعداد، ولا يوسّع نماذج Claude الأقدم غير المدعومة إلى مليون رمز مميز.
المتطلب: يجب أن تكون بيانات الاعتماد مؤهلة للاستخدام مع السياق الطويل. وإذا لم تكن كذلك، فستستجيب Anthropic بخطأ تحديد معدل من جهة المزوّد لذلك الطلب.
إذا صادقت لدى Anthropic باستخدام رموز OAuth/الاشتراك
(sk-ant-oat-*)، فسيحتفظ OpenClaw بترويسات Anthropic التجريبية التي يتطلبها OAuth،
مع إزالة الترويسة التجريبية المتوقفة context-1m-* إذا بقيت في
إعدادات أقدم.
نصائح لتقليل ضغط الرموز
- استخدم
/compactلتلخيص الجلسات الطويلة. - قلّص مخرجات الأدوات الكبيرة في تدفقات عملك.
- خفّض
agents.defaults.imageMaxDimensionPxللجلسات التي تتضمن الكثير من لقطات الشاشة. - اجعل أوصاف Skills قصيرة (تُدرج قائمة Skills في الموجّه).
- فضّل النماذج الأصغر للأعمال الاستكشافية كثيرة الإسهاب.
راجع Skills للاطلاع على الصيغة الدقيقة لحساب العبء الإضافي لقائمة Skills.