تخطَّ إلى المحتوى
ططارق الوليديAI Developer Tools Directory

dsh-task-board

نشط ومستقريعمل محلياً ✓بدون اشتراك API

لوحة مهام لـDeepSeek Harness تربط بطاقات Kanban بجلسات DSH فعلية، مع جدولة Host وسجل تنفيذ وبوابة للصلاحيات الأعلى.

$dsh plugin --profile web add @linxin666/dsh-client-ui-task-board@latest
💡

الاستخدام المثالي لهذه الأداة

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

التفاصيل والميزات المصورة

إذا كانت مهام وكلاء البرمجة موزعة بين محادثات طويلة وملاحظات خارجية وأوامر تكررها يدويًا، فمن السهل أن تنسى ما بدأ وما ينتظر المراجعة. dsh-task-board تضيف إلى واجهة DeepSeek Harness لوحة مهام مرتبطة بالتنفيذ نفسه: تنشئ بطاقة، تثبّت لها مساحة العمل والوكيل والصلاحية، ثم تشغّلها الآن أو بجدول cron وتعود إلى سجل الجلسة والنتيجة. قيمتها المضافة أنها تجمع التخطيط والتنفيذ والتتبع في مكان واحد، من دون أن تجعل اللوحة بديلًا عن مراجعتك أو عن ضوابط الصلاحيات.

🧭 ما dsh-task-board؟

هي إضافة مفتوحة المصدر لـDSH Web GUI من مشروع zhu1090093659/dsh-web. تعرض لوحة Kanban من خمس حالات داخل العمود الأوسط لواجهة DSH، بينما يحتفظ Host بسجل المهام والجداول ومحاولات التنفيذ في ملف محلي. المتصفح واجهة غير متزامنة فقط؛ إغلاق الصفحة لا يوقف المجدول أو تسوية التنفيذ، ما دام الجهاز وDSH Host ما زالا يعملان.

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

لوحة مهام تنتقل منها البطاقة إلى جلسة DSH وسجل تنفيذ
لوحة مهام تنتقل منها البطاقة إلى جلسة DSH وسجل تنفيذ
رسم توضيحي أصلي لمسار العمل الموثق؛ ليس لقطة من واجهة المنتج.

🎯 كيف ستفيدك وما القيمة المضافة؟

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

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

تناسب الأداة مطورًا أو فريقًا صغيرًا يستخدم DSH في مهام متكررة أو مترابطة. لا تناسب جهازًا ينام أو ينطفئ باستمرار، ولا مهمة حساسة تريد تشغيلها من دون مراجعة نص البطاقة والصلاحيات والتكلفة المحتملة للنموذج.

🌟 الميزات وطريقة استخدامها

1. لوحة Kanban مرتبطة بتنفيذ حقيقي

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

  • أين تجدها: صف Task Board في الشريط الجانبي الرسمي لـDSH Web.
  • كيف تستخدمها: أنشئ بطاقة، اكتب عنوانًا ووصفًا وRun prompt، ثم اختر Workspace وAgent preset وPermission والنموذج عند الحاجة.
  • الفائدة: تخطط للمهمة وتعود إلى دليل تنفيذها من السجل نفسه.
  • انتبه: المهام المؤرشفة للقراءة فقط، ولا تعمل يدويًا أو بالجدولة حتى تستعاد.

كما تدعم البطاقة وسومًا للبحث والتصفية. يمكن لكل وسم إضافة Execution hint يسبق نص المهمة في التشغيل التالي؛ لذلك راجع التلميحات كجزء من Prompt، ولا تعامل الوسم كزينة فقط.

2. جدولة Host تستمر بعد إغلاق المتصفح

يدعم المجدول تعبير cron من خمسة حقول: * و*/n والنطاقات والقوائم، مع Sunday بالقيمتين 0 و7. يعمل بالتوقيت المحلي لـHost. عند موعد البطاقة يستخدم المجدول نفس المشغل الذي يستخدمه التشغيل اليدوي، ثم يضيف النتيجة إلى سجل البطاقة. إغلاق صفحة الويب لا يوقف ذلك.

بطاقة مجدولة تنتقل عبر Host إلى جلسة DSH وسجل النتيجة
بطاقة مجدولة تنتقل عبر Host إلى جلسة DSH وسجل النتيجة
رسم توضيحي؛ لا يعني أن الأداة توقظ جهازًا نائمًا.
  • مثال توضيحي: جدول بطاقة لفحص اختبارات المشروع كل صباح عمل، واربطها بمساحة اختبار وصلاحية قراءة أو تنفيذ محدودة.
  • الفائدة: لا تحتاج إلى إبقاء تبويب اللوحة مفتوحًا أو بدء الجلسة يدويًا كل مرة.
  • انتبه: لا توجد Wake timers. إذا كان Host متوقفًا أو الجهاز نائمًا تفوت اللحظة ولا تُصف المهام الفائتة لاحقًا. وإذا كانت البطاقة تعمل أصلًا، يتجاوز المجدول الموعد التالي بدل تشغيل نسختين متداخلتين.

يمكن تفعيل preventIdleSleep اختياريًا. يمنع خمول النظام أثناء جلسة تعمل أو جدول مفعّل، لكنه يسمح بانطفاء الشاشة والقفل، ولا يمنع إغلاق الغطاء أو السكون اليدوي أو الإسبات أو الإيقاف أو سياسات المؤسسة. على Linux يتطلب systemd-logind وصلاحية idle block؛ قد لا يعمل في WSL أو الحاويات أو الأنظمة غير المبنية على systemd.

3. بوابة تأكيد للصلاحيات الأعلى من الافتراضي

يتضمن ربط البطاقة مساحة العمل وAgent preset والصلاحية، ويمكن لحزمة Handover أن تحدد الربط ومراجع مستندات أو سكربتات. إذا كانت الصلاحية الفعلية أعلى من sessionDefaultPermission، يضعها Host في حالة انتظار التأكيد: يرفض التشغيل اليدوي، ويتجاوزها cron إلى الموعد التالي، إلى أن يؤكد إنسان الربط من تفاصيل البطاقة.

ربط المهمة ثم بوابة تأكيد بشري قبل التشغيل
ربط المهمة ثم بوابة تأكيد بشري قبل التشغيل
رسم توضيحي لبوابة الصلاحية؛ لا يمثل شاشة تأكيد فعلية.

لا توجد أداة Agent تمنح هذا التأكيد؛ وهذا مقصود حتى لا يستطيع الوكيل إزالة القيد الذي يفترض أن يراجعه الإنسان. أي تغيير لاحق في الصلاحية أو حزمة Handover يلغي التأكيد السابق ويعيد تفعيل البوابة.

هذه البوابة مفيدة، لكنها ليست جدارًا كاملاً. نص المهمة والوسوم ومدخلات المتابعة بيانات يرسلها المستخدم أو الوكيل. افحصها قبل منح وصول للكتابة أو الأوامر، واستخدم مشروع اختبار وصلاحية أقل كلما كان ذلك كافيًا.

4. مهام فرعية وتشغيل Cascade أو Agent Team

يمكن للمهمة الرئيسية أن تضم مهام فرعية. في وضع Cascade يشغّل Host الشجرة بالتوازي، بجلسة DSH مستقلة لكل عضو؛ تظل المهمة الرئيسية في حالة التشغيل إلى أن تنتهي هي وكل المهام الفرعية، وتفشل النتيجة الكلية إذا فشل أي عضو، من دون إيقاف بقية الأعضاء تلقائيًا.

مهمة رئيسية تتفرع إلى مهام بحث وتنفيذ واختبار
مهمة رئيسية تتفرع إلى مهام بحث وتنفيذ واختبار
رسم توضيحي لمسار التوازي. أسماء المهام مثال، وليست نتيجة اختبار فعلي.

في وضع Agent Team الاختياري يبدأ Host جلسة قائد واحدة، ثم يطلب من خدمة Agent Teams إنشاء زميل لكل مهمة فرعية داخل الفريق. يحتاج ذلك إلى خدمة agentTeams الاختيارية؛ عند غيابها يرفض التشغيل صراحة ولا يتحول بصمت إلى Cascade. لا تستطيع مهمة فرعية داخل الفريق حمل صلاحية أعلى مثبتة لها لأن الزميل لا يملك هذا الربط.

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

5. بطاقات متابعة وسجل مصدر

يمكنك لصق كتلة FREEZE من جلسة لتحويل الهدف والتقدم والخطوة التالية إلى Snapshot محفوظ مع البطاقة. يحجب البروتوكول أنماطًا حساسة بعلامة [REDACTED]، ويرفض سطور الأوامر التي تبدأ بشرطة مائلة داخل اللقطة، ويحد كل حقل بـ8 KiB. عند تشغيل بطاقة متابعة يضيف Host تحذيرًا من المحتوى غير المراجع ووقت التجميد ومعرف الجلسة المصدر.

هذه الحماية تساعد على تذكير الوكيل بمصدر السياق، لكنها لا تثبت صحة المحتوى. بيانات initiatedBy وfrozenBy معلومات تدقيق يصرّح بها العميل وليست حد ثقة أمنيًا. راجع اللقطة والمراجع قبل استئناف عمل حساس.

🪜 مثال استخدام خطوة بخطوة

مثال توضيحي لم أنفذه على مشروع فعلي: لديك إصدار أسبوعي لتطبيق ويب.

  1. افتح Task Board وأنشئ بطاقة رئيسية باسم «فحص إصدار الأسبوع».
  2. ثبّت Workspace لمستودع الاختبار، واختر Agent preset مناسبًا، واترك Permission على read-only أولًا.
  3. أضف ثلاث مهام فرعية: مراجعة سجل الأخطاء، تشغيل الاختبارات، وتجهيز ملخص النتائج.
  4. أضف وسومًا مثل release وqa. إذا أضفت Execution hint فتأكد أنه توجيه قصير لا يحتوي أسرارًا.
  5. شغّل Cascade يدويًا أول مرة. راجع الجلسات والنتائج من سجل كل بطاقة.
  6. إذا احتاج تشغيل الاختبارات صلاحية أعلى، عدّل الربط ثم أكد البوابة من واجهة اللوحة بعد مراجعة النطاق.
  7. بعد نجاح التشغيل التجريبي، أضف cron مناسبًا. تذكر أن الجدولة لا توقظ الجهاز.
  8. عند انتهاء الجولة، أرشف البطاقات التي لا تريد تشغيلها مجددًا بدل ترك الجدول مفعلاً.

⚖️ ماذا تضيف مقارنة بالطريقة اليدوية؟

العمل اليدويمع dsh-task-board
قائمة مهام خارج DSH وجلسات منفصلةبطاقات وحالة وسجل تنفيذ داخل DSH Web
إعادة تحديد المشروع والوكيل والصلاحية في كل جلسةربط مثبت يعاد تطبيقه قبل كل تشغيل
فتح جلسة يدويًا في كل موعدHost cron يبدأ التشغيل إذا كان الجهاز وHost يعملان
متابعة نتيجة كل جلسة بنفسكسجل محدود لآخر 20 محاولة لكل مهمة وروابط للجلسات
تقسيم مهمة كبيرة يدويًاSubtasks مع Cascade أو Agent Team اختياري

هذه مقارنة لمسار العمل، وليست قياسًا لتوفير الوقت أو ضمانًا لنجاح المهمة.

⚙️ الإعدادات المهمة

الإعدادالافتراضيمتى تغيّره؟
enabledtrueلتعطيل Host واللوحة وأدوات الوكيل معًا
announceToAgentfalseإذا أردت إضافة إرشادات اللوحة إلى System prompt
preventIdleSleepfalseعند الحاجة لمنع خمول النظام ضمن الحدود الموثقة
sessionDefaultPermissionread-onlyلتعريف الحد الذي يتطلب ما فوقه تأكيدًا بشريًا
maxSubtaskDepth1لزيادة عمق الشجرة حتى 3 بعد تقدير الجلسات والتكلفة
trustedProxyHosts[]فقط خلف Reverse proxy مصدّق على الجهاز نفسه

توجد إعدادات Proxy متقدمة تستخدم متغير البيئة DSH_TASK_BOARD_PROXY_TOKEN. يجب أن يحقن Reverse proxy الرمز بعد المصادقة وألا يمرر قيمة العميل. لا تضع الرمز داخل إعدادات الإضافة، ولا تفتح DSH Web مباشرة على شبكة عامة لمجرد تشغيل اللوحة.

🚀 التثبيت والبدء

الإصدار المنشور الذي تحققنا منه على npm هو 0.4.2، بينما كان package.json في فرع dev على 0.4.3. أمر التثبيت الرسمي يجلب أحدث نسخة منشورة، لا كود الفرع غير المنشور:

dsh plugin --profile web add @linxin666/dsh-client-ui-task-board@latest

أعد تشغيل dsh web بعد التثبيت. تتطلب الحزمة المنشورة DeepSeek Harness >=0.1.7-rc.2 وReact 18، وتذكر تعليمات البناء Node.js 20 أو أحدث. لم أشغل أمر التثبيت هنا. راجع المصدر والحزمة قبل تشغيل إضافة في ملف تعريفك.

💰 التكلفة والتشغيل المحلي والخصوصية

ترخيص الكود Apache-2.0، والحزمة نفسها لا توثق اشتراكًا مدفوعًا. تنفيذ البطاقة يستخدم جلسة DSH ونفس حصة API أو تكلفة النموذج التي تستخدمها جلسة عادية؛ تشغيل شجرة فرعية يفتح عدة جلسات في الوقت نفسه. لذلك «الإضافة مجانية» لا تعني أن تشغيل النموذج مجاني.

سجل المهام الفعلي محلي داخل $DSH_HOME/task-board/ledger-v2.json. الملفات الجديدة على POSIX تستخدم وضع 0600، وعلى Windows ترث ACL لمجلد المستخدم. هذا تشغيل محلي للوحة والدفتر، وليس وضعًا بلا شبكة: DSH قد يرسل Prompts إلى مزود النموذج، كما يرسل جزء المتصفح نبضة تثبيت مجهولة مرة واحدة يوميًا إلى dsh-market.com تتضمن معرفًا عشوائيًا في localStorage واسم الحزمة. يقول README إن الخادم يخزن Hash مملحًا للمعرف ولا يخزن عناوين IP ويعرض مجاميع فقط.

⚠️ الحدود والأمان

  • الجدولة لا تعوض المواعيد الفائتة ولا توقظ جهازًا نائمًا.
  • التنفيذ الجاري لا يتداخل مع موعد جديد للبطاقة نفسها.
  • تغيير الساعة الصيفية يتبع ساعة Host المحلية؛ الدقيقة المفقودة لا تعمل والمكررة لا تعاد مرتين.
  • سجل كل مهمة يحتفظ بآخر 20 محاولة فقط.
  • أدوات Agent تستطيع إنشاء البطاقات وتعديلها وتشغيلها وجدولتها؛ لا تستطيع تأكيد صلاحية أعلى.
  • تشغيل Agent Team يتطلب خدمة إضافية، والتشغيل العادي المتوازي قد يستهلك عدة جلسات.
  • حذف بطاقة أو تغيير Prompt قد يؤثر في سجل عملك؛ راجع الأوامر التي يسمح بها ملف تعريف DSH.

📚 المصادر وتاريخ التحقق

تحققت في 27 سبتمبر 2026 من مجلد الحزمة وREADME الأصلي، وpackage.json، والترخيص، وسجل نشاط الحزمة، ونسخة npm المنشورة. أظهر GitHub وقت الفحص 8,040 نجمة و556 تفرعًا للمستودع الأحادي كاملًا، لا للحزمة وحدها؛ وهذه مؤشرات شعبية متغيرة وليست تقييم جودة أو أمان. كان آخر نشاط ظاهر للحزمة في 26 سبتمبر 2026. لم أثبت الأداة أو أنفذ المثال، والصور رسوم أصلية مبنية على الوثائق.