Plugin guides
Plugin وُرکبورد
افزونه Workboard یک تابلوی اختیاری به سبک کانبان به رابط کاربری کنترل اضافه میکند: کارتهای کاری متناسب با عامل، تخصیص به عاملها، و پیوندی برای بازگشت به وظیفه، اجرا و نشست داشبورد کارت.
Workboard عمداً کوچک است: کارهای عملیاتی محلی یک Gateway متعلق به OpenClaw را پیگیری میکند. جایگزینی برای GitHub Issues، Linear، Jira یا دیگر سامانههای مدیریت پروژه تیمی نیست.
فعالسازی
Workboard همراه محصول ارائه میشود، اما بهطور پیشفرض غیرفعال است:
- در رابط کاربری کنترل، Plugins را باز کنید، یا از
/settings/pluginsنسبت به مسیر پایه پیکربندیشده رابط کاربری کنترل استفاده کنید. برای مثال، مسیر پایه/openclawاز/openclaw/settings/pluginsاستفاده میکند. - Workboard را پیدا کنید و Enable را انتخاب کنید. چون Workboard همراه OpenClaw ارائه میشود، به اقدام Install نیازی ندارد.
- اگر رابط کاربری اعلام کرد که راهاندازی مجدد لازم است، Gateway را راهاندازی مجدد کنید.
پس از بارگذاری زماناجرای افزونه، زبانه Workboard در پیمایش داشبورد ظاهر میشود.
تا زمانی که غیرفعال باشد، زبانه در پیمایش پنهان میماند. اگر هنگامی که افزونه غیرفعال است یا توسط
plugins.allow/plugins.deny مسدود شده، مسیر
/workboard را مستقیماً باز کنید، بهجای دادههای کارت
وضعیت دردسترسنبودن افزونه نمایش داده میشود.
گردش کار معادل در CLI چنین است:
openclaw plugins enable workboardopenclaw gateway restartopenclaw dashboardپیکربندی
Workboard پیکربندی ویژه افزونه ندارد. آن را با ورودی استاندارد افزونه فعال یا غیرفعال کنید:
{ plugins: { entries: { workboard: { enabled: true, config: {}, }, }, },}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.
افزونه و رابط کاربری کنترل از یک قرارداد کارت Workboard استفاده میکنند. بنابراین، تازهسازیهای داشبورد بهجای ایجاد نسخه کوچکتر و مختص رابط کاربری از کارت، منشأ و اختیار فضای کاری، وضعیت ادعا، اقدامهای تشخیصی و شمارههای توالی اعلان را حفظ میکنند. انواع تشخیص ناشناخته، شدتهای تشخیصی و انواع اعلان تا زمانی که هر دو سطح از آنها پشتیبانی کنند نادیده گرفته میشوند؛ آنها هرگز به وضعیت معتبر دیگری بازنویسی نمیشوند.
داشبورد باز از ابطالهای plugin.workboard.changed بهروزرسانی میشود. هر
رویداد فقط شامل یک دوره ذخیرهگاه و بازبینی است؛ سپس رابط کاربری کارتهای مرجع را از طریق
RPC عادی operator.read دوباره میخواند. چند بازبینی در
یک خواندن پیگیری ادغام میشوند. Workboard این خواندن را هنگام کشیدن،
ویرایش یا نوشتن کارت به تعویق میاندازد و پس از پایان تعامل محلی آن را از سر میگیرد. هر
اتصال مجدد همیشه بارگذاری مجدد مرجع را انجام میدهد. نظرسنجی دورهای همه کارتها
وجود ندارد و Refresh همچنان برای بازیابی دستی در دسترس است.
وقتی بیش از یک تابلو وجود داشته باشد، نوار ابزار شامل پالایه Board است که
بهجای اتکا به کارتهای قابلمشاهده فعلی، از فراداده پایدار تابلو پشتیبانی میشود. بنابراین، تابلوهای خالی
و بایگانیشده همچنان قابلانتخاب میمانند. کارتهای بدون شناسه صریح
تابلو به تابلوی مرجع default تعلق دارند. تابلوی انتخابشده
در پارامتر پرسوجوی ?board= ذخیره میشود؛ بنابراین نشانی Workboard پالایششده را میتوان نشانکگذاری
یا همرسانی کرد؛ انتخاب All boards پارامتر را حذف میکند.
کارتها در وضعیت اختصاصی Gateway افزونه ذخیره میشوند و همراه با سایر وضعیت 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 |
ایجاد یک کارت با والدها، مستأجر، مهارتها، بُرد، فرادادهٔ فضای کاری، کلید همتوانی، محدودیت زمان اجرا و بودجهٔ تلاش مجددِ اختیاری. |
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 یا فرمان اسلش استفاده میکند. |
کارتهای ادعاشده، تغییرات ابزار عامل از سوی عاملهای دیگر را رد میکنند، مگر اینکه فراخوان
توکن ادعای بازگرداندهشده توسط workboard_claim را در اختیار داشته باشد. هر کارتی که توسط
ابزار عامل یا فراخوانی RPC Gateway بازگردانده میشود، metadata.claim.token را به [redacted]
پنهانسازی میکند (خود توکن فقط یکبار، در سطح بالا و تنها از workboard_claim بازگردانده میشود)،
تا گردانندگان داشبورد و عاملهای دیگر بتوانند وضعیت ادعا را بدون مشاهدهٔ
توکن قابلاستفاده بررسی کنند. بازیابی از مسیر
workboard_promote/workboard_reassign/workboard_reclaim انجام میشود که به
توکن نیاز ندارند.
ارسال
ارسال درون Gateway انجام میشود: فرایندهای دلخواه سیستمعامل را راهاندازی نمیکند. نشستهای عادی زیرعامل OpenClaw همچنان مالک اجرا هستند. یک نوبت ارسال:
- کارتهای آماده از نظر وابستگی را ارتقا میدهد.
- فرادادهٔ ارسال را در کارتهای آماده ثبت میکند.
- ادعاهای منقضی یا اجراهای پایانیافته بر اثر مهلت را مسدود میکند.
- کارتهای بررسی اولیهٔ پیکربندیشده در بُرد را بهعنوان نامزدهای هماهنگسازی علامتگذاری میکند.
- دستهٔ کوچکی از کارتهای آماده را ادعا میکند و اجرای کارگرها را از طریق زماناجرای زیرعامل Gateway آغاز میکند.
کارگرها زمینهٔ محدودشدهٔ کارت را بههمراه توکن ادعای لازم برای ارسال Heartbeat، تکمیل یا مسدودکردن کارت از طریق ابزارهای Workboard دریافت میکنند.
مسیرهای فضای کاری از اختیار موجود سیستم فایل فراخوان پیروی میکنند. کلاینتهای Gateway
دارای operator.write میتوانند از فضاهای کاری پیکربندیشدهٔ عامل استفاده کنند؛
کلاینتهای operator.admin میتوانند از checkoutهای دیگر میزبان استفاده کنند. ابزارهای عاملِ
sandboxشده از دسترسی فضای کاری sandbox خود استفاده میکنند، درحالیکه ابزارهای بدون sandbox که
فقط به فضای کاری محدودند، از ریشهٔ فضای کاری پیکربندیشدهٔ خود استفاده میکنند. Workboard هنگام
تخصیص فضای کاری، این اختیار را ثبت میکند و در زمان ارسال دوباره آن را با اختیار فراخوان فعلی
اشتراک میگیرد؛ بنابراین کارت پایدار نمیتواند دسترسی فراخوان بعدی را گسترش دهد. کارتهای قدیمیتر
با فضای کاری صریح میزبان اما بدون اختیار ثبتشده، باید پیش از ارسال با دسترسی کامل میزبان، آن فضای کاری را
دوباره ذخیره کنند؛ کارتهای بدون مسیر میزبان هنگام نخستین ارسال، اختیار
فراخوان فعلی را میپذیرند.
ارسال مقید به فضای کاری فقط زمانی یک پوشه یا checkout گیت را میپذیرد که
ریشهٔ مخزن آن دقیقاً با فضای کاری عامل هدف مطابقت داشته باشد. درخواست worktree
به همان پوشه محدود و بهعنوان فضای کاری پوشهای ذخیره میشود؛ بنابراین
میزبان checkout را ایجاد یا کد راهاندازی مخزن را اجرا نمیکند.
کارگر هدف باید برای دقیقاً همان فضای کاری از یک sandbox داکرِ نوشتنی و غیرمشترک
بدون اجرای ارتقایافته، جایگزینهای پایدار اجرای میزبان/Node، یا
ابزارهای طبقهبندینشدهٔ افزونه و MCP استفاده کند. Workboard بهجای اعتماد به پیشوند
workboard_*، ابزارهای ثبتشدهٔ خود را فهرست میکند و ارسال، کانتینر داکر فعال
با هش اتصال/پیکربندی زندهٔ کهنه را رد میکند. ارسال بهجای راهاندازی کارگری با محدودیت کمتر،
سیاست ناسازگار هدف را گزارش میکند.
ارسال با دسترسی کامل میزبان میتواند checkoutهای محلی دیگر را هدف بگیرد و راهاندازی عادی
worktree مدیریتشده را حفظ میکند.
اختیار فضای کاری، مدل مجوز دومی برای چرخهٔ حیات کارت ایجاد نمیکند. فراخوانهایی که میتوانند کارتهای Workboard را تغییر دهند، میتوانند آنها را در همهٔ سطوح بهصورت دستی میان همان وضعیتها جابهجا کنند؛ دسترسی فقطخواندنی فضای کاری تنها از ارسال کارگری که به نوشتن نیاز دارد جلوگیری میکند.
انتخاب کارگر
هر نوبت بهطور پیشفرض حداکثر 3 کارگر را آغاز میکند. کارتهای آماده ابتدا بر اساس
اولویت، سپس موقعیت و بعد زمان ایجاد مرتب میشوند. هر نوبت فقط یک کارت برای هر
مالک/عامل آغاز میکند و مالکانی را که از قبل کار در حال اجرا یا بازبینی روی
بُرد دارند، نادیده میگیرد. کارتهای بایگانیشده، کارتهای دارای ادعای فعال و کارتهایی که در وضعیت
ready نیستند، هرگز برای آغاز کارگر انتخاب نمیشوند (همچنان ممکن است از بخش
دادهای ارسال تأثیر بپذیرند: پاکسازی ادعای کهنه، ارتقای وابستگی، پاکسازی
پایان مهلت).
کلیدهای نشست برای هر بُرد/کارت قطعیاند؛ بنابراین ارسالهای مکرر بهجای ایجاد نشستهای نامرتبط، به همان مسیر کارگر بازمیگردند:
- کارتهای تخصیصیافته:
agent:<agentId>:subagent:workboard-<boardId>-<cardId> - کارتهای تخصیصنیافته:
subagent:workboard-<boardId>-<cardId>(Gateway عامل پیشفرض پیکربندیشده را تعیین میکند)
اگر پس از ادعای کارت نتوان کارگری را آغاز کرد، Workboard کارت را مسدود میکند، ادعا را پاک میکند، شکست آغاز اجرا را ثبت میکند و یک خط گزارش کارگر میافزاید که در داشبورد، 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 این مقصود را ثبت میکند و
آن را در زمینه پردازشگر در دسترس قرار میدهد؛ مشخصسازی/تجزیه واقعی همچنان
از طریق ابزارهای عادی Workboard انجام میشود.
CLI و فرمان اسلش
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 مراجعه کنید.
/workboard list، /workboard show <card-id>، /workboard create <title>،
/workboard move <card-id> --status <status> و /workboard dispatch
رفتار CLI را بازتاب میدهند. فهرستکردن و نمایش، عملیات خواندن برای هر فرستنده مجاز فرمان هستند.
ایجاد، جابهجایی و ارسال در سطوح چت به وضعیت مالک نیاز دارند، یا به یک کلاینت Gateway
با operator.write/operator.admin. جابهجاییهای دستی اپراتور از همان
رفتار بازنویسی ادعا در کشیدنورهاکردن داشبورد استفاده میکنند. دسترسی آنها به درخت کاری
همچنان از همان مرز فضای کاری شرحدادهشده در بالا پیروی میکند.
همگامسازی چرخه عمر نشست
کارتها میتوانند به یک نشست موجود داشبورد یا نشستی که هنگام شروع کار از کارت ایجاد میشود پیوند داده شوند. کارتهای پیوندشده چرخه عمر نشست را بهصورت درونخطی نشان میدهند: در حال اجرا، منقضی، پیوندشده و بیکار، انجامشده، ناموفق یا مفقود. همچنین میتوانید یک نشست موجود را از زبانه Sessions با افزودن به Workboard ثبت کنید؛ کارت به آن نشست پیوند داده میشود، از برچسب نشست یا درخواست اخیر کاربر بهعنوان عنوان استفاده میکند و در صورت وجود، یادداشتها را از درخواست اخیر کاربر بهعلاوه آخرین پاسخ دستیار مقداردهی اولیه میکند.
اگر نشست پیوندشده مفقود شود، کارت برای حفظ زمینه پیوندشده باقی میماند و
همچنان کنترلهای شروع را برای راهاندازی مجدد در یک نشست تازه ارائه میدهد. اگر یک نشست فعال
پیوندشده دیگر فعالیت اخیر را گزارش نکند، Workboard کارت را
stale علامتگذاری میکند و تا زمانی که چرخه عمر آن را پاک کند، این وضعیت را بهعنوان فراداده ذخیره میکند.
تا زمانی که یک کارت در وضعیت کاری فعال باشد، Workboard از نشست پیوندشده پیروی میکند:
| وضعیت نشست پیوندشده | وضعیت کارت |
|---|---|
| فعال | running |
| تکمیلشده | review |
| ناموفق، خاتمهیافته، پایانیافته بر اثر اتمام مهلت یا لغوشده | blocked |
وضعیتهای بازبینی دستی اولویت دارند. جابهجایی یک کارت به review، blocked یا done
همگامسازی خودکار آن کارت را متوقف میکند تا زمانی که آن را به todo یا running بازگردانید.
شروع یک کارت از نشستهای عادی Gateway استفاده میکند؛ Workboard فقط فراداده و
پیوندهای کارت را ذخیره میکند. رونوشت مکالمه، انتخاب مدل و چرخه عمر
اجرا همچنان در مالکیت سامانه عادی نشست باقی میمانند. برای لغو اجرای فعال، روی یک کارت
پیوندشده زنده از توقف استفاده کنید؛ Workboard آن کارت را blocked علامتگذاری میکند تا
برای پیگیری قابلمشاهده باقی بماند.
کارتهای جدید میتوانند از الگوهای Workboard (bugfix، docs، release،
pr_review، plugin) آغاز شوند. الگوها عنوان، یادداشتها، برچسبها و اولویت را از پیش پر میکنند؛
شناسه الگو بهعنوان فراداده کارت ذخیره میشود.
گردش کار داشبورد
- زبانه Workboard را در Control UI باز کنید.
- کارتی با عنوان، یادداشتها، اولویت، برچسبها، عامل اختیاری و نشست پیوندشده اختیاری ایجاد کنید؛ یا Sessions را باز کنید و برای یک نشست موجود افزودن به Workboard را انتخاب کنید.
- کارت را میان ستونها بکشید، یا کنترل فشرده وضعیت آن را در کانون قرار دهید و از منو یا ArrowLeft/ArrowRight استفاده کنید. هنگام کشیدن، کارت مبدأ کمرنگ میشود و ستونهای در دسترس برای رهاکردن، حاشیه میگیرند.
- کار را از کارت آغاز کنید تا یک نشست داشبورد ایجاد شود یا نشست موجود دوباره استفاده شود.
- در حین کار عامل، نشست پیوندشده را از کارت باز کنید.
- اجازه دهید همگامسازی چرخه عمر، کار در حال اجرا را به
review/blockedمنتقل کند، سپس پس از پذیرش، کارت را بهصورت دستی بهdoneمنتقل کنید.
تشخیصها
تشخیصها از فراداده محلی کارت محاسبه میشوند. بررسیهای داخلی موارد زیر را علامتگذاری میکنند:
| نوع | شرط |
|---|---|
stranded_ready |
کارت تخصیصیافته todo/backlog/ready بیش از 1 ساعت بهروزرسانی نشده باشد. |
running_without_heartbeat |
کارت running بیش از 20 دقیقه هیچ Heartbeat ادعا یا بهروزرسانی اجرا نداشته باشد. |
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، ایجاد/بهروزرسانی/جابهجایی/حذف/نظر/پیوند/linkDependency/مدرک/مصنوع، افزودن/حذف پیوست، گزارش پردازشگر، نقض پروتکل، ادعا/Heartbeat/آزادسازی/ارتقا/تخصیص مجدد/بازپسگیری/تکمیل/مسدودسازی/رفع مسدودی، cards.dispatch، cards.bulk، بایگانی، boards.upsert/archive/delete، cards.specify/decompose، اشتراک/حذف/پیشبرد اعلان |
هیچ روش RPC به operator.admin نیاز ندارد. مرورگرهایی که با دسترسی فقطخواندنی
اپراتور متصلاند میتوانند برد را بررسی کنند، اما نمیتوانند کارتها را تغییر دهند. دامنه مدیر
مسیرهای میزبان پذیرفتهشده Workboard را گسترش میدهد؛ روشهای در دسترس را تغییر نمیدهد.
ذخیرهسازی
Workboard دادههای پایدار را در یک پایگاه داده رابطهای SQLite متعلق به Plugin در پوشه وضعیت OpenClaw ذخیره میکند: بردها، کارتها، برچسبها، رویدادهای چرخه عمر، تلاشهای اجرا، نظرها، پیوندهای وابستگی، مدرک، ارجاعهای مصنوع، فراداده و باینریهای پیوست، تشخیصها، اعلانها، گزارشهای پردازشگر، وضعیت پروتکل و اشتراکها همگی در جدولهای Workboard قرار دارند (نه در ورودیهای کلید-مقدار Plugin). خروجی گرفتن از یک کارت، روایت برد را بدون گنجاندن درونخطی محتوای باینری پیوست حفظ میکند.
نصبهایی که در نسخه .28 از Workboard استفاده کردهاند میتوانند
openclaw doctor --fix را اجرا کنند تا فضای نامهای قدیمی وضعیت Plugin منتشرشده
(workboard.cards، workboard.boards، workboard.notify و در صورت وجود،
workboard.attachments) به پایگاه داده رابطهای منتقل شوند.
عیبیابی
زبانه اعلام میکند Workboard در دسترس نیست
openclaw plugins inspect workboard --runtime --jsonاگر plugins.allow پیکربندی شده است، workboard را به آن اضافه کنید. اگر plugins.deny
شامل workboard است، پیش از فعالکردن Plugin آن را حذف کنید.
کارتها ذخیره نمیشوند
تأیید کنید اتصال مرورگر دسترسی operator.write دارد. نشستهای فقطخواندنی اپراتور
میتوانند کارتها را فهرست کنند، اما نمیتوانند آنها را ایجاد، ویرایش، جابهجا یا حذف کنند.
شروع یک کارت، نشست مورد انتظار را باز نمیکند
شناسه عامل و نشست پیوندشده کارت را بررسی کنید، سپس Sessions یا Chat را باز کنید تا وضعیت واقعی اجرا را بررسی کنید.
ارسال، پردازشگری را آغاز نمیکند
تأیید کنید دستکم یک کارت ready بدون ادعای فعال وجود دارد:
openclaw workboard list --status readyاگر CLI ارسال صرفاً دادهای را گزارش کرد، Gateway را راهاندازی یا مجدداً راهاندازی کنید و دوباره تلاش کنید؛ ارسال صرفاً دادهای وضعیت برد محلی را بهروزرسانی میکند، اما نمیتواند اجرای پردازشگر زیرفرایند را آغاز کند. همچنین ممکن است کارتها نادیده گرفته شوند اگر کارت دیگری برای همان مالک یا عامل از قبل در حال اجرا یا منتظر بازبینی باشد؛ پیش از ارسال کار بیشتر برای همان مالک، آن کار فعال را تکمیل، مسدود یا آزاد کنید.