Agent coordination

الهدف

Status: active

الهدف

الهدف هو غاية ثابتة واحدة مرتبطة بجلسة OpenClaw الحالية. يمنح الوكيل والمشغّل مقصداً مشتركاً للعمل طويل الأمد، من دون تحويل ذلك المقصد إلى مهمة خلفية أو تذكير أو مهمة Cron أو أمر دائم.

الأهداف هي حالة جلسة. تنتقل مع مفتاح الجلسة، وتبقى بعد إعادة تشغيل العملية، وتظهر في /goal، وتكون متاحة للنموذج عبر أدوات الهدف، وتظهر في تذييل TUI عندما يكون للجلسة النشطة هدف.

البدء السريع

عيّن هدفاً:

text
/goal start get CI green for PR 87469 and push the fix

تحقق منه:

text
/goal

أوقفه مؤقتاً عندما يكون العمل في حالة انتظار مقصودة:

text
/goal pause waiting for CI

استأنفه:

text
/goal resume

علّمه كمكتمل:

text
/goal complete pushed and verified

امسحه:

text
/goal clear

فيمَ تُستخدم الأهداف

استخدم هدفاً عندما يكون للجلسة ناتج ملموس ينبغي أن يبقى مرئياً عبر أدوار كثيرة:

  • إغلاق PR: الإصلاح، والتحقق، والمراجعة التلقائية، والدفع، وفتح PR أو تحديثه.
  • تشغيل تصحيح: إعادة إنتاج العطل، وتحديد السطح المالك، وتصحيح المشكلة، وإثبات الإصلاح.
  • تمرير على الوثائق: قراءة الوثائق ذات الصلة، وكتابة الصفحة الجديدة، وربطها تقاطعياً، والتحقق من بناء الوثائق.
  • مهمة صيانة: فحص الحالة الحالية، وإجراء تغييرات محدودة، وتشغيل الفحوصات الصحيحة، والإبلاغ عمّا تغيّر.

الهدف ليس قائمة انتظار مهام. استخدم تدفق المهام، أو المهام، أو مهام Cron، أو الأوامر الدائمة عندما ينبغي أن يعمل العمل منفصلاً، أو يتكرر وفق جدول، أو يتفرع إلى عمل فرعي مُدار، أو يستمر كسياسة.

مرجع الأوامر

يطبع /goal من دون وسيطات ملخص الهدف الحالي:

text
GoalStatus: activeObjective: get CI green for PR 87469 and push the fixTokens used: 12kToken budget: 12k/50k Commands: /goal pause, /goal complete, /goal clear

الأوامر:

  • يعرض /goal أو /goal status الهدف الحالي.
  • ينشئ /goal start <objective> هدفاً جديداً للجلسة الحالية.
  • يُعدّ /goal set <objective> و/goal create <objective> اسمين بديلين لـ start.
  • يوقف /goal pause [note] هدفاً نشطاً مؤقتاً.
  • يستأنف /goal resume [note] هدفاً موقوفاً مؤقتاً أو محظوراً أو محدوداً بالاستخدام أو محدوداً بالميزانية.
  • يعلّم /goal complete [note] الهدف كمتحقق.
  • يُعدّ /goal done [note] اسماً بديلاً لـ complete.
  • يعلّم /goal block [note] الهدف كمحظور.
  • يُعدّ /goal blocked [note] اسماً بديلاً لـ block.
  • يزيل /goal clear الهدف من الجلسة.

لا يمكن أن يوجد إلا هدف واحد في الجلسة في كل مرة. يفشل بدء هدف ثانٍ إلى أن يُمسح الهدف الحالي.

الحالات

تستخدم الأهداف مجموعة حالات صغيرة:

  • active: الجلسة تلاحق الهدف.
  • paused: أوقف المشغّل الهدف مؤقتاً؛ يجعل /goal resume الهدف نشطاً مرة أخرى.
  • blocked: أبلغ الوكيل أو المشغّل عن عائق حقيقي؛ يجعل /goal resume الهدف نشطاً مرة أخرى عندما تتوفر معلومات أو حالة جديدة.
  • budget_limited: تم الوصول إلى ميزانية الرموز المكوّنة؛ يعيد /goal resume بدء السعي من الهدف نفسه.
  • usage_limited: محجوز لحالات التوقف بسبب حدود الاستخدام؛ يعيد /goal resume بدء السعي عندما يُسمح بذلك.
  • complete: تحقق الهدف. الأهداف المكتملة نهائية؛ استخدم /goal clear قبل بدء هدف آخر.

يمسح /new و/reset هدف الجلسة الحالية لأنهما يبدآن عمداً سياق جلسة جديداً.

ميزانيات الرموز

يمكن أن تكون للأهداف ميزانية رموز موجبة اختيارية. تُخزّن الميزانية مع الهدف وتُقاس من عدد الرموز الجديد للجلسة وقت الإنشاء. إذا كانت الجلسة الحالية لا تملك عند بدء الهدف إلا استخدام رموز قديم أو مجهول، ينتظر OpenClaw اللقطة الجديدة التالية لرموز الجلسة ويستخدمها كخط أساس، بحيث لا تُحتسب الرموز المصروفة قبل وجود الهدف على الهدف.

عندما يصل استخدام الرموز إلى الميزانية، تتغير حالة الهدف إلى budget_limited. هذا لا يحذف الهدف ولا يمحو الغاية. بل يخبر المشغّل والوكيل أن الهدف لم يعد يُلاحَق بنشاط إلى أن يُستأنف أو يُمسح.

ميزانيات الرموز هي حاجز حماية لهدف الجلسة، وليست سقف فوترة. لا تزال حصة المزوّد، وتقارير التكلفة، وسلوك نافذة السياق تستخدم ضوابط الاستخدام والنموذج العادية في OpenClaw.

أدوات النموذج

يكشف OpenClaw ثلاث أدوات هدف أساسية إلى حاضنات الوكلاء:

  • get_goal: قراءة هدف الجلسة الحالي، بما في ذلك الحالة والغاية واستخدام الرموز وميزانية الرموز.
  • create_goal: إنشاء هدف فقط عندما تطلب تعليمات المستخدم أو النظام أو المطوّر ذلك صراحةً. يفشل إذا كان للجلسة هدف بالفعل.
  • update_goal: تعليم الهدف كـ complete أو blocked.

لا يستطيع النموذج إيقاف هدف أو استئنافه أو مسحه أو استبداله بصمت. هذه ضوابط مشغّل/جلسة عبر /goal وأوامر إعادة الضبط. يمنع ذلك الوكيل من نقل المقصد بهدوء مع الحفاظ على مسار نظيف لكي يبلّغ الوكيل عن تحقق الهدف أو عن عائق حقيقي.

ينبغي لأداة update_goal أن تعلّم هدفاً كـ complete فقط عندما تكون الغاية قد تحققت فعلاً. وينبغي أن تعلّم هدفاً كـ blocked فقط عندما يتكرر شرط العائق نفسه ولا يستطيع الوكيل إحراز تقدم ذي معنى من دون إدخال جديد من المستخدم أو تغيير في حالة خارجية.

TUI

يبقي TUI هدف الجلسة النشطة مرئياً في التذييل بجانب الوكيل والجلسة والنموذج وضوابط التشغيل وأعداد الرموز.

أمثلة التذييل:

  • Pursuing goal (12k/50k) لهدف نشط مع ميزانية رموز.
  • Goal paused (/goal resume) لهدف موقوف مؤقتاً.
  • Goal blocked (/goal resume) لهدف محظور.
  • Goal hit usage limits (/goal resume) لهدف محدود بالاستخدام.
  • Goal unmet (50k/50k) لهدف محدود بالميزانية.
  • Goal achieved (42k) لهدف مكتمل.

التذييل موجز عمداً. استخدم /goal للاطلاع على الغاية الكاملة، والملاحظة، وميزانية الرموز، والأوامر المتاحة.

سلوك القناة

يعمل أمر /goal في جلسات OpenClaw القادرة على الأوامر، بما في ذلك TUI وأسطح الدردشة التي تسمح بالأوامر النصية. حالة الهدف مرتبطة بمفتاح الجلسة، لا بوسيلة النقل. إذا استخدم سطحان الجلسة نفسها، فسيريان الهدف نفسه.

حالة الهدف ليست توجيهاً للتسليم. فهي لا تفرض الردود عبر قناة، ولا تغيّر سلوك قائمة الانتظار، ولا توافق على الأدوات، ولا تجدول العمل.

استكشاف الأخطاء وإصلاحها

يعني Goal error: goal already exists أن للجلسة هدفاً بالفعل. استخدم /goal لفحصه، أو /goal complete إذا كان منجزاً، أو /goal clear قبل بدء غاية مختلفة.

يعني Goal error: goal not found أن الجلسة لا تملك هدفاً بعد. ابدأ واحداً باستخدام /goal start <objective>.

يعني Goal error: goal is already complete أن الهدف نهائي. امسحه قبل بدء غاية أخرى أو استئنافها.

إذا بدا استخدام الرموز مثل 0 أو قديماً، فقد لا تكون للجلسة النشطة لقطة رموز جديدة بعد. يُحدّث الاستخدام عندما يسجل OpenClaw استخدام الجلسة والمجاميع المشتقة من النصوص.

ذات صلة

Was this useful?
On this page

On this page