Bundled plugin guides

Plugin لوحة العمل

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

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

الحالة الافتراضية

لوحة العمل Plugin مضمّن ومعطل افتراضيًا ما لم تفعّله في إعدادات Plugin.

فعّله باستخدام:

bash
openclaw plugins enable workboardopenclaw gateway restart

ثم افتح لوحة المعلومات:

bash
openclaw dashboard

تظهر علامة تبويب لوحة العمل في تنقل لوحة المعلومات. إذا كانت علامة التبويب مرئية لكن 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.

تحتفظ لوحة العمل ببيانات وصفية مدمجة لكل بطاقة حتى يتمكن المشغلون من رؤية كيفية انتقال البطاقة عبر اللوحة دون فتح الجلسة المرتبطة. الأحداث وملخصات المحاولات ومقتطفات الأدلة والروابط ذات الصلة والتعليقات وعلامات الأرشيف وعلامات الجلسات القديمة هي بيانات وصفية محلية عن قصد؛ ولا تحل محل نصوص الجلسات أو سجل مشكلات GitHub.

تنفيذات البطاقات والمهام

يمكن للبطاقات غير المرتبطة بدء العمل من البطاقة. تستخدم عمليات البدء الذاتية مسار تشغيل الوكيل المتتبع بالمهام في Gateway، ثم تربط لوحة العمل المهمة الناتجة ومعرّف التشغيل ومفتاح الجلسة مرة أخرى بالبطاقة. يستخدم البدء الوكيل والنموذج الافتراضيين المكوّنين في Gateway. إجراءات Codex وClaude اختيارات نموذج صريحة اختيارية:

  • يبدأ تشغيل Codex أو تشغيل Claude تشغيل وكيل مدعومًا بمهمة، ويرسل مطالبة البطاقة، ويعلّم البطاقة running.
  • ينشئ فتح Codex أو فتح Claude جلسة لوحة معلومات مرتبطة دون إرسال مطالبة البطاقة أو نقل البطاقة، بحيث يمكنك العمل يدويًا بينما تظل مرفقة باللوحة.

تخزن بيانات التنفيذ الوصفية المحرك المحدد والوضع ومرجع النموذج ومفتاح الجلسة ومعرّف التشغيل ومعرّف المهمة عند توفره وحالة دورة الحياة على البطاقة. تستخدم تنفيذات Codex openai/gpt-5.5؛ وتستخدم تنفيذات Claude anthropic/claude-sonnet-4-6.

يسجل كل تنفيذ مرتبط أيضًا ملخص محاولة في سجل البطاقة نفسه. يحتفظ ملخص المحاولة بالمحرك والوضع والنموذج ومعرّف التشغيل والطوابع الزمنية والحالة وعدد الإخفاقات المتدرج بحيث تبقى الإخفاقات المتكررة مرئية على اللوحة.

تحدّث لوحة المعلومات حالة المهمة من سجل مهام Gateway وتطابق المهام مع البطاقات حسب معرّف المهمة أو معرّف التشغيل أو مفتاح الجلسة المرتبط. إذا كانت المهمة في قائمة الانتظار أو قيد التشغيل، فتعرض دورة حياة البطاقة حالة المهمة النشطة. إذا انتهت المهمة أو فشلت أو انتهت مهلتها أو أُلغيت، تنتقل دورة حياة البطاقة نحو حالة المراجعة أو الحظر باستخدام مزامنة دورة الحياة نفسها للجلسات المرتبطة.

تنسيق الوكلاء

تعرض لوحة العمل أيضًا أدوات وكيل اختيارية لسير العمل الواعي باللوحة:

  • يسرد workboard_list بطاقات مدمجة مع حالة المطالبة والتشخيص، مع مرشح لوحة اختياري.
  • يعيد workboard_read بطاقة واحدة مع سياق عامل محدود مبني من الملاحظات والمحاولات والتعليقات والروابط والأدلة والمصنوعات ونتائج الآباء وعمل المكلّف الحديث والتشخيصات النشطة.
  • ينشئ workboard_create بطاقة مع آباء اختياريين ومستأجر وSkills ولوحة وبيانات وصفية لمساحة العمل ومفتاح عدم التكرار وحدّ وقت التشغيل وميزانية إعادة المحاولة.
  • يربط 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 بطاقة فرز أو backlog تقريبية إلى بطاقة todo موضحة ويسجل ملخص المواصفات على البطاقة.
  • يوزع workboard_decompose بطاقة تنسيق أب إلى أبناء مرتبطين، ويرث بيانات اللوحة والمستأجر الوصفية، ويمكنه إكمال الأب باستخدام بيان بطاقات منشأة.
  • يدير workboard_notify_subscribe وworkboard_notify_list وworkboard_notify_events وworkboard_notify_advance و workboard_notify_unsubscribe اشتراكات الإشعارات في حالة Plugin. قراءات الأحداث آمنة لإعادة التشغيل؛ وتنقل أداة التقدم المؤشر الدائم بحيث يمكن للمستدعين الاستئناف دون فقدان أو قراءة مزدوجة لأحداث البطاقات المكتملة أو الفاشلة أو القديمة.
  • يتيح workboard_boards وworkboard_stats وworkboard_promote وworkboard_reassign وworkboard_reclaim وworkboard_comment وworkboard_proof وworkboard_unblock وworkboard_dispatch للوكيل فحص مساحات أسماء اللوحات، وعرض إحصاءات قائمة الانتظار، واستعادة العمل العالق، وإضافة ملاحظات التسليم، وإرفاق مراجع أدلة أو مصنوعات، ونقل العمل المحظور مرة أخرى إلى todo، ودفع ترقية التبعيات أو تنظيف المطالبات القديمة.

ترفض البطاقات المطالب بها تعديلات أدوات الوكلاء من وكلاء آخرين ما لم يكن لدى المستدعي رمز المطالبة الذي أعاده workboard_claim. لا يزال مشغلو لوحة المعلومات يستخدمون سطح Gateway RPC العادي ويمكنهم استعادة البطاقات أو إعادة إسنادها.

تخزن لوحة العمل بيانات اللوحة الدائمة في قاعدة بيانات SQLite علائقية مملوكة لـ Plugin ضمن دليل حالة OpenClaw. تستمر اللوحات والبطاقات والتسميات وأحداث دورة الحياة ومحاولات التشغيل والتعليقات وروابط التبعيات والأدلة ومراجع المصنوعات وبيانات المرفقات الوصفية والكتل الثنائية والتشخيصات والإشعارات وسجلات العامل وحالة البروتوكول والاشتراكات في جداول لوحة العمل بدلاً من إدخالات المفتاح والقيمة الخاصة بـ Plugin. لا يزال تصدير البطاقة يحافظ على سرد اللوحة دون تضمين محتويات كتل المرفقات الثنائية.

يمكن للتثبيتات التي استخدمت لوحة العمل في إصدار .28 تشغيل openclaw doctor --fix لترحيل مساحات أسماء حالة Plugin القديمة المشحونة (workboard.cards وworkboard.boards وworkboard.notify) إلى قاعدة البيانات العلائقية. إذا وُجدت مساحة أسماء workboard.attachments قديمة، فسيرحّل doctor كتل المرفقات الثنائية تلك أيضًا.

تُحسب تشخيصات لوحة العمل من بيانات البطاقة الوصفية المحلية. تضع الفحوصات المدمجة علامة على البطاقات المسندة التي تنتظر فترة طويلة جدًا، والبطاقات قيد التشغيل دون Heartbeat حديث، والبطاقات المحظورة التي تحتاج إلى انتباه، والإخفاقات المتكررة، والبطاقات المنجزة دون دليل، والبطاقات قيد التشغيل التي لا تملك سوى رابط جلسة فضفاض.

الإرسال محلي لـ Gateway عن قصد. فهو لا ينشئ عمليات نظام تشغيل اعتباطية؛ إذ تظل جلسات الوكلاء الفرعيين العادية في OpenClaw مالكة للتنفيذ. يعزز إجراء الإرسال البطاقات الجاهزة تبعياً، ويسجل بيانات الإرسال الوصفية على البطاقات الجاهزة، ويحظر المطالبات المنتهية أو عمليات التشغيل التي انتهت مهلتها، ويعلّم بطاقات الفرز المكوّنة على اللوحة كمرشحات للتنسيق، ثم يطالب بدفعة صغيرة من البطاقات الجاهزة ويبدأ عمليات تشغيل العاملين عبر وقت تشغيل الوكلاء الفرعيين في Gateway. تستخدم البطاقات المسندة مفاتيح جلسات عامل agent:<id>:subagent:workboard-*؛ وتستخدم البطاقات غير المسندة مفاتيح subagent:workboard-* غير محددة النطاق بحيث يظل Gateway يحل الوكيل الافتراضي المكوّن. يحصل العاملون على سياق بطاقة محدود بالإضافة إلى رمز المطالبة الذي يحتاجونه لإرسال Heartbeat أو إكمال البطاقة أو حظرها عبر أدوات لوحة العمل.

اختيار عامل الإرسال

تبدأ كل جولة إرسال ثلاثة عاملين كحد أقصى افتراضيًا. تُرتّب البطاقات الجاهزة حسب الأولوية والموضع ووقت الإنشاء، ثم تُرشّح لتجنب تكرار الملكية النشطة. يبدأ الإرسال بطاقة واحدة فقط لمالك أو وكيل معين في الجولة نفسها، ويتخطى المالكين الذين لديهم بالفعل عمل قيد التشغيل أو قيد المراجعة على اللوحة.

لا تُختار البطاقات المؤرشفة والبطاقات ذات المطالبات النشطة والبطاقات التي ليست في حالة ready لبدء العاملين. يمكن أن تظل متأثرة بجانب البيانات من الإرسال عندما ينطبق تنظيف المطالبات القديمة أو ترقية التبعيات أو تنظيف انتهاء المهلة.

مطالبة العامل ودورة الحياة

تتضمن مطالبة العامل عنوان البطاقة والملاحظات والسياق المحدودين واللوحة المسندة وبروتوكول عامل لوحة العمل. وتتضمن أيضًا مالك المطالبة ورمز المطالبة بحيث يمكن للعامل استدعاء workboard_heartbeat أو workboard_complete أو workboard_block دون أن يستولي طرف آخر على البطاقة.

عندما يبدأ عامل بنجاح، تخزن لوحة العمل مفتاح الجلسة ومعرّف التشغيل والمحرك والوضع وتسمية النموذج والحالة وسجل العامل على البطاقة. يكون مفتاح الجلسة حتميًا للوحة والبطاقة، مما يجعل عمليات الإرسال المتكررة تُوجّه مرة أخرى إلى مسار العامل نفسه بدلاً من إنشاء جلسات غير ذات صلة.

إذا تعذر بدء عامل بعد المطالبة ببطاقة، تحظر لوحة العمل البطاقة، وتمسح المطالبة، وتسجل فشل بدء التشغيل، وتلحق سطر سجل عامل. يكون ذلك الفشل مرئيًا في لوحة المعلومات وJSON الخاص بـ CLI وأدوات الوكلاء وتشخيصات البطاقة.

نقاط دخول الإرسال

يمكن أن يبدأ عامل البطاقة الجاهزة من:

  • إجراء الإرسال في لوحة المعلومات
  • openclaw workboard dispatch
  • /workboard dispatch على قناة تدعم الأوامر

تستخدم نقاط الدخول الثلاث وقت تشغيل الوكيل الفرعي في Gateway عندما يكون Gateway متاحًا. لدى CLI احتياط إضافي للمشغل: إذا كان Gateway غير متصل أو لا يعرض طريقة إرسال لوحة العمل ولم يُقدَّم هدف --url أو --token صريح، فإنه يشغّل إرسالًا للبيانات فقط على حالة SQLite المحلية. يمكن لهذا الاحتياط ترقية التبعيات وتنظيف المطالبات القديمة وحظر عمليات التشغيل التي انتهت مهلتها، لكنه لا يستطيع بدء العاملين.

يمكن أن تتضمن بيانات اللوحة الوصفية إعدادات تنسيق مثل autoDecompose وautoDecomposePerDispatch وdefaultAssignee وorchestratorProfile. يسجل OpenClaw نية التنسيق ويعرضها في سياق العامل؛ أما التحديد والتفكيك الفعليان فما زالا يحدثان عبر أدوات لوحة العمل العادية.

CLI وأمر الشرطة المائلة

يسجل Plugin أمر CLI جذريًا:

bash
openclaw workboard listopenclaw workboard create "Fix stale card lifecycle" --priority high --labels bug,workboardopenclaw workboard show <card-id>openclaw workboard dispatch

يستدعي openclaw workboard dispatch الـ Gateway قيد التشغيل حتى تستخدم بدايات العمال نفس وقت تشغيل الوكيل الفرعي مثل لوحة التحكم. إذا لم يكن Gateway متاحًا، فإنه يعود إلى الإرسال المعتمد على البيانات فقط حتى تظل ترقية التبعيات، وتنظيف المطالبات القديمة، وحظر المهلات قادرة على العمل. لا تزال إخفاقات المصادقة، والأذونات، والتحقق تظهر كأخطاء أوامر، وكذلك إخفاقات أهداف --url أو --token الصريحة.

يدعم أمر الشرطة المائلة /workboard مسار المشغّل المضغوط نفسه: /workboard list، و/workboard show <card-id>، و/workboard create <title>، و /workboard dispatch. تُعد عمليتا العرض والقائمة عمليات قراءة لمرسلي الأوامر المصرّح لهم. يتطلب الإنشاء والإرسال حالة مالك على أسطح المحادثة أو عميل Gateway مع operator.write أو operator.admin.

راجع Workboard CLI لمعرفة أعلام الأوامر، وإخراج JSON، وسلوك الرجوع في Gateway، ومعالجة بادئات المعرفات غير الملتبسة، وقواعد اختيار الإرسال، واستكشاف الأخطاء وإصلاحها.

مزامنة دورة حياة الجلسة

يمكن ربط البطاقات بجلسات لوحة تحكم موجودة أو بالجلسة التي تُنشأ عند بدء العمل من بطاقة. تعرض البطاقات المرتبطة دورة حياة الجلسة ضمنيًا: قيد التشغيل، قديمة، مرتبطة وخاملة، منجزة، فاشلة، أو مفقودة.

إذا كانت الجلسة المرتبطة مفقودة، تبقى البطاقة مرتبطة للسياق ولا تزال تعرض عناصر تحكم البدء حتى تتمكن من إعادة تشغيل العمل في جلسة لوحة تحكم جديدة. إذا توقفت جلسة مرتبطة نشطة عن الإبلاغ عن نشاط حديث، يضع Workboard علامة قديمة على البطاقة ويخزن العلامة كبيانات وصفية للبطاقة حتى تزيلها دورة الحياة.

يمكنك أيضًا التقاط جلسة لوحة تحكم موجودة من تبويب الجلسات باستخدام إضافة إلى Workboard. تُربط البطاقة بتلك الجلسة، وتستخدم تسمية الجلسة أو أحدث مطالبة للمستخدم كعنوان، وتملأ الملاحظات من أحدث مطالبة للمستخدم بالإضافة إلى أحدث رد من المساعد عندما يكون سجل المحادثة متاحًا.

يتبع Workboard الجلسة المرتبطة ما دامت البطاقة في حالة عمل نشطة:

  • جلسة مرتبطة نشطة -> running
  • جلسة مرتبطة مكتملة -> review
  • جلسة مرتبطة فاشلة أو مقتولة أو منتهية المهلة أو مُجهضة -> blocked

لحالات المراجعة اليدوية الأولوية. إذا نقلت بطاقة إلى review أو blocked أو done، يتوقف Workboard عن نقل تلك البطاقة تلقائيًا حتى تعيدها إلى todo أو running.

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

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

يستخدم بدء بطاقة جلسات Gateway العادية. لا يخزن Plugin Workboard إلا البيانات الوصفية للبطاقات والروابط؛ أما نص المحادثة، واختيار النموذج، ودورة حياة التشغيل فتظل مملوكة لنظام الجلسات العادي.

استخدم إيقاف على بطاقة مرتبطة مباشرة لإجهاض تشغيل الجلسة النشطة. يضع Workboard تلك البطاقة في حالة blocked حتى تظل مرئية للمتابعة.

يمكن أن تبدأ البطاقات الجديدة من قوالب Workboard لإصلاح الأخطاء، أو الوثائق، أو الإصدارات، أو مراجعات PR، أو عمل Plugin. تملأ القوالب العنوان، والملاحظات، والتسميات، والأولوية مسبقًا، ويُخزن معرف القالب المحدد كبيانات وصفية للبطاقة.

الأذونات

يسجل Plugin أساليب Gateway RPC ضمن مساحة الأسماء workboard.*:

  • يتطلب workboard.cards.list إذن operator.read
  • يتطلب workboard.cards.export إذن operator.read
  • يتطلب workboard.cards.diagnostics إذن operator.read
  • يتطلب workboard.cards.diagnostics.refresh إذن operator.write
  • تتطلب قراءات قائمة/جلب المرفقات وأحداث الإشعارات إذن operator.read
  • يتطلب تقديم مؤشر الإشعارات إذن operator.write
  • تتطلب أساليب الإنشاء، والتحديث، والنقل، والحذف، والتعليق، والربط، وربط التبعيات، والإثبات، والقطعة الأثرية، وإضافة/حذف المرفقات، وسجل العامل، وانتهاك البروتوكول، والمطالبة، وHeartbeat، والإصدار، والإكمال، والحظر، وإلغاء الحظر، والإرسال، والعمليات المجمعة، والأرشفة إذن operator.write

يمكن للمتصفحات المتصلة بصلاحية مشغّل للقراءة فقط فحص اللوحة لكنها لا تستطيع تعديل البطاقات.

التكوين

لا يملك Workboard أي تكوين خاص بالـ Plugin اليوم. فعّله أو عطّله باستخدام إدخال Plugin القياسي:

json5
{  plugins: {    entries: {      workboard: {        enabled: true,        config: {},      },    },  },}

عطّله مرة أخرى باستخدام:

bash
openclaw plugins disable workboardopenclaw gateway restart

استكشاف الأخطاء وإصلاحها

يشير التبويب إلى أن Workboard غير متاح

تحقق من سياسة Plugin:

bash
openclaw plugins inspect workboard --runtime --json

إذا كان plugins.allow مكوّنًا، فأضف workboard إلى قائمة السماح تلك. إذا كان plugins.deny يحتوي على workboard، فأزله قبل تفعيل Plugin.

لا تُحفظ البطاقات

تأكد من أن اتصال المتصفح يملك صلاحية operator.write. يمكن لجلسات المشغّل للقراءة فقط سرد البطاقات لكنها لا تستطيع إنشاءها أو تعديلها أو نقلها أو حذفها.

لا يفتح بدء بطاقة الجلسة المتوقعة

ينشئ Workboard روابط إلى جلسات لوحة التحكم العادية. تحقق من معرف وكيل البطاقة والجلسة المرتبطة، ثم افتح عرض الجلسات أو المحادثة لفحص حالة التشغيل الفعلية.

لا يبدأ الإرسال عاملاً

تأكد من وجود بطاقة ready واحدة على الأقل من دون مطالبة نشطة:

bash
openclaw workboard list --status ready

إذا أبلغت CLI عن إرسال معتمد على البيانات فقط، فابدأ Gateway أو أعد تشغيله ثم أعد المحاولة. يحدّث الإرسال المعتمد على البيانات فقط حالة اللوحة المحلية لكنه لا يستطيع بدء تشغيلات عمال الوكلاء الفرعيين.

يمكن أيضًا تخطي البطاقات عندما تكون بطاقة أخرى للمالك نفسه أو الوكيل نفسه قيد التشغيل بالفعل أو بانتظار المراجعة. أكمل ذلك العمل النشط أو احظره أو أطلقه قبل إرسال مزيد من العمل للمالك نفسه.

ذات صلة

Was this useful?
On this page

On this page