Plugin guides

Plugin لوحة العمل

يضيف Plugin ‏Workboard لوحة اختيارية بأسلوب Kanban إلى واجهة التحكم: بطاقات عمل بحجم مناسب للوكلاء، وإسنادها إلى الوكلاء، ورابطًا للعودة إلى مهمة البطاقة وتشغيلها وجلسة لوحة المعلومات الخاصة بها.

صُمم Workboard ليكون صغيرًا عمدًا: فهو يتتبع أعمال التشغيل المحلية لـ Gateway واحد من OpenClaw. وليس بديلًا عن GitHub Issues أو Linear أو Jira أو أنظمة إدارة مشاريع الفرق الأخرى.

تمكينه

يأتي Workboard مضمنًا، لكنه معطّل افتراضيًا:

  1. افتح Plugins في واجهة التحكم، أو استخدم /settings/plugins نسبةً إلى المسار الأساسي المهيأ لواجهة التحكم. على سبيل المثال، يستخدم المسار الأساسي /openclaw المسار /openclaw/settings/plugins.
  2. ابحث عن Workboard واختر Enable. ولأن Workboard مضمّن مع OpenClaw، فلا يحتاج إلى إجراء Install.
  3. إذا أفادت الواجهة بأن إعادة التشغيل مطلوبة، فأعد تشغيل Gateway.

تظهر علامة تبويب Workboard في شريط تنقل لوحة المعلومات بعد تحميل وقت تشغيل Plugin. وعندما يكون معطّلًا، تظل علامة التبويب مخفية من شريط التنقل. يؤدي فتح مسار /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 وكيل مُسنَد اختياري
المراجع المرتبطة مهمة أو تشغيل أو جلسة أو عنوان 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 مسؤولة عن التنفيذ. تمريرة إرسال واحدة:

  1. ترقّي البطاقات الجاهزة من حيث التبعيات.
  2. تسجّل البيانات الوصفية للإرسال على البطاقات الجاهزة.
  3. تحظر المطالبات المنتهية أو عمليات التشغيل التي انتهت مهلتها.
  4. تضع علامة على بطاقات الفرز الأولي المكوّنة في اللوحة باعتبارها مرشحة للتنسيق.
  5. تطالب بدفعة صغيرة من البطاقات الجاهزة وتبدأ عمليات تشغيل العمال عبر وقت تشغيل الوكيل الفرعي في 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 وأمر الشرطة المائلة

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 المحلية مباشرةً دائمًا. ولا يستدعي 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). تملأ القوالب مسبقًا العنوان والملاحظات والتسميات والأولوية؛ ويُخزن معرّف القالب ضمن البيانات الوصفية للبطاقة.

سير العمل في لوحة المعلومات

  1. افتح علامة تبويب Workboard في واجهة التحكم.
  2. أنشئ بطاقة تتضمن عنوانًا وملاحظات وأولوية وتسميات ووكيلًا اختياريًا وجلسة مرتبطة اختيارية، أو افتح الجلسات واختر إضافة إلى Workboard لجلسة موجودة.
  3. اسحب البطاقة بين الأعمدة، أو ركّز على عنصر التحكم المدمج في حالتها واستخدم القائمة أو ArrowLeft/ArrowRight. أثناء السحب، تصبح البطاقة المصدر باهتة وتظهر حدود حول أعمدة الإفلات المتاحة.
  4. ابدأ العمل من البطاقة لإنشاء جلسة في لوحة المعلومات أو إعادة استخدامها.
  5. افتح الجلسة المرتبطة من البطاقة أثناء عمل الوكيل.
  6. دع مزامنة دورة الحياة تنقل العمل الجاري إلى 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 غير متاح

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