Plugin guides
Plugin لوحة العمل
يضيف Plugin Workboard لوحة اختيارية بأسلوب Kanban إلى واجهة التحكم: بطاقات عمل بحجم مناسب للوكلاء، وإسنادها إلى الوكلاء، ورابطًا للعودة إلى مهمة البطاقة وتشغيلها وجلسة لوحة المعلومات الخاصة بها.
صُمم Workboard ليكون صغيرًا عمدًا: فهو يتتبع أعمال التشغيل المحلية لـ Gateway واحد من OpenClaw. وليس بديلًا عن GitHub Issues أو Linear أو Jira أو أنظمة إدارة مشاريع الفرق الأخرى.
تمكينه
يأتي Workboard مضمنًا، لكنه معطّل افتراضيًا:
- افتح Plugins في واجهة التحكم، أو استخدم
/settings/pluginsنسبةً إلى المسار الأساسي المهيأ لواجهة التحكم. على سبيل المثال، يستخدم المسار الأساسي/openclawالمسار/openclaw/settings/plugins. - ابحث عن Workboard واختر Enable. ولأن Workboard مضمّن مع OpenClaw، فلا يحتاج إلى إجراء Install.
- إذا أفادت الواجهة بأن إعادة التشغيل مطلوبة، فأعد تشغيل Gateway.
تظهر علامة تبويب Workboard في شريط تنقل لوحة المعلومات بعد تحميل وقت تشغيل Plugin.
وعندما يكون معطّلًا، تظل علامة التبويب مخفية من شريط التنقل. يؤدي فتح مسار
/workboard مباشرةً بينما يكون Plugin معطّلًا أو محظورًا بواسطة
plugins.allow/plugins.deny إلى إظهار حالة عدم توفر Plugin بدلًا من بيانات
البطاقات.
سير عمل CLI المكافئ هو:
openclaw plugins enable workboardopenclaw gateway restartopenclaw dashboardالإعداد
لا يملك Workboard إعدادًا خاصًا بـ Plugin. مكّنه أو عطّله باستخدام إدخال Plugin القياسي:
{ 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 |
وكيل مُسنَد اختياري |
| المراجع المرتبطة | مهمة أو تشغيل أو جلسة أو عنوان URL للمصدر، وكلها اختيارية |
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 تلك القراءة أثناء سحب بطاقة
أو تحريرها أو كتابتها، ثم يستأنفها بعد انتهاء التفاعل المحلي. ويؤدي
إعادة الاتصال دائمًا إلى إعادة تحميل معتمدة. لا يوجد استقصاء دوري لكامل
البطاقات، ويظل Refresh متاحًا للاسترداد اليدوي.
عند وجود أكثر من لوحة، يتضمن شريط الأدوات عامل تصفية Board يستند
إلى بيانات وصفية محفوظة للوحات، لا إلى البطاقات المرئية حاليًا فقط. لذلك تظل
اللوحات الفارغة والمؤرشفة قابلة للاختيار. تنتمي البطاقات التي لا تتضمن
معرّف لوحة صريحًا إلى لوحة default المعتمدة. تُخزّن اللوحة المحددة
في معامل الاستعلام ?board=، لذا يمكن إضافة عنوان URL المصفّى لـ Workboard إلى الإشارات المرجعية
أو مشاركته؛ وتؤدي تهيئة All boards إلى إزالة المعامل.
تُخزّن البطاقات في حالة Gateway الخاصة بـ Plugin، وتنتقل مع بقية حالة OpenClaw لذلك الـ Gateway (راجع التخزين).
بدء العمل من بطاقة
يمكن للبطاقات غير المرتبطة بدء العمل مباشرةً:
- يبدأ Run Codex / Run Claude تشغيل وكيل متتبَّعًا بمهمة باستخدام
محرك صريح، ويرسل مطالبة البطاقة، ويعيّن حالة البطاقة إلى
running. تستخدم عمليات تشغيل Codex القيمةopenai/gpt-5.6-sol؛ وتستخدم عمليات تشغيل Claude القيمةanthropic/claude-sonnet-4-6. - ينشئ Open Codex / Open Claude جلسة مرتبطة في لوحة المعلومات من دون إرسال مطالبة البطاقة أو نقل البطاقة، للعمل اليدوي الذي يظل مرتبطًا باللوحة.
تستخدم عمليات البدء الذاتية مسار تشغيل الوكيل المتتبَّع بمهمة في Gateway (الوكيل والنموذج الافتراضيان ما لم يُختر Codex/Claude صراحةً)؛ ثم يربط Workboard المهمة الناتجة ومعرّف التشغيل ومفتاح الجلسة بالبطاقة. ويسجل كل تنفيذ مرتبط أيضًا ملخصًا للمحاولة (المحرك، والوضع، والنموذج، ومعرّف التشغيل، والطوابع الزمنية، والحالة، وعدد الإخفاقات المتتابع) لكي تظل الإخفاقات المتكررة ظاهرة.
تحدّث لوحة المعلومات حالة المهمة من سجل مهام Gateway، وتطابق
المهام مع البطاقات حسب معرّف المهمة أو معرّف التشغيل أو مفتاح الجلسة المرتبط. تُبقي المهمة
الموضوعة في قائمة الانتظار أو قيد التشغيل دورة حياة البطاقة نشطة؛ وتنقل المهمة المنتهية أو الفاشلة أو
التي انتهت مهلتها أو أُلغيت البطاقة نحو review أو blocked باستخدام قاعدة المزامنة
نفسها المستخدمة للجلسات المرتبطة (راجع مزامنة دورة حياة الجلسة).
أدوات الوكيل
| الأداة | الغرض |
|---|---|
workboard_list |
سرد بطاقات موجزة مع حالة المطالبة/التشخيص؛ مع مرشح اختياري للوحة. |
workboard_read |
إرجاع بطاقة واحدة مع سياق محدود للعامل (الملاحظات، والمحاولات، والتعليقات، والروابط، والإثبات، والآثار، ونتائج البطاقات الأصل، والعمل الحديث للمُسند إليه، والتشخيصات النشطة). |
workboard_create |
إنشاء بطاقة مع عناصر أصل اختيارية، ومستأجر، ومهارات، ولوحة، وبيانات وصفية لمساحة العمل، ومفتاح تكرارية، وحد للتشغيل، وميزانية لإعادة المحاولة. |
workboard_link |
ربط بطاقة أصل ببطاقة فرعية. تظل البطاقات الفرعية في todo حتى تصل كل بطاقة أصل إلى done، ثم تنقلها ترقية الإرسال إلى 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 |
تحويل بطاقة فرز أولي/تراكم أعمال أولية إلى بطاقة 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. تحجب كل بطاقة تعيدها
أداة وكيل أو استدعاء Gateway RPC القيمة metadata.claim.token إلى [redacted]
(يُعاد الرمز نفسه مرة واحدة، في المستوى الأعلى، ومن workboard_claim فقط)،
بحيث يمكن لمشغّلي لوحة المعلومات والوكلاء الآخرين فحص حالة المطالبة من دون
رؤية رمز قابل للاستخدام مطلقًا. تتم الاستعادة عبر
workboard_promote/workboard_reassign/workboard_reclaim، والتي لا
تتطلب الرمز.
الإرسال
يكون الإرسال محليًا في Gateway: فهو لا ينشئ عمليات نظام تشغيل عشوائية. تظل جلسات الوكلاء الفرعيين العادية في OpenClaw مسؤولة عن التنفيذ. تمريرة إرسال واحدة:
- ترقّي البطاقات الجاهزة من حيث التبعيات.
- تسجّل البيانات الوصفية للإرسال على البطاقات الجاهزة.
- تحظر المطالبات المنتهية أو عمليات التشغيل التي انتهت مهلتها.
- تضع علامة على بطاقات الفرز الأولي المكوّنة في اللوحة باعتبارها مرشحة للتنسيق.
- تطالب بدفعة صغيرة من البطاقات الجاهزة وتبدأ عمليات تشغيل العمال عبر وقت تشغيل الوكيل الفرعي في Gateway.
يتلقى العمال سياقًا محدودًا للبطاقة بالإضافة إلى رمز المطالبة اللازم لإرسال Heartbeat، أو إكمال البطاقة، أو حظرها عبر أدوات Workboard.
تتبع مسارات مساحة العمل صلاحية نظام الملفات الحالية للمستدعي. يمكن لعملاء Gateway
الذين لديهم operator.write استخدام مساحات عمل الوكلاء المكوّنة؛
ويمكن لعملاء operator.admin استخدام نسخ عمل أخرى على المضيف. تستخدم أدوات الوكيل المعزولة
صلاحية الوصول إلى مساحة العمل في بيئتها المعزولة، بينما تستخدم الأدوات غير المعزولة والمقتصرة على مساحة العمل
جذر مساحة العمل المكوّن لها. يسجّل Workboard تلك الصلاحية عند تعيين مساحة عمل
ويأخذ تقاطعها مجددًا مع صلاحية المستدعي الحالي عند الإرسال،
ولذلك لا يمكن لبطاقة دائمة توسيع صلاحية وصول مستدعٍ لاحق. يجب إعادة
حفظ مساحة العمل للبطاقات الأقدم التي تحتوي على مساحة عمل صريحة على المضيف من دون صلاحية مسجلة
قبل إرسال كامل على المضيف؛ أما البطاقات التي لا تحتوي على مسار مضيف فتعتمد
صلاحية المستدعي الحالي عند إرسالها للمرة الأولى.
يقبل الإسناد المقيّد بمساحة العمل دليلاً أو نسخة Git عاملة فقط عندما
يتطابق جذر مستودعها تمامًا مع مساحة عمل الوكيل المستهدف. يُحصر طلب شجرة العمل
في ذلك الدليل ويُحفظ كمساحة عمل دليل، بحيث لا ينشئ
المضيف النسخة العاملة ولا ينفّذ تعليمة إعداد المستودع البرمجية. يجب على
العامل المستهدف استخدام بيئة Docker معزولة قابلة للكتابة وغير مشتركة لمساحة
العمل تلك تحديدًا، من دون تنفيذ بصلاحيات مرتفعة، أو تجاوزات تنفيذ مضيف/Node محفوظة، أو
أدوات Plugin وMCP غير مصنفة. يسرد Workboard أدواته المسجلة
بدلاً من الوثوق ببادئة workboard_*، ويرفض الإسناد حاوية Docker نشطة
إذا كانت تجزئة التحميل/الإعداد المباشرة فيها قديمة. يُبلغ الإسناد عن
سياسة الهدف غير المتوافقة بدلاً من بدء عامل أقل تقييدًا.
يمكن للإسناد على المضيف بالكامل استهداف نسخ عاملة محلية أخرى، مع الإبقاء على إعداد
شجرة العمل المُدارة المعتاد.
لا تنشئ صلاحية مساحة العمل نموذج أذونات ثانٍ لدورة حياة البطاقات. يمكن للجهات المستدعية المخوّلة بتعديل بطاقات 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
المحلية مباشرةً دائمًا. ولا يستدعي Gateway قيد التشغيل سوى dispatch، مع الآلية الاحتياطية
الموضحة أعلاه.
راجع CLI الخاص بـ Workboard للاطلاع على العلامات الكاملة، وإخراج JSON، وسلوك Gateway الاحتياطي، ومعالجة بادئة المعرّف، وقواعد اختيار الإرسال، واستكشاف الأخطاء وإصلاحها.
تعكس /workboard list و/workboard show <card-id> و/workboard create <title>
و/workboard move <card-id> --status <status> و/workboard dispatch
CLI. تُعد عمليتا العرض والسرد عمليتي قراءة لأي مرسل أوامر مخوّل.
تتطلب عمليات الإنشاء والنقل والإرسال حالة المالك على واجهات المحادثة، أو عميل Gateway
يمتلك operator.write/operator.admin. تستخدم عمليات النقل اليدوية التي يجريها المشغّل
سلوك تجاوز المطالبة نفسه المستخدم عند السحب والإفلات في لوحة المعلومات. ويظل وصولها إلى شجرة العمل
متبعًا حدود مساحة العمل نفسها الموضحة أعلاه.
مزامنة دورة حياة الجلسة
يمكن ربط البطاقات بجلسة موجودة في لوحة المعلومات، أو بجلسة تُنشأ عند بدء العمل من البطاقة. تعرض البطاقات المرتبطة دورة حياة الجلسة ضمنها: قيد التشغيل، أو قديمة، أو مرتبطة وخاملة، أو مكتملة، أو فاشلة، أو مفقودة. ويمكن أيضًا التقاط جلسة موجودة من علامة تبويب الجلسات باستخدام إضافة إلى Workboard؛ حيث ترتبط البطاقة بتلك الجلسة، وتستخدم تسمية الجلسة أو أحدث مطالبة للمستخدم عنوانًا، وتُنشئ الملاحظات الأولية من أحدث مطالبة للمستخدم بالإضافة إلى أحدث استجابة للمساعد عند توفرها.
إذا فُقدت الجلسة المرتبطة، تظل البطاقة مرتبطة للاحتفاظ بالسياق
وتواصل توفير عناصر التحكم في البدء لإعادة التشغيل ضمن جلسة جديدة. وإذا توقفت
جلسة مرتبطة نشطة عن الإبلاغ عن نشاط حديث، يضع Workboard علامة
stale على البطاقة ويخزن ذلك كبيانات وصفية حتى تمحوه دورة الحياة.
عندما تكون البطاقة في حالة عمل نشطة، يتبع Workboard الجلسة المرتبطة:
| حالة الجلسة المرتبطة | حالة البطاقة |
|---|---|
| نشطة | running |
| مكتملة | review |
| فاشلة، أو مقتولة، أو انتهت مهلتها، أو أُجهضت | blocked |
تتغلب حالات المراجعة اليدوية. يؤدي نقل بطاقة إلى review أو blocked أو done
إلى إيقاف المزامنة التلقائية لتلك البطاقة حتى تُعاد إلى todo أو running.
يستخدم بدء بطاقة جلسات Gateway المعتادة؛ ولا يخزن Workboard سوى البيانات
الوصفية للبطاقة وروابطها. ويظل نص المحادثة، واختيار النموذج، ودورة حياة
التشغيل تحت إدارة نظام الجلسات المعتاد. استخدم إيقاف على بطاقة مرتبطة
نشطة لإجهاض التشغيل النشط؛ ويضع Workboard علامة blocked على تلك البطاقة لكي
تظل مرئية للمتابعة.
يمكن بدء البطاقات الجديدة من قوالب Workboard (bugfix وdocs وrelease
وpr_review وplugin). تملأ القوالب مسبقًا العنوان والملاحظات والتسميات والأولوية؛
ويُخزن معرّف القالب ضمن البيانات الوصفية للبطاقة.
سير العمل في لوحة المعلومات
- افتح علامة تبويب Workboard في واجهة التحكم.
- أنشئ بطاقة تتضمن عنوانًا وملاحظات وأولوية وتسميات ووكيلًا اختياريًا وجلسة مرتبطة اختيارية، أو افتح الجلسات واختر إضافة إلى Workboard لجلسة موجودة.
- اسحب البطاقة بين الأعمدة، أو ركّز على عنصر التحكم المدمج في حالتها واستخدم القائمة أو ArrowLeft/ArrowRight. أثناء السحب، تصبح البطاقة المصدر باهتة وتظهر حدود حول أعمدة الإفلات المتاحة.
- ابدأ العمل من البطاقة لإنشاء جلسة في لوحة المعلومات أو إعادة استخدامها.
- افتح الجلسة المرتبطة من البطاقة أثناء عمل الوكيل.
- دع مزامنة دورة الحياة تنقل العمل الجاري إلى
review/blocked، ثم انقل البطاقة يدويًا إلىdoneعند قبولها.
التشخيصات
تُحسب التشخيصات من البيانات الوصفية المحلية للبطاقة. تتحقق الفحوصات المضمنة من:
| النوع | الشرط |
|---|---|
stranded_ready |
بطاقة todo/backlog/ready مُسندة لم تُحدّث منذ أكثر من ساعة واحدة. |
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، إنشاء/تحديث/نقل/حذف/تعليق/ربط/linkDependency/إثبات/عنصر ناتج، إضافة/حذف المرفقات، سجل العامل، مخالفة البروتوكول، claim/heartbeat/release/promote/reassign/reclaim/complete/block/unblock، cards.dispatch، cards.bulk، أرشفة، boards.upsert/archive/delete، cards.specify/decompose، اشتراك/حذف/تقديم الإشعارات |
لا يتطلب أي أسلوب RPC النطاق operator.admin. يمكن للمتصفحات المتصلة بوصول
مشغّل للقراءة فقط فحص اللوحة، لكنها لا تستطيع تعديل البطاقات. يوسّع نطاق المسؤول
مسارات مضيف Workboard المقبولة؛ لكنه لا يغيّر الأساليب المتاحة.
التخزين
يخزن Workboard البيانات الدائمة في قاعدة بيانات SQLite علائقية مملوكة لـ Plugin ضمن دليل حالة OpenClaw: توجد اللوحات والبطاقات والتسميات وأحداث دورة الحياة ومحاولات التشغيل والتعليقات وروابط التبعيات والإثباتات ومراجع العناصر الناتجة والبيانات الوصفية للمرفقات وكتلها الثنائية والتشخيصات والإشعارات وسجلات العاملين وحالة البروتوكول والاشتراكات كلها في جداول Workboard (وليس في إدخالات المفتاح والقيمة الخاصة بـ Plugin). يحافظ تصدير البطاقة على سرد اللوحة من دون تضمين محتويات الكتل الثنائية للمرفقات داخليًا.
يمكن لعمليات التثبيت التي استخدمت Workboard في إصدار .28 تشغيل
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. يمكن لجلسات المشغّل
للقراءة فقط سرد البطاقات، لكنها لا تستطيع إنشاءها أو تحريرها أو نقلها أو حذفها.
لا يؤدي بدء بطاقة إلى فتح الجلسة المتوقعة
تحقق من معرّف وكيل البطاقة وجلستها المرتبطة، ثم افتح الجلسات أو الدردشة لفحص حالة التشغيل الفعلية.
لا يبدأ الإرسال عاملًا
تأكد من وجود بطاقة ready واحدة على الأقل بلا مطالبة نشطة:
openclaw workboard list --status readyإذا أبلغ CLI عن إرسال للبيانات فقط، فابدأ Gateway أو أعد تشغيله ثم أعد المحاولة؛ إذ يحدّث الإرسال للبيانات فقط حالة اللوحة المحلية، لكنه لا يستطيع بدء عمليات تشغيل العاملين كوكلاء فرعيين. وقد يتم أيضًا تخطي البطاقات عندما تكون بطاقة أخرى للمالك أو الوكيل نفسه قيد التشغيل بالفعل أو بانتظار المراجعة؛ أكمل ذلك العمل النشط أو احظره أو حرره قبل إرسال المزيد للمالك نفسه.