الانتقال إلى المحتوى الرئيسي

استخدام الرموز المميزة والتكاليف

يتتبع OpenClaw الرموز المميزة، وليس الأحرف. تختلف الرموز المميزة حسب النموذج، لكن معظم النماذج بأسلوب OpenAI يبلغ متوسطها نحو 4 أحرف لكل رمز مميز في النص الإنجليزي.

كيف يُبنى system prompt

يجمع OpenClaw system prompt خاصًا به في كل تشغيل. ويتضمن:
  • قائمة الأدوات + أوصاف قصيرة
  • قائمة Skills (البيانات الوصفية فقط؛ تُحمَّل التعليمات عند الطلب باستخدام read)
  • تعليمات التحديث الذاتي
  • مساحة العمل + ملفات التمهيد (AGENTS.md وSOUL.md وTOOLS.md وIDENTITY.md وUSER.md وHEARTBEAT.md وBOOTSTRAP.md عند كونها جديدة، بالإضافة إلى MEMORY.md عند وجوده أو memory.md كبديل بحروف صغيرة). تُقتطع الملفات الكبيرة بواسطة agents.defaults.bootstrapMaxChars (الافتراضي: 20000)، ويُحد إجمالي حقن التمهيد بواسطة agents.defaults.bootstrapTotalMaxChars (الافتراضي: 150000). ملفات memory/*.md تكون عند الطلب عبر أدوات الذاكرة ولا تُحقن تلقائيًا.
  • الوقت (UTC + المنطقة الزمنية للمستخدم)
  • وسوم الرد + سلوك heartbeat
  • بيانات وصفية وقت التشغيل (المضيف/نظام التشغيل/النموذج/التفكير)
راجع التفصيل الكامل في System Prompt.

ما الذي يُحتسب ضمن نافذة السياق

كل ما يتلقاه النموذج يُحتسب ضمن حد السياق:
  • System prompt (كل الأقسام المذكورة أعلاه)
  • سجل المحادثة (رسائل المستخدم + المساعد)
  • استدعاءات الأدوات ونتائج الأدوات
  • المرفقات/النصوص المفرغة (الصور، والصوت، والملفات)
  • ملخصات الضغط والآثار الناتجة عن التقليم
  • أغلفة الموفّر أو ترويسات الأمان (غير مرئية، لكنها تُحتسب أيضًا)
بالنسبة إلى الصور، يقوم OpenClaw بتصغير حمولات صور السجل/الأدوات قبل استدعاءات الموفّر. استخدم agents.defaults.imageMaxDimensionPx (الافتراضي: 1200) لضبط ذلك:
  • تؤدي القيم الأقل عادةً إلى تقليل استخدام رموز الرؤية وحجم الحمولة.
  • تحافظ القيم الأعلى على مزيد من التفاصيل البصرية لصور OCR/لقطات واجهات المستخدم الثقيلة.
للحصول على تفصيل عملي (لكل ملف محقون، والأدوات، وSkills، وحجم system prompt)، استخدم /context list أو /context detail. راجع Context.

كيفية رؤية استخدام الرموز المميزة الحالي

استخدم هذه الأوامر في الدردشة:
  • /statusبطاقة حالة غنية بالرموز التعبيرية تعرض نموذج الجلسة، واستخدام السياق، ورموز الإدخال/الإخراج لآخر استجابة، والتكلفة التقديرية (لمفتاح API فقط).
  • /usage off|tokens|full ← يضيف تذييل استخدام لكل استجابة إلى كل رد.
    • يستمر لكل جلسة (ويُخزن كـ responseUsage).
    • مصادقة OAuth تخفي التكلفة (الرموز المميزة فقط).
  • /usage cost ← يعرض ملخص تكلفة محليًا من سجلات جلسات OpenClaw.
أسطح أخرى:
  • TUI/Web TUI: كل من /status و/usage مدعومان.
  • CLI: يعرض openclaw status --usage وopenclaw channels list نوافذ الحصة الموحّدة للموفّرين (X% left، وليس تكاليف لكل استجابة). موفّرو نوافذ الاستخدام الحاليون: Anthropic وGitHub Copilot وGemini CLI، وOpenAI Codex وMiniMax وXiaomi وz.ai.
تقوم أسطح الاستخدام بتوحيد الأسماء المستعارة الشائعة للحقول الأصلية لدى الموفّرين قبل العرض. وبالنسبة إلى حركة Responses من عائلة OpenAI، يشمل ذلك كلًا من input_tokens / output_tokens وprompt_tokens / completion_tokens، حتى لا تؤثر أسماء الحقول الخاصة بوسيلة النقل في /status أو /usage أو ملخصات الجلسة. ويتم أيضًا توحيد استخدام Gemini CLI JSON: يأتي نص الرد من response، و تُعيَّن stats.cached إلى cacheRead مع استخدام stats.input_tokens - stats.cached عندما يحذف CLI حقل stats.input الصريح. وبالنسبة إلى حركة Responses الأصلية من عائلة OpenAI، تُوحَّد الأسماء المستعارة لاستخدام WebSocket/SSE بالطريقة نفسها، وتعود المجاميع إلى الإدخال + الإخراج الموحّدين عندما يكون total_tokens مفقودًا أو يساوي 0. وعندما تكون لقطة الجلسة الحالية متناثرة، يمكن أيضًا لـ /status وsession_status استعادة عدّادات الرموز المميزة/التخزين المؤقت ووسم النموذج النشط في وقت التشغيل من أحدث سجل استخدام في النص الحرفي. وتبقى القيم الحية غير الصفرية الموجودة ذات أولوية على قيم fallback القادمة من النص الحرفي، كما يمكن أن تفوز إجماليات النص الحرفي الأكبر الموجهة إلى prompt عندما تكون الإجماليات المخزنة مفقودة أو أصغر. تأتي مصادقة الاستخدام لنوافذ حصة الموفّرين من مداخل خاصة بكل موفّر عند توفرها؛ وإلا يعود OpenClaw إلى مطابقة بيانات اعتماد OAuth/API-key من ملفات تعريف المصادقة أو env أو التهيئة.

تقدير التكلفة (عند عرضه)

تُقدَّر التكاليف من تهيئة تسعير النموذج لديك:
models.providers.<provider>.models[].cost
وهذه هي بالدولار الأمريكي لكل 1M رمز مميز لـ input وoutput وcacheRead و cacheWrite. وإذا كانت التسعيرة مفقودة، فسيعرض OpenClaw الرموز المميزة فقط. ولا تعرض رموز OAuth تكلفة بالدولار مطلقًا.

تأثير TTL الخاص بالتخزين المؤقت والتقليم

لا ينطبق التخزين المؤقت لـ prompt لدى الموفّر إلا ضمن نافذة TTL الخاصة بالتخزين المؤقت. ويمكن لـ OpenClaw اختياريًا تشغيل تقليـم cache-ttl: حيث يقلّم الجلسة بمجرد انتهاء TTL للتخزين المؤقت، ثم يعيد تعيين نافذة التخزين المؤقت بحيث تتمكن الطلبات اللاحقة من إعادة استخدام السياق المخزن مؤقتًا حديثًا بدلًا من إعادة تخزين السجل الكامل مؤقتًا. وهذا يبقي تكاليف الكتابة في التخزين المؤقت أقل عندما تبقى الجلسة خاملة بعد TTL. قم بتهيئته في تهيئة البوابة وراجع تفاصيل السلوك في تقليـم الجلسة. يمكن لـ heartbeat إبقاء التخزين المؤقت دافئًا عبر فجوات الخمول. وإذا كان TTL للتخزين المؤقت في نموذجك هو 1h، فإن تعيين فترة heartbeat أقل بقليل من ذلك (مثلًا 55m) قد يمنع إعادة تخزين prompt الكامل مؤقتًا، مما يقلل تكاليف الكتابة في التخزين المؤقت. في إعدادات الوكلاء المتعددة، يمكنك الاحتفاظ بتهيئة نموذج مشتركة واحدة وضبط سلوك التخزين المؤقت لكل وكيل باستخدام agents.list[].params.cacheRetention. وللحصول على دليل كامل لكل خيار على حدة، راجع Prompt Caching. وبالنسبة إلى تسعير Anthropic API، تكون قراءات التخزين المؤقت أرخص بكثير من رموز الإدخال، بينما تُفوتر كتابات التخزين المؤقت بمضاعِف أعلى. راجع تسعير التخزين المؤقت لـ prompt لدى Anthropic للاطلاع على أحدث المعدلات ومضاعِفات TTL: https://docs.anthropic.com/docs/build-with-claude/prompt-caching

مثال: إبقاء تخزين مؤقت لمدة 1h دافئًا باستخدام 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" # خط الأساس الافتراضي لمعظم الوكلاء
  list:
    - id: "research"
      default: true
      heartbeat:
        every: "55m" # إبقاء التخزين المؤقت الطويل دافئًا للجلسات العميقة
    - id: "alerts"
      params:
        cacheRetention: "none" # تجنب كتابات التخزين المؤقت للإشعارات المتدفقة
يُدمج agents.list[].params فوق params الخاصة بالنموذج المحدد، لذلك يمكنك تجاوز cacheRetention فقط ووراثة القيم الافتراضية الأخرى للنموذج دون تغيير.

مثال: تمكين ترويسة Anthropic 1M context beta

تخضع نافذة السياق 1M في Anthropic حاليًا لبوابة بيتا. ويمكن لـ OpenClaw حقن قيمة anthropic-beta المطلوبة عند تمكين context1m على نماذج Opus أو Sonnet المدعومة.
agents:
  defaults:
    models:
      "anthropic/claude-opus-4-6":
        params:
          context1m: true
يُعيَّن هذا إلى ترويسة Anthropic beta context-1m-2025-08-07. ولا ينطبق هذا إلا عندما تكون context1m: true مضبوطة على إدخال ذلك النموذج. المتطلب: يجب أن تكون بيانات الاعتماد مؤهلة لاستخدام السياق الطويل. وإذا لم تكن كذلك، فستعيد Anthropic خطأ حد معدل من جانب الموفّر لذلك الطلب. إذا قمت بمصادقة Anthropic باستخدام رموز OAuth/الاشتراك (sk-ant-oat-*)، فسيتخطى OpenClaw ترويسة beta context-1m-* لأن Anthropic ترفض حاليًا هذا الجمع مع HTTP 401.

نصائح لتقليل ضغط الرموز المميزة

  • استخدم /compact لتلخيص الجلسات الطويلة.
  • قلّص مخرجات الأدوات الكبيرة في مسارات عملك.
  • اخفض agents.defaults.imageMaxDimensionPx للجلسات الثقيلة بلقطات الشاشة.
  • أبقِ أوصاف Skills قصيرة (إذ تُحقن قائمة Skills في prompt).
  • فضّل النماذج الأصغر للأعمال المطولة والاستكشافية.
راجع Skills لمعرفة الصيغة الدقيقة لعبء قائمة Skills.