Bundled plugin guides
Plugin تخته کار
Plugin Workboard یک برد اختیاری به سبک کانبان به رابط کاربری کنترل اضافه میکند. از آن برای گردآوری کارتهای کاری در اندازهٔ عامل، واگذاری آنها به عاملها، و ردیابی وظیفهٔ پسزمینه، اجرا، و نشست داشبورد پیوندخورده از یک کارت استفاده کنید.
Workboard عمداً کوچک است. این Plugin کار عملیاتی محلی را برای یک OpenClaw Gateway ردیابی میکند؛ جایگزینی برای GitHub Issues، Linear، Jira یا دیگر سامانههای مدیریت پروژهٔ تیمی نیست.
وضعیت پیشفرض
Workboard یک Plugin همراه است و بهطور پیشفرض غیرفعال است، مگر اینکه آن را در پیکربندی Plugin فعال کنید.
آن را با این دستور فعال کنید:
openclaw plugins enable workboardopenclaw gateway restartسپس داشبورد را باز کنید:
openclaw dashboardزبانهٔ Workboard در ناوبری داشبورد ظاهر میشود. اگر زبانه قابل مشاهده باشد
اما Plugin غیرفعال باشد یا توسط plugins.allow / plugins.deny مسدود شده باشد،
نما بهجای دادههای کارت محلی، وضعیت در دسترس نبودن Plugin را نشان میدهد.
کارتها شامل چه چیزهایی هستند
هر کارت ذخیره میکند:
- عنوان و یادداشتها
- وضعیت:
triage،backlog،todo،scheduled،ready،running،review،blocked، یاdone - اولویت:
low،normal،high، یاurgent - برچسبها
- شناسهٔ اختیاری عامل
- وظیفه، اجرا، نشست، یا URL منبعِ اختیاریِ پیوندخورده
- فرادادهٔ اجرای اختیاری برای اجرای Codex یا Claude که از کارت شروع شده است
- فرادادهٔ فشرده برای تلاشها، نظرها، پیوندها، اثبات، مصنوعات، خودکارسازی، پیوستها، گزارشهای کارگر، وضعیت پروتکل کارگر، ادعاها، تشخیصها، اعلانها، قالبها، وضعیت بایگانی، و تشخیص نشستهای مانده
- رویدادهای اخیر کارت، مانند تغییرات ایجاد، جابهجایی، پیوند، ادعا، Heartbeat، تلاش، اثبات، مصنوع، تشخیص، اعلان، اعزام، بایگانی، ماندگی، یا بهروزرسانی توسط عامل
کارتها در وضعیت Gateway متعلق به Plugin ذخیره میشوند. آنها محلیِ دایرکتوری وضعیت Gateway هستند و همراه با بقیهٔ وضعیت OpenClaw همان Gateway جابهجا میشوند.
Workboard فرادادهٔ فشردهٔ جداگانه برای هر کارت نگه میدارد تا عملگرها بتوانند بدون باز کردن نشست پیوندخورده ببینند کارت چگونه در برد حرکت کرده است. رویدادها، خلاصههای تلاش، قطعههای اثبات، پیوندهای مرتبط، نظرها، نشانگرهای بایگانی، و نشانگرهای نشست مانده عمداً فرادادهٔ محلی هستند؛ آنها جایگزین رونوشتهای نشست یا تاریخچهٔ مسئلههای GitHub نمیشوند.
اجراهای کارت و وظیفهها
کارتهای بدون پیوند میتوانند کار را از خود کارت شروع کنند. شروعهای خودمختار از مسیر اجرای عاملِ ردیابیشده با وظیفه در Gateway استفاده میکنند، سپس Workboard وظیفهٔ حاصل، شناسهٔ اجرا، و کلید نشست را دوباره به کارت پیوند میدهد. شروع از عامل و مدل پیشفرض پیکربندیشدهٔ Gateway استفاده میکند. کنشهای Codex و Claude انتخابهای اختیاری و صریح مدل هستند:
- Run Codex یا Run Claude یک اجرای عاملِ پشتیبانیشده با وظیفه را شروع میکند،
اعلان کارت را میفرستد، و کارت را
runningعلامتگذاری میکند. - Open Codex یا Open Claude بدون فرستادن اعلان کارت یا جابهجایی کارت، یک نشست داشبورد پیوندخورده میسازد تا بتوانید دستی کار کنید در حالی که به برد متصل میماند.
فرادادهٔ اجرا موتور انتخابشده، حالت، ارجاع مدل، کلید نشست، شناسهٔ اجرا،
شناسهٔ وظیفه در صورت موجود بودن، و وضعیت چرخهٔ عمر را روی کارت ذخیره میکند. اجراهای Codex
از openai/gpt-5.5 استفاده میکنند؛ اجراهای Claude از
anthropic/claude-sonnet-4-6 استفاده میکنند.
هر اجرای پیوندخورده همچنین یک خلاصهٔ تلاش را روی همان رکورد کارت ثبت میکند. خلاصهٔ تلاش موتور، حالت، مدل، شناسهٔ اجرا، برچسبهای زمانی، وضعیت، و شمارندهٔ چرخشی شکست را نگه میدارد تا شکستهای تکراری روی برد قابل مشاهده بمانند.
داشبورد وضعیت وظیفه را از دفتر وظایف Gateway تازهسازی میکند و وظیفهها را بر اساس شناسهٔ وظیفه، شناسهٔ اجرا، یا کلید نشست پیوندخورده دوباره با کارتها تطبیق میدهد. اگر وظیفه در صف یا در حال اجرا باشد، چرخهٔ عمر کارت وضعیت فعال وظیفه را نشان میدهد. اگر وظیفه تمام شود، شکست بخورد، زمانش تمام شود، یا لغو شود، چرخهٔ عمر کارت با همان همگامسازی چرخهٔ عمر نشستهای پیوندخورده بهسمت وضعیت بازبینی یا مسدود حرکت میکند.
هماهنگی عامل
Workboard همچنین ابزارهای اختیاری عامل را برای گردشکارهای آگاه از برد ارائه میکند:
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 متعلق به Plugin ذخیره میکنند، آنها را روی کارت نمایه میکنند، و در بافت کارگر در دسترس میگذارند.workboard_worker_logوworkboard_protocol_violationخطهای گزارش کارگر را ثبت میکنند و وقتی یک کارگر خودکار بدون فراخوانیworkboard_completeیاworkboard_blockمتوقف میشود، کارتها را مسدود میکنند.workboard_board_create،workboard_board_archive، وworkboard_board_deleteفرادادهٔ پایدار برد مانند نام نمایشی، توضیح، وضعیت بایگانی، و فضای کاری پیشفرض را مدیریت میکنند.workboard_runsتاریخچهٔ تلاشهای اجرای ذخیرهشده روی کارت را برمیگرداند.workboard_specifyیک کارت خامِ triage یا backlog را به یک کارت روشنشدهٔtodoتبدیل میکند و خلاصهٔ مشخصات را روی کارت ثبت میکند.workboard_decomposeیک کارت هماهنگسازی والد را به فرزندهای پیوندخورده گسترش میدهد، فرادادهٔ برد و مستأجر را به ارث میبرد، و میتواند والد را با یک مانیفست کارتهای ایجادشده تکمیل کند.workboard_notify_subscribe،workboard_notify_list،workboard_notify_events،workboard_notify_advance، وworkboard_notify_unsubscribeاشتراکهای اعلان را در وضعیت Plugin مدیریت میکنند. خواندن رویدادها برای بازپخش ایمن است؛ ابزار advance نشانگر پایدار را جابهجا میکند تا فراخوانندهها بتوانند بدون از دست دادن یا دوبارهخوانی رویدادهای کارتِ تکمیلشده، شکستخورده، یا مانده از سر بگیرند.workboard_boards،workboard_stats،workboard_promote,workboard_reassign،workboard_reclaim،workboard_comment,workboard_proof،workboard_unblock، وworkboard_dispatchبه یک عامل امکان میدهند فضاهای نام برد را بررسی کند، آمار صف را ببیند، کار گیرکرده را بازیابی کند، یادداشتهای تحویل اضافه کند، ارجاعهای اثبات یا مصنوع را پیوست کند، کار مسدود را بهtodoبرگرداند، و ارتقای وابستگی یا پاکسازی ادعای مانده را تحریک کند.
کارتهای ادعاشده جهشهای ابزار عامل از عاملهای دیگر را رد میکنند، مگر اینکه
فراخواننده توکن ادعای برگشتی از workboard_claim را داشته باشد. عملگرهای داشبورد
هنوز از سطح RPC عادی Gateway استفاده میکنند و میتوانند کارتها را بازیابی یا
دوباره واگذار کنند.
Workboard دادههای پایدار برد را در یک پایگاهدادهٔ رابطهای SQLite متعلق به Plugin زیر دایرکتوری وضعیت OpenClaw ذخیره میکند. بردها، کارتها، برچسبها، رویدادهای چرخهٔ عمر، تلاشهای اجرا، نظرها، پیوندهای وابستگی، اثبات، ارجاعهای مصنوع، فراداده و blobهای پیوست، تشخیصها، اعلانها، گزارشهای کارگر، وضعیت پروتکل، و اشتراکها بهجای ورودیهای کلید-مقدار Plugin در جدولهای Workboard پایدار میشوند. خروجیگیری از کارت همچنان روایت برد را بدون درونگذاری محتوای blobهای پیوست حفظ میکند.
نصبهایی که از Workboard در انتشار .28 استفاده کردهاند میتوانند
openclaw doctor --fix را اجرا کنند تا فضاهای نام وضعیت Plugin قدیمیِ منتشرشده
(workboard.cards، workboard.boards، و workboard.notify) را به پایگاهدادهٔ
رابطهای مهاجرت دهند. اگر فضای نام قدیمی workboard.attachments وجود داشته باشد،
doctor آن blobهای پیوست را نیز مهاجرت میدهد.
تشخیصهای Workboard از فرادادهٔ کارت محلی محاسبه میشوند. بررسیهای داخلی کارتهای واگذارشدهای را که بیش از حد منتظر میمانند، کارتهای در حال اجرا بدون Heartbeat اخیر، کارتهای مسدودی که نیازمند توجه هستند، شکستهای تکراری، کارتهای انجامشده بدون اثبات، و کارتهای در حال اجرایی را که فقط یک پیوند نشست سست دارند علامتگذاری میکنند.
اعزام عمداً محلیِ Gateway است. این کار فرایندهای دلخواه سیستمعامل را اجرا نمیکند؛
نشستهای زیرفضای عامل عادی OpenClaw همچنان مالک اجرا هستند. کنش اعزام کارتهایی
را که وابستگیهایشان آماده است ارتقا میدهد، فرادادهٔ اعزام را روی کارتهای ready
ثبت میکند، ادعاهای منقضی یا اجراهای زمانتمامشده را مسدود میکند، کارتهای triage
پیکربندیشده در برد را بهعنوان نامزدهای هماهنگسازی علامت میزند، سپس یک دستهٔ کوچک
از کارتهای ready را ادعا میکند و اجراهای کارگر را از طریق زماناجرای زیرفضای عامل
Gateway شروع میکند. کارتهای واگذارشده از کلیدهای نشست کارگر
agent:<id>:subagent:workboard-* استفاده میکنند؛ کارتهای بدون واگذاری از کلیدهای
بدون دامنهٔ subagent:workboard-* استفاده میکنند تا Gateway همچنان عامل پیشفرض
پیکربندیشده را resolve کند. کارگرها بافت محدود کارت بهعلاوهٔ توکن ادعایی را که
برای Heartbeat، تکمیل، یا مسدود کردن کارت از طریق ابزارهای Workboard نیاز دارند
دریافت میکنند.
انتخاب کارگر اعزام
هر گذر اعزام بهطور پیشفرض حداکثر سه کارگر را شروع میکند. کارتهای ready بر اساس اولویت، موقعیت، و زمان ایجاد مرتب میشوند، سپس برای جلوگیری از مالکیت فعال تکراری فیلتر میشوند. یک اعزام در همان گذر فقط یک کارت را برای یک مالک یا عامل مشخص شروع میکند، و مالکانی را که از قبل کار running یا review روی برد دارند رد میکند.
کارتهای بایگانیشده، کارتهای دارای ادعای فعال، و کارتهایی که وضعیت ready ندارند
برای شروع کارگر انتخاب نمیشوند. وقتی ادعاهای مانده، ارتقای وابستگی، یا پاکسازی
زمانتمامی اعمال شود، همچنان ممکن است از سمت دادهٔ اعزام تحت تأثیر قرار بگیرند.
اعلان کارگر و چرخهٔ عمر
اعلان کارگر شامل عنوان کارت، یادداشتها و بافت محدود، برد واگذارشده، و پروتکل
کارگر Workboard است. همچنین مالک ادعا و توکن ادعا را شامل میشود تا کارگر بتواند
بدون اینکه بازیگر دیگری کارت را در اختیار بگیرد، workboard_heartbeat،
workboard_complete، یا workboard_block را فراخوانی کند.
وقتی یک کارگر با موفقیت شروع میشود، Workboard کلید نشست، شناسهٔ اجرا، موتور، حالت، برچسب مدل، وضعیت، و گزارش کارگر را روی کارت ذخیره میکند. کلید نشست برای برد و کارت قطعی است، که باعث میشود اعزامهای تکراری بهجای ساخت نشستهای نامرتبط، دوباره به همان مسیر کارگر هدایت شوند.
اگر پس از ادعای کارت نتوان کارگری را شروع کرد، Workboard کارت را مسدود میکند، ادعا را پاک میکند، شکست شروع اجرا را ثبت میکند، و یک خط گزارش کارگر اضافه میکند. این شکست در داشبورد، JSON مربوط به CLI، ابزارهای عامل، و تشخیصهای کارت قابل مشاهده است.
نقاط ورود اعزام
شروع کارگر برای کارتهای ready میتواند از این مسیرها انجام شود:
- کنش اعزام داشبورد
openclaw workboard dispatch/workboard dispatchدر یک کانال پشتیبان دستور
هر سه نقطهٔ ورود وقتی Gateway در دسترس باشد از زماناجرای زیرفضای عامل Gateway
استفاده میکنند. CLI یک fallback اضافی برای عملگر دارد: اگر Gateway آفلاین باشد یا
متد اعزام Workboard را ارائه نکند و هیچ هدف صریح --url یا --token ارائه نشده باشد،
اعزام فقط-داده را روی وضعیت محلی SQLite اجرا میکند. آن fallback میتواند وابستگیها
را ارتقا دهد، ادعاهای مانده را پاک کند، و اجراهای زمانتمامشده را مسدود کند، اما
نمیتواند کارگرها را شروع کند.
فرادادهٔ برد میتواند تنظیمات هماهنگسازی مانند autoDecompose،
autoDecomposePerDispatch، defaultAssignee، و orchestratorProfile را شامل شود.
OpenClaw نیت هماهنگسازی را ثبت میکند و آن را در بافت کارگر در دسترس میگذارد؛
مشخصسازی و تجزیهٔ واقعی همچنان از طریق ابزارهای عادی Workboard انجام میشود.
CLI و دستور اسلش
Plugin یک دستور CLI ریشه ثبت میکند:
openclaw workboard listopenclaw workboard create "Fix stale card lifecycle" --priority high --labels bug,workboardopenclaw workboard show <card-id>openclaw workboard dispatchopenclaw workboard dispatch، Gateway در حال اجرا را فراخوانی میکند تا شروع worker از همان runtime سابعامل dashboard استفاده کند. اگر Gateway در دسترس نباشد، به dispatch فقطداده برمیگردد تا ارتقای وابستگی، پاکسازی claimهای stale، و مسدودسازی timeout همچنان اجرا شوند. خطاهای auth، permission، و validation همچنان بهعنوان خطاهای command نمایش داده میشوند؛ همینطور خطاهای مربوط به targetهای صریح --url یا --token.
دستور slash /workboard همان مسیر فشرده operator را پشتیبانی میکند:
/workboard list، /workboard show <card-id>، /workboard create <title>، و
/workboard dispatch. List و show عملیات خواندن برای فرستندگان مجاز command هستند. Create و dispatch روی سطحهای chat به وضعیت owner یا به یک client Gateway با operator.write یا operator.admin نیاز دارند.
برای flagهای command، خروجی JSON، رفتار fallback Gateway، رسیدگی بدون ابهام به پیشوند id، قواعد انتخاب dispatch، و عیبیابی، Workboard CLI را ببینید.
همگامسازی چرخهٔ حیات session
Cardها میتوانند به sessionهای موجود dashboard یا به sessionی که هنگام شروع کار از یک card ساخته میشود پیوند داده شوند. Cardهای پیوندخورده چرخهٔ حیات session را بهصورت inline نشان میدهند: در حال اجرا، stale، linked idle، done، failed، یا missing.
اگر session پیوندخورده وجود نداشته باشد، card برای حفظ context پیوند خود را نگه میدارد و همچنان کنترلهای start را ارائه میکند تا بتوانید کار را در یک session تازهٔ dashboard دوباره شروع کنید. اگر یک session پیوندخوردهٔ فعال دیگر فعالیت اخیر گزارش نکند، Workboard آن card را stale علامتگذاری میکند و marker را بهعنوان metadata کارت ذخیره میکند تا زمانی که چرخهٔ حیات آن را پاک کند.
همچنین میتوانید از tab Sessions با Add to Workboard یک session موجود dashboard را capture کنید. Card به آن session پیوند داده میشود، از label آن session یا prompt اخیر user بهعنوان title استفاده میکند، و وقتی history chat در دسترس باشد notes را از prompt اخیر user بههمراه آخرین پاسخ assistant مقداردهی اولیه میکند.
Workboard تا وقتی card هنوز در یک وضعیت فعال work باشد، session پیوندخورده را دنبال میکند:
- session پیوندخوردهٔ فعال ->
running - session پیوندخوردهٔ تکمیلشده ->
review - session پیوندخوردهٔ failed، killed، timed out، یا aborted ->
blocked
وضعیتهای review دستی اولویت دارند. اگر cardی را به review، blocked، یا done منتقل کنید، Workboard انتقال خودکار آن card را متوقف میکند تا زمانی که آن را دوباره به todo یا running برگردانید.
workflow dashboard
- tab Workboard را در Control UI باز کنید.
- یک card با title، notes، priority، labels، agent اختیاری، و session پیوندخوردهٔ اختیاری بسازید.
- یا Sessions را باز کنید و برای یک session موجود Add to Workboard را انتخاب کنید.
- Card را بین columnها بکشید یا کنترل status فشرده روی card را focus کنید و از menu آن یا ArrowLeft/ArrowRight استفاده کنید.
- از card کار را شروع کنید تا یک session dashboard ساخته یا دوباره استفاده شود.
- در حالی که agent کار میکند، session پیوندخورده را از card باز کنید.
- بگذارید همگامسازی چرخهٔ حیات، work در حال اجرا را به review یا blocked منتقل کند، سپس وقتی پذیرفته شد card را بهصورت دستی به done منتقل کنید.
شروع یک card از sessionهای معمول Gateway استفاده میکند. Plugin مربوط به Workboard فقط metadata و linkهای card را ذخیره میکند؛ transcript مکالمه، انتخاب model، و چرخهٔ حیات run همچنان در مالکیت سیستم معمول session باقی میمانند.
برای abort کردن run مربوط به session فعال، روی یک card پیوندخوردهٔ live از Stop استفاده کنید. Workboard آن card را blocked علامتگذاری میکند تا برای پیگیری قابل مشاهده بماند.
Cardهای جدید میتوانند از templateهای Workboard برای bugfixها، docs، releaseها، reviewهای PR، یا کار Plugin شروع شوند. Templateها title، notes، labels، و priority را از پیش پر میکنند، و id template انتخابشده بهعنوان metadata کارت ذخیره میشود.
مجوزها
Plugin متدهای RPC Gateway را زیر namespace workboard.* ثبت میکند:
workboard.cards.listبهoperator.readنیاز داردworkboard.cards.exportبهoperator.readنیاز داردworkboard.cards.diagnosticsبهoperator.readنیاز داردworkboard.cards.diagnostics.refreshبهoperator.writeنیاز دارد- خواندن فهرست/get attachment و eventهای notification به
operator.readنیاز دارد - پیشروی cursor notification به
operator.writeنیاز دارد - متدهای create، update، move، delete، comment، link، dependency link، proof، artifact،
attachment add/delete، worker log، protocol violation، claim، heartbeat،
release، complete، block، unblock، dispatch، bulk، و archive به
operator.writeنیاز دارند
Browserهایی که با دسترسی operator فقطخواندنی متصل شدهاند میتوانند board را بررسی کنند اما نمیتوانند cardها را تغییر دهند.
پیکربندی
Workboard امروز config اختصاصی Plugin ندارد. آن را با entry استاندارد Plugin فعال یا غیرفعال کنید:
{ plugins: { entries: { workboard: { enabled: true, config: {}, }, }, },}دوباره با این دستورها غیرفعالش کنید:
openclaw plugins disable workboardopenclaw gateway restartعیبیابی
tab میگوید Workboard در دسترس نیست
policy Plugin را بررسی کنید:
openclaw plugins inspect workboard --runtime --jsonاگر plugins.allow پیکربندی شده است، workboard را به آن allowlist اضافه کنید. اگر
plugins.deny شامل workboard است، پیش از فعالکردن Plugin آن را حذف کنید.
Cardها ذخیره نمیشوند
تأیید کنید connection مرورگر دسترسی operator.write دارد. Sessionهای operator فقطخواندنی میتوانند cardها را list کنند اما نمیتوانند آنها را create، edit، move، یا delete کنند.
شروع یک card، session مورد انتظار را باز نمیکند
Workboard linkهایی به sessionهای معمول dashboard میسازد. agent id و session پیوندخوردهٔ card را بررسی کنید، سپس نمای Sessions یا Chat را باز کنید تا وضعیت واقعی run را inspect کنید.
Dispatch یک worker را شروع نمیکند
تأیید کنید دستکم یک card با وضعیت ready بدون claim فعال وجود دارد:
openclaw workboard list --status readyاگر CLI گزارش dispatch فقطداده میدهد، Gateway را start یا restart کنید و دوباره تلاش کنید. Dispatch فقطداده وضعیت local board را بهروزرسانی میکند اما نمیتواند runهای subagent worker را شروع کند.
همچنین وقتی card دیگری برای همان owner یا agent از قبل در حال اجراست یا منتظر review است، ممکن است cardها skipped شوند. پیش از dispatch کردن work بیشتر برای همان owner، آن work فعال را complete، block، یا release کنید.