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: اصلاح، راستی‌آزمایی، autoreview، push، و باز کردن یا به‌روزرسانی 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 منتظر snapshot تازه بعدی از توکن‌های نشست می‌ماند و آن را به‌عنوان خط مبنا استفاده می‌کند، بنابراین توکن‌هایی که پیش از وجود هدف مصرف شده‌اند به هدف محاسبه نمی‌شوند.

وقتی مصرف توکن به بودجه برسد، هدف به budget_limited تغییر می‌کند. این هدف را حذف نمی‌کند یا مقصود را از بین نمی‌برد. به اپراتور و عامل می‌گوید که هدف دیگر به‌صورت فعال دنبال نمی‌شود تا زمانی که از سر گرفته یا پاک شود.

بودجه‌های توکن یک محافظ برای هدف نشست هستند، نه سقف صورتحساب. سهمیه ارائه‌دهنده، گزارش هزینه، و رفتار پنجره زمینه همچنان از کنترل‌های عادی مصرف و مدل OpenClaw استفاده می‌کنند.

ابزارهای مدل

OpenClaw سه ابزار اصلی هدف را در اختیار harnessهای عامل قرار می‌دهد:

  • get_goal: خواندن هدف نشست فعلی، شامل وضعیت، مقصود، مصرف توکن، و بودجه توکن.
  • create_goal: ایجاد یک هدف فقط وقتی دستورهای کاربر، سیستم، یا توسعه‌دهنده صراحتا چنین چیزی را درخواست کنند. اگر نشست از قبل هدفی داشته باشد شکست می‌خورد.
  • update_goal: علامت‌گذاری هدف به‌عنوان complete یا blocked.

مدل نمی‌تواند بی‌صدا یک هدف را متوقف، از سر بگیرد، پاک، یا جایگزین کند. این‌ها کنترل‌های اپراتور/نشست از طریق /goal و فرمان‌های reset هستند. این باعث می‌شود عامل نتواند بی‌سروصدا مقصد را جابه‌جا کند، در حالی که مسیر تمیزی برای گزارش تحقق یا یک مانع واقعی توسط عامل حفظ می‌شود.

ابزار 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 یا قدیمی به نظر می‌رسد، نشست فعال ممکن است هنوز snapshot تازه‌ای از توکن نداشته باشد. با ثبت مصرف نشست و مجموع‌های مشتق‌شده از transcript توسط OpenClaw، مصرف تازه‌سازی می‌شود.

مرتبط

Was this useful?
On this page

On this page