Plugin guides

Plugin تخته‌کار

Plugin Workboard یک بُرد اختیاری به سبک کانبان به رابط کنترل اضافه می‌کند: کارت‌های کاری با اندازه مناسب برای عامل‌ها، تخصیص به عامل‌ها، و پیوندی برای بازگشت به وظیفه، اجرا و نشست داشبورد کارت.

Workboard عمداً کوچک است: کارهای عملیاتی محلی را برای یک Gateway از OpenClaw پیگیری می‌کند. این ابزار جایگزینی برای GitHub Issues، Linear، Jira یا دیگر سامانه‌های مدیریت پروژه تیمی نیست.

فعال‌سازی

Workboard همراه محصول ارائه می‌شود، اما به‌طور پیش‌فرض غیرفعال است:

  1. در رابط کنترل، Plugins را باز کنید، یا از /settings/plugins نسبت به مسیر پایه پیکربندی‌شده رابط کنترل استفاده کنید. برای مثال، مسیر پایه /openclaw از /openclaw/settings/plugins استفاده می‌کند.
  2. Workboard را پیدا کرده و فعال‌سازی را انتخاب کنید. چون Workboard همراه OpenClaw ارائه شده است، به اقدام نصب نیاز ندارد.
  3. اگر رابط کاربری اعلام کرد که راه‌اندازی مجدد لازم است، Gateway را راه‌اندازی مجدد کنید.

پس از بارگذاری زمان اجرای Plugin، زبانه Workboard در پیمایش داشبورد ظاهر می‌شود. تا زمانی که غیرفعال است، این زبانه در پیمایش پنهان می‌ماند. باز کردن مستقیم مسیر /workboard هنگامی که Plugin غیرفعال است یا توسط plugins.allow/plugins.deny مسدود شده است، به‌جای داده‌های کارت وضعیت دردسترس‌نبودن Plugin را نشان می‌دهد.

گردش کار معادل در CLI چنین است:

bash
openclaw plugins enable workboardopenclaw gateway restartopenclaw dashboard

پیکربندی

Workboard پیکربندی مختص Plugin ندارد. آن را با ورودی استاندارد Plugin فعال یا غیرفعال کنید:

json5
{  plugins: {    entries: {      workboard: {        enabled: true,        config: {},      },    },  },}
bash
openclaw plugins disable workboardopenclaw gateway restart

فیلدهای کارت

فیلد مقادیر
status triage، backlog، todo، scheduled، ready، running، review، blocked، done
priority low، normal، high، urgent
labels رشته‌های آزاد
agentId عامل تخصیص‌یافته اختیاری
ارجاع‌های پیوندشده وظیفه، اجرا، نشست یا نشانی اینترنتی منبع اختیاری
execution فراداده اختیاری برای اجرای Codex/Claude که از کارت آغاز شده است (موتور، حالت، مدل، نشست، شناسه اجرا، وضعیت)

کارت‌ها همچنین فراداده‌ای فشرده برای تلاش‌ها، نظرها، پیوندها، مدرک، مصنوعات، تنظیمات خودکارسازی، پیوست‌ها، گزارش‌های عامل، وضعیت پروتکل عامل، ادعاها، عیب‌یابی‌ها، اعلان‌ها، شناسه الگو، وضعیت بایگانی و تشخیص نشست منقضی، به‌علاوه فهرستی از رویدادهای اخیر (created، edited، moved، linked، specified، decomposed، claimed، heartbeat، execution_updated، attempt_started، attempt_updated، comment_added، link_added، proof_added، artifact_added، attachment_added، diagnostic، notification، dispatch، orchestration، protocol_violation، archived، unarchived، stale) در خود دارند. این فراداده به اپراتور امکان می‌دهد بدون باز کردن نشست پیوندشده، نحوه جابه‌جایی کارت در بُرد را ببیند؛ این داده‌ها زمینه عملیاتی محلی هستند و جایگزینی برای رونوشت نشست‌ها یا تاریخچه مسئله‌های GitHub نیستند.

Plugin و رابط کنترل از یک قرارداد کارت Workboard استفاده می‌کنند. بنابراین نوسازی‌های داشبورد، به‌جای ارائه نسخه‌ای کوچک‌تر و مختص رابط کاربری از کارت، خاستگاه و اختیار فضای کاری، وضعیت ادعا، اقدام‌های عیب‌یابی و شماره‌های ترتیبی اعلان‌ها را حفظ می‌کنند. انواع ناشناخته عیب‌یابی، شدت‌های ناشناخته عیب‌یابی و انواع ناشناخته اعلان تا زمانی که هر دو سطح از آن‌ها پشتیبانی کنند نادیده گرفته می‌شوند؛ آن‌ها هرگز به وضعیت معتبر دیگری بازنویسی نمی‌شوند.

داشبورد باز از ابطال‌های plugin.workboard.changed به‌روزرسانی می‌شود. هر رویداد فقط شامل دوره ذخیره‌گاه و بازبینی است؛ سپس رابط کاربری کارت‌های مرجع را از طریق RPC معمول operator.read دوباره می‌خواند. چندین بازبینی در یک خواندن بعدی ادغام می‌شوند. Workboard این خواندن را هنگام کشیدن، ویرایش یا نوشتن کارت به تعویق می‌اندازد و پس از پایان تعامل محلی آن را از سر می‌گیرد. هر اتصال مجدد همیشه بارگذاری مجدد مرجع را انجام می‌دهد. نظرسنجی منظم کل کارت‌ها انجام نمی‌شود و نوسازی همچنان به‌عنوان بازیابی دستی در دسترس است.

هنگامی که بیش از یک بُرد وجود دارد، نوار ابزار شامل فیلتر بُرد است که به‌جای اتکا به کارت‌های قابل‌مشاهده فعلی، از فراداده پایدار بُرد پشتیبانی می‌شود. بنابراین بُردهای خالی و بایگانی‌شده همچنان قابل انتخاب می‌مانند. کارت‌های بدون شناسه صریح بُرد به بُرد مرجع default تعلق دارند. هر بُرد یک صفحه مرجع /workboard/<boardId> دارد که می‌توان آن را نشانک‌گذاری کرد، به اشتراک گذاشت یا در نوار کناری سنجاق کرد. فرم /workboard?board=<boardId> که پیش‌تر منتشر شده بود، به‌عنوان نام مستعار سازگاری باقی می‌ماند و با حفظ سایر پارامترهای پرسمان به آن صفحه هدایت می‌شود. انتخاب همه بُردها به /workboard بازمی‌گردد.

کارت‌ها در وضعیت اختصاصی Gateway مربوط به Plugin ذخیره می‌شوند و همراه با سایر وضعیت OpenClaw آن Gateway جابه‌جا می‌شوند (به ذخیره‌سازی مراجعه کنید).

آغاز کار از یک کارت

کارت‌های بدون پیوند می‌توانند مستقیماً کار را آغاز کنند:

  • اجرای Codex / اجرای Claude یک اجرای عامل پیگیری‌شده با وظیفه را با موتوری صریح آغاز می‌کند، اعلان کارت را می‌فرستد و کارت را running علامت‌گذاری می‌کند. اجراهای Codex از openai/gpt-5.6-sol و اجراهای Claude از anthropic/claude-sonnet-4-6 استفاده می‌کنند.
  • باز کردن Codex / باز کردن Claude بدون ارسال اعلان کارت یا جابه‌جایی کارت، یک نشست پیوندشده داشبورد ایجاد می‌کند؛ برای کار دستی‌ای که به بُرد متصل می‌ماند.

آغازهای خودمختار از مسیر اجرای عامل پیگیری‌شده با وظیفه Gateway استفاده می‌کنند (عامل و مدل پیش‌فرض، مگر اینکه Codex/Claude صراحتاً انتخاب شده باشد)؛ سپس Workboard وظیفه حاصل، شناسه اجرا و کلید نشست را به کارت پیوند می‌دهد. هر اجرای پیوندشده همچنین خلاصه‌ای از تلاش (موتور، حالت، مدل، شناسه اجرا، برچسب‌های زمانی، وضعیت، شمارنده جاری شکست‌ها) ثبت می‌کند تا شکست‌های تکراری قابل مشاهده بمانند.

داشبورد وضعیت وظیفه را از دفتر وظایف Gateway نوسازی می‌کند و وظایف را بر اساس شناسه وظیفه، شناسه اجرا یا کلید نشست پیوندشده با کارت‌ها تطبیق می‌دهد. یک وظیفه در صف/در حال اجرا چرخه عمر کارت را فعال نگه می‌دارد؛ وظیفه پایان‌یافته، ناموفق، زمان‌تمام‌شده یا لغوشده کارت را با استفاده از همان قاعده همگام‌سازی نشست‌های پیوندشده به‌سمت review یا blocked می‌برد (به همگام‌سازی چرخه عمر نشست مراجعه کنید).

ابزارهای عامل

ابزار هدف
workboard_list فهرست‌کردن کارت‌های فشرده همراه با وضعیت ادعا/عیب‌یابی؛ با فیلتر اختیاری بُرد.
workboard_read بازگرداندن یک کارت به‌همراه زمینه محدودشده کارگر (یادداشت‌ها، تلاش‌ها، دیدگاه‌ها، پیوندها، مدرک، مصنوعات، نتایج والد، کار اخیر مسئول، عیب‌یابی‌های فعال).
workboard_create ایجاد کارت با والدها، مستأجر، Skills، بُرد، فراداده فضای کاری، کلید هم‌توانی، محدودیت زمان اجرا و بودجه تلاش مجددِ اختیاری.
workboard_link پیوند دادن یک والد به یک کارت فرزند. فرزندان تا زمانی که همه والدها به done برسند در todo می‌مانند؛ سپس ارتقای ارسال، آن‌ها را به ready منتقل می‌کند.
workboard_claim ادعای یک کارت برای عامل فراخواننده؛ backlog/todo/ready را به running منتقل می‌کند.
workboard_heartbeat تازه‌سازی Heartbeat ادعا در طول اجرای طولانی‌تر.
workboard_release آزادسازی ادعا پس از تکمیل، توقف موقت یا واگذاری؛ می‌تواند کارت را به وضعیت بعدی منتقل کند.
workboard_complete / workboard_block ابزارهای ساخت‌یافته چرخه‌عمر برای خلاصه‌های نهایی، مدرک، مصنوعات و مانیفست کارت‌های ایجادشده (باید به کارت‌هایی ارجاع دهند که به کارت تکمیل‌شده پیوند بازگشت دارند) یا دلایل مسدودکننده.
workboard_attachment_add / workboard_attachment_read / workboard_attachment_delete ذخیره پیوست‌های کوچک کارت در وضعیت SQLite افزونه، نمایه‌سازی روی کارت و ارائه در زمینه کارگر.
workboard_worker_log / workboard_protocol_violation ثبت خطوط گزارش کارگر و مسدودکردن کارت هنگامی که کارگر خودکار بدون فراخوانی workboard_complete/workboard_block متوقف می‌شود.
workboard_board_create / workboard_board_archive / workboard_board_delete مدیریت فراداده پایدار بُرد (نام نمایشی، توضیح، وضعیت بایگانی، فضای کاری پیش‌فرض).
workboard_runs بازگرداندن تاریخچه پایدار تلاش‌های اجرا برای یک کارت.
workboard_specify تبدیل یک کارت خامِ تریاژ/کارهای عقب‌مانده به کارت شفاف‌شده todo؛ خلاصه مشخصات را روی کارت ثبت می‌کند.
workboard_decompose تقسیم یک کارت هماهنگ‌سازی والد به فرزندان پیوندخورده با به‌ارث‌بردن فراداده بُرد/مستأجر؛ می‌تواند والد را با مانیفست کارت‌های ایجادشده تکمیل کند.
workboard_notify_subscribe / workboard_notify_list / workboard_notify_events / workboard_notify_advance / workboard_notify_unsubscribe مدیریت اشتراک‌های اعلان. خواندن رویدادها برای بازپخش ایمن است؛ advance مکان‌نمای پایدار را جابه‌جا می‌کند تا فراخوانندگان بدون ازدست‌دادن یا دوباره‌خواندن رویدادهای کارت تکمیل‌شده/ناموفق/کهنه ادامه دهند.
workboard_boards / workboard_stats بررسی فضای نام بُرد و آمار صف.
workboard_promote / workboard_reassign / workboard_reclaim بازیابی یا واگذاری کار گیرکرده.
workboard_comment / workboard_proof افزودن یادداشت‌های واگذاری یا پیوست‌کردن ارجاع‌های مدرک/مصنوعه.
workboard_unblock بازگرداندن کار مسدودشده به todo.
workboard_move انتقال کارت به وضعیتی دیگر؛ کارت‌های ادعاشده به دامنه ادعای عاملِ فراخواننده نیاز دارند.
workboard_dispatch تحریک ارتقای وابستگی یا پاک‌سازی ادعاهای کهنه بدون راه‌اندازی کارگرها؛ راه‌اندازی کارگر از ارسال Gateway یا فرمان اسلش استفاده می‌کند.

وضعیت‌های مدرک، نتایج گزارش‌شده توسط کارگر هستند، نه راستی‌آزمایی مستقل. یک ورودی passed یعنی کارگر گزارش می‌کند که فرمان یا بررسی آن موفق بوده است؛ مصرف‌کنندگانی که به یک دروازه کیفیت مستقل نیاز دارند باید فرمان، نشانی وب یا مصنوعه پیوست‌شده را بررسی کنند و راستی‌آزمای خود را اجرا کنند. workboard_proof مقدار proofId رکورد جدید را بازمی‌گرداند. وقتی workboard_complete وضعیت پایانی همان مدرک را گزارش می‌کند، proofId را ارسال کنید تا رکورد در انتظار، بدون ازدست‌دادن هویت یا مُهر زمانی خود، در همان محل حل‌وفصل شود. مدرکی که از قبل همان وضعیت پایانی را دارد، بدون تغییر دوباره استفاده می‌شود. مدرک تکمیل بدون proofId فقط الحاقی باقی می‌ماند، بنابراین تلاش مجدد بعدی نمی‌تواند صرفاً به‌دلیل یکسان‌بودن فرمان یا یادداشت، تاریخچه قدیمی‌تر را بازنویسی کند.

کارت‌های ادعاشده، تغییرات ابزار عامل از سوی عامل‌های دیگر را رد می‌کنند، مگر اینکه فراخواننده توکن ادعای بازگردانده‌شده توسط workboard_claim را داشته باشد. هر کارتی که یک ابزار عامل یا فراخوانی RPC در Gateway بازمی‌گرداند، metadata.claim.token را به [redacted] پنهان‌سازی می‌کند (خود توکن فقط یک‌بار، در سطح بالا و تنها از workboard_claim بازگردانده می‌شود)، تا گردانندگان داشبورد و عامل‌های دیگر بتوانند وضعیت ادعا را بدون مشاهده توکن قابل‌استفاده بررسی کنند. بازیابی از طریق workboard_promote/workboard_reassign/workboard_reclaim انجام می‌شود که به توکن نیاز ندارند.

ارسال

ارسال، محلیِ Gateway است: فرایندهای دلخواه سیستم‌عامل را ایجاد نمی‌کند. نشست‌های زیرعامل عادی OpenClaw همچنان مالک اجرا هستند. یک نوبت ارسال:

  1. کارت‌های آماده از نظر وابستگی را ارتقا می‌دهد.
  2. فراداده ارسال را روی کارت‌های آماده ثبت می‌کند.
  3. ادعاهای منقضی یا اجراهای مهلت‌گذشته را مسدود می‌کند.
  4. کارت‌های تریاژ پیکربندی‌شده در بُرد را به‌عنوان نامزدهای هماهنگ‌سازی علامت‌گذاری می‌کند.
  5. یک دسته کوچک از کارت‌های آماده را ادعا می‌کند و اجراهای کارگر را از طریق محیط اجرای زیرعامل Gateway آغاز می‌کند.

کارگرها زمینه محدودشده کارت را همراه با توکن ادعای لازم برای ارسال Heartbeat، تکمیل یا مسدودکردن کارت از طریق ابزارهای Workboard دریافت می‌کنند.

مسیرهای فضای کاری از اختیار موجود سامانه فایلِ فراخواننده پیروی می‌کنند. کلاینت‌های Gateway دارای operator.write می‌توانند از فضاهای کاری پیکربندی‌شده عامل استفاده کنند؛ کلاینت‌های operator.admin می‌توانند از checkoutهای دیگر میزبان استفاده کنند. ابزارهای عاملِ سندباکس‌شده از دسترسی فضای کاری سندباکس خود استفاده می‌کنند، درحالی‌که ابزارهای فقط-فضای‌کاریِ بدون سندباکس از ریشه فضای کاری پیکربندی‌شده خود استفاده می‌کنند. Workboard هنگام تخصیص فضای کاری، این اختیار را ثبت می‌کند و هنگام ارسال دوباره آن را با اختیار کنونی فراخواننده اشتراک می‌گیرد، تا یک کارت پایدار نتواند دسترسی فراخواننده بعدی را گسترش دهد. کارت‌های قدیمی‌تر دارای فضای کاری صریح میزبان اما بدون اختیار ثبت‌شده، پیش از ارسال تمام‌میزبان باید آن فضای کاری را دوباره ذخیره کنند؛ کارت‌های بدون مسیر میزبان هنگام نخستین ارسال، اختیار فراخواننده کنونی را می‌پذیرند.

ارسال مقید به فضای کاری، یک پوشه یا checkout گیت را تنها زمانی می‌پذیرد که ریشه مخزن آن دقیقاً با فضای کاری عامل هدف مطابقت داشته باشد. درخواست worktree به همان پوشه محدود و به‌عنوان فضای کاری پوشه‌ای ذخیره می‌شود، بنابراین میزبان checkout را ایجاد یا کد راه‌اندازی مخزن را اجرا نمی‌کند. کارگر هدف باید برای همان فضای کاری دقیق از یک سندباکس Docker قابل‌نوشتن و غیرمشترک استفاده کند، بدون اجرای ارتقایافته، بازنویسی‌های پایدار اجرای میزبان/Node یا ابزارهای طبقه‌بندی‌نشده افزونه و MCP. Workboard ابزارهای ثبت‌شده خود را به‌جای اعتماد به پیشوند workboard_* فهرست می‌کند و ارسال، کانتینر Docker داغی را که هش زنده اتصال/پیکربندی آن کهنه است رد می‌کند. ارسال به‌جای راه‌اندازی کارگری با محدودیت کمتر، خط‌مشی ناسازگار هدف را گزارش می‌کند. ارسال تمام‌میزبان می‌تواند checkoutهای محلی دیگر را هدف قرار دهد و راه‌اندازی عادی worktree مدیریت‌شده را حفظ می‌کند.

اختیار فضای کاری، مدل مجوز دومی برای چرخه‌عمر کارت ایجاد نمی‌کند. فراخوانندگانی که مجاز به تغییر کارت‌های Workboard هستند، می‌توانند آن‌ها را در همه سطوح به‌صورت دستی میان همان وضعیت‌ها جابه‌جا کنند؛ دسترسی فقط‌خواندنی فضای کاری تنها از ارسال کارگری که به نوشتن نیاز دارد جلوگیری می‌کند.

انتخاب کارگر

هر گذر به‌طور پیش‌فرض حداکثر 3 کارگر را راه‌اندازی می‌کند. کارت‌های آماده ابتدا بر اساس اولویت، سپس موقعیت و بعد زمان ایجاد مرتب می‌شوند. هر گذر برای هر مالک/عامل فقط یک کارت را راه‌اندازی می‌کند و از مالکانی که از قبل کار در حال اجرا یا در حال بازبینی روی تابلو دارند، صرف‌نظر می‌کند. کارت‌های بایگانی‌شده، کارت‌های دارای ادعای فعال و کارت‌هایی که در وضعیت ready نیستند، هرگز برای راه‌اندازی کارگر انتخاب نمی‌شوند (بااین‌حال، بخش داده‌ای توزیع همچنان می‌تواند بر آن‌ها اثر بگذارد: پاک‌سازی ادعاهای منقضی، ارتقای وابستگی، پاک‌سازی مهلت‌های زمانی منقضی‌شده).

کلیدهای نشست برای هر تابلو/کارت قطعی هستند؛ بنابراین توزیع‌های تکراری به‌جای ایجاد نشست‌های نامرتبط، دوباره به همان مسیر کارگر هدایت می‌شوند:

  • کارت‌های تخصیص‌یافته: agent:<agentId>:subagent:workboard-<boardId>-<cardId>
  • کارت‌های تخصیص‌نیافته: subagent:workboard-<boardId>-<cardId> (Gateway عامل پیش‌فرض پیکربندی‌شده را تعیین می‌کند)

اگر پس از ادعای یک کارت نتوان کارگری را راه‌اندازی کرد، تابلوی کار کارت را مسدود می‌کند، ادعا را پاک می‌کند، شکست شروع اجرا را ثبت می‌کند و یک خط گزارش کارگر می‌افزاید که در داشبورد، JSON مربوط به CLI، ابزارهای عامل و عیب‌یابی کارت قابل مشاهده است.

نقاط ورود

  • کنش توزیع در داشبورد
  • openclaw workboard dispatch
  • /workboard dispatch در یک کانال دارای قابلیت اجرای فرمان

هر سه، هنگامی که Gateway در دسترس باشد، از زمان‌اجرای زیرعامل Gateway استفاده می‌کنند. CLI یک مسیر جایگزین برای اپراتور دارد: اگر فراخوانی Gateway با خطای اتصال/دردسترس‌نبودن (یا خطای unknown method برای Gatewayهای قدیمی‌تر) ناموفق شود و هیچ مقصد صریح --url/--token و هیچ Gateway راه‌دور پیکربندی‌شده‌ای (OPENCLAW_GATEWAY_URL یا gateway.mode: remote) اعمال نشود، CLI توزیع صرفاً داده‌ای را روی وضعیت محلی SQLite اجرا می‌کند؛ این مسیر می‌تواند وابستگی‌ها را ارتقا دهد، ادعاهای منقضی را پاک کند و اجراهای دارای مهلت زمانی منقضی‌شده را مسدود کند، اما نمی‌تواند کارگرها را راه‌اندازی کند. خطاهای احراز هویت، مجوز و اعتبارسنجی از یک Gateway دردسترس، به‌عنوان دردسترس‌نبودن در نظر گرفته نمی‌شوند؛ آن‌ها به‌صورت خطای فرمان نمایش داده می‌شوند و هر شکست Gateway هنگامی که مقصد صریح --url/--token ارائه شده باشد نیز همین‌گونه است.

فراداده تابلو می‌تواند autoDecompose، autoDecomposePerDispatch، defaultAssignee و orchestratorProfile را تنظیم کند. OpenClaw این مقصود را ثبت می‌کند و آن را در زمینه کارگر در دسترس قرار می‌دهد؛ مشخص‌سازی/تجزیه واقعی همچنان از طریق ابزارهای عادی تابلوی کار انجام می‌شود.

CLI و فرمان اسلش

bash
openclaw workboard list [--board <id>] [--status <status>] [--include-archived] [--json]openclaw workboard create "Fix stale card lifecycle" --priority high --labels bug,workboardopenclaw workboard show <card-id> [--json]openclaw workboard move <card-id> --status <status> [--json]openclaw workboard dispatch [--board <id>] [--json]

خروجی متنی list به‌طور پیش‌فرض کارت‌های بایگانی‌شده را پنهان می‌کند (--include-archived این رفتار را لغو می‌کند)؛ --json همیشه کارت‌های بایگانی‌شده را شامل می‌شود و با قرارداد کامل کارت که اسکریپت‌های موجود استفاده می‌کنند، مطابقت دارد. show و move یک پیشوند شناسه بدون ابهام را می‌پذیرند. list، create، show و move همیشه وضعیت محلی Plugin را مستقیماً می‌خوانند/می‌نویسند. فقط dispatch، Gateway در حال اجرا را فراخوانی می‌کند و مسیر جایگزین توصیف‌شده در بالا را دارد.

برای پرچم‌های کامل، خروجی JSON، رفتار مسیر جایگزین Gateway، مدیریت پیشوند شناسه، قواعد انتخاب توزیع و عیب‌یابی، به CLI تابلوی کار مراجعه کنید.

/workboard list، /workboard show <card-id>، /workboard create <title>، /workboard move <card-id> --status <status> و /workboard dispatch رفتار CLI را منعکس می‌کنند. فهرست‌کردن و نمایش، برای هر فرستنده مجاز فرمان عملیات خواندن هستند. ایجاد، جابه‌جایی و توزیع در سطوح گفت‌وگو به وضعیت مالک نیاز دارند، یا به یک کلاینت Gateway با operator.write/operator.admin. جابه‌جایی‌های دستی اپراتور از همان رفتار لغو ادعا مانند کشیدن‌ورهانیدن در داشبورد استفاده می‌کنند. دسترسی آن‌ها به درخت کاری همچنان از همان مرز فضای کاری توصیف‌شده در بالا پیروی می‌کند.

همگام‌سازی چرخه عمر نشست

کارت‌ها می‌توانند به یک نشست موجود داشبورد، یا نشستی که هنگام شروع کار از کارت ایجاد می‌شود، پیوند داده شوند. کارت‌های پیوندشده چرخه عمر نشست را به‌صورت درون‌خطی نشان می‌دهند: در حال اجرا، منقضی، پیوندشده و بیکار، انجام‌شده، ناموفق یا مفقود. همچنین می‌توان یک نشست موجود را از زبانه نشست‌ها با افزودن به تابلوی کار ثبت کرد؛ کارت به آن نشست پیوند می‌خورد، از برچسب نشست یا درخواست اخیر کاربر به‌عنوان عنوان استفاده می‌کند و در صورت دردسترس‌بودن، یادداشت‌ها را از درخواست اخیر کاربر به‌همراه آخرین پاسخ دستیار مقداردهی اولیه می‌کند.

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

تا زمانی که کارت در وضعیت کاری فعال است، تابلوی کار از نشست پیوندشده پیروی می‌کند:

وضعیت نشست پیوندشده وضعیت کارت
فعال running
تکمیل‌شده review
ناموفق، خاتمه‌یافته، منقضی یا لغوشده blocked

وضعیت‌های بازبینی دستی اولویت دارند. انتقال کارت به review، blocked یا done همگام‌سازی خودکار آن کارت را متوقف می‌کند تا زمانی که دوباره آن را به todo یا running منتقل کنید.

شروع یک کارت از نشست‌های عادی Gateway استفاده می‌کند؛ تابلوی کار فقط فراداده و پیوندهای کارت را ذخیره می‌کند. رونوشت مکالمه، انتخاب مدل و چرخه عمر اجرا همچنان در مالکیت سامانه عادی نشست باقی می‌مانند. برای لغو اجرای فعال، روی یک کارت زنده پیوندشده از توقف استفاده کنید؛ تابلوی کار آن کارت را blocked علامت‌گذاری می‌کند تا برای پیگیری قابل مشاهده باقی بماند.

کارت‌های جدید می‌توانند از الگوهای تابلوی کار (bugfix، docs، release، pr_review، plugin) آغاز شوند. الگوها عنوان، یادداشت‌ها، برچسب‌ها و اولویت را از پیش پر می‌کنند؛ شناسه الگو به‌عنوان فراداده کارت ذخیره می‌شود.

گردش‌کار داشبورد

  1. زبانه تابلوی کار را در رابط کنترل باز کنید.
  2. کارتی با عنوان، یادداشت‌ها، اولویت، برچسب‌ها، عامل اختیاری و نشست پیوندشده اختیاری ایجاد کنید؛ یا نشست‌ها را باز کنید و برای یک نشست موجود افزودن به تابلوی کار را انتخاب کنید.
  3. کارت را بین ستون‌ها بکشید، یا کنترل فشرده وضعیت آن را در کانون قرار دهید و از منو یا ArrowLeft/ArrowRight استفاده کنید. هنگام کشیدن، کارت مبدأ کم‌رنگ می‌شود و ستون‌های قابل رهاکردن با یک حاشیه مشخص می‌شوند.
  4. برای ایجاد یا استفاده مجدد از یک نشست داشبورد، کار را از کارت شروع کنید.
  5. درحالی‌که عامل کار می‌کند، نشست پیوندشده را از کارت باز کنید.
  6. اجازه دهید همگام‌سازی چرخه عمر، کار در حال اجرا را به review/blocked منتقل کند؛ سپس پس از پذیرش، کارت را به‌صورت دستی به done منتقل کنید.

ابزارک‌های نشست-تابلو

تابلوی کار دو ابزارک بومی برای داشبوردهای نشست ارائه می‌کند (به داشبوردها مراجعه کنید). عامل آن‌ها را با ابزار dashboard خود و با استفاده از content: { kind: "plugin", pluginKind, props } سنجاق می‌کند و آن‌ها به‌صورت رابط کاربری بومی با داده زنده نمایش داده می‌شوند — بدون قاب سندباکس یا اعطای قابلیت:

  • workboard:card با props: { cardId } یک کارت را همراه با کنترل وضعیت، اولویت و عامل تخصیص‌یافته آن نشان می‌دهد.
  • workboard:mini با props: { boardId, limit } اختیاری، تعداد هر وضعیت به‌همراه کارت‌های آماده/در حال اجرای برتر را نشان می‌دهد و به صفحه کامل تابلو پیوند می‌دهد. بدون boardId همه تابلوها را تجمیع می‌کند؛ با boardId دامنه را به همان تابلو محدود می‌کند (کارت‌هایی که بدون شناسه صریح تابلو ایجاد شده‌اند در default قرار می‌گیرند).

عیب‌یابی

عیب‌یابی‌ها از فراداده محلی کارت محاسبه می‌شوند. بررسی‌های داخلی موارد زیر را علامت‌گذاری می‌کنند:

نوع شرط
stranded_ready کارت تخصیص‌یافته todo/backlog/ready که بیش از 1 ساعت به‌روزرسانی نشده است.
running_without_heartbeat کارت running بدون Heartbeat ادعا یا به‌روزرسانی اجرا در بیش از 20 دقیقه.
blocked_too_long کارت blocked که بیش از 24 ساعت به‌روزرسانی نشده است.
repeated_failures تعداد شکست‌های رهگیری‌شده کارت به 2 یا بیشتر رسیده است.
missing_proof کارت done بدون مدرک، مصنوعات یا پیوست.
orphaned_session کارت running دارای sessionKey اما بدون فراداده execution.

مجوزها

متدهای RPC مربوط به Gateway زیر workboard.* قرار دارند:

دامنه متدها
operator.read cards.list، cards.export، cards.diagnostics، فهرست/دریافت پیوست، خواندن رویدادهای اعلان، boards.list، cards.stats، cards.runs
operator.write cards.diagnostics.refresh، create/update/move/delete/comment/link/linkDependency/proof/artifact، افزودن/حذف پیوست، گزارش کارگر، نقض پروتکل، claim/heartbeat/release/promote/reassign/reclaim/complete/block/unblock، cards.dispatch، cards.bulk، بایگانی، boards.upsert/archive/delete، cards.specify/decompose، اشتراک/حذف/پیش‌برد اعلان

هیچ متد RPC به operator.admin نیاز ندارد. مرورگرهایی که با دسترسی فقط‌خواندنی اپراتور متصل‌اند، می‌توانند تابلو را بررسی کنند اما نمی‌توانند کارت‌ها را تغییر دهند. دامنه مدیر مسیرهای میزبان پذیرفته‌شده تابلوی کار را گسترش می‌دهد؛ متدهای دردسترس را تغییر نمی‌دهد.

ذخیره‌سازی

تابلوی کار داده‌های ماندگار را در یک پایگاه داده رابطه‌ای SQLite تحت مالکیت Plugin در پوشه وضعیت OpenClaw ذخیره می‌کند: تابلوها، کارت‌ها، برچسب‌ها، رویدادهای چرخه عمر، تلاش‌های اجرا، دیدگاه‌ها، پیوندهای وابستگی، مدارک، ارجاع‌های مصنوعات، فراداده و داده دودویی پیوست‌ها، عیب‌یابی‌ها، اعلان‌ها، گزارش‌های کارگر، وضعیت پروتکل و اشتراک‌ها همگی در جدول‌های تابلوی کار قرار دارند (نه در ورودی‌های کلید-مقدار Plugin). خروجی گرفتن از کارت، روایت تابلو را بدون درج درون‌خطی محتوای دودویی پیوست‌ها حفظ می‌کند.

نصب‌هایی که در نسخه .28 از تابلوی کار استفاده کرده‌اند، می‌توانند openclaw doctor --fix را برای انتقال فضاهای نام قدیمی وضعیت Plugin که منتشر شده‌اند (workboard.cards، workboard.boards، workboard.notify و در صورت وجود، workboard.attachments) به پایگاه داده رابطه‌ای اجرا کنند.

رفع اشکال

زبانه می‌گوید تابلوی کار در دسترس نیست

bash
openclaw plugins inspect workboard --runtime --json

اگر plugins.allow پیکربندی شده است، workboard را به آن اضافه کنید. اگر plugins.deny شامل workboard است، پیش از فعال‌کردن Plugin آن را حذف کنید.

کارت‌ها ذخیره نمی‌شوند

تأیید کنید اتصال مرورگر دسترسی operator.write دارد. نشست‌های فقط‌خواندنی اپراتور می‌توانند کارت‌ها را فهرست کنند، اما نمی‌توانند آن‌ها را ایجاد، ویرایش، جابه‌جا یا حذف کنند.

شروع یک کارت، نشست مورد انتظار را باز نمی‌کند

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

توزیع، کارگری را راه‌اندازی نمی‌کند

تأیید کنید دست‌کم یک کارت ready بدون ادعای فعال وجود دارد:

bash
openclaw workboard list --status ready

اگر CLI اعزام صرفاً داده‌ای را گزارش کرد، Gateway را راه‌اندازی یا بازراه‌اندازی کنید و دوباره تلاش کنید — اعزام صرفاً داده‌ای وضعیت برد محلی را به‌روزرسانی می‌کند، اما نمی‌تواند اجرای کارکنان زیرعامل را آغاز کند. همچنین، وقتی کارت دیگری برای همان مالک یا عامل از قبل در حال اجرا یا منتظر بازبینی باشد، ممکن است کارت‌ها نادیده گرفته شوند؛ پیش از اعزام کارهای بیشتر برای همان مالک، آن کار فعال را تکمیل، مسدود یا آزاد کنید.

مرتبط

Was this useful?
On this page

On this page