محرّك سير العمل الذي لا يتحوّل إلى مشروع SRE.
Dagu هو محرك سير عمل محلي أولاً لأتمتة العمليات والعمليات المدعومة بالذكاء الاصطناعي. مفتوح المصدر وقابل للاستضافة الذاتية: ملف ثنائي واحد من دون قاعدة بيانات أو broker خارجي. عرّف الـ DAG بتنسيق YAML تصريحي. يدعم أوامر shell وحاويات Docker ومهام k8s والأوامر البعيدة عبر SSH والمزيد. تبقى السكربتات والأدوات الحالية كما هي، بينما يضيف Dagu الجدولة وإعادة المحاولات والموافقات والسجلات وسجل التشغيل.
مصمم للمطورين الذين يريدون تنسيق سير عمل قوي دون التعقيد التشغيلي.
# runs every night at 02:00schedule: "0 2 * * *"steps:- name: fetch datacommand: python fetch.pyretryPolicy:limit: 3- name: build reportcommand: python report.py- name: notifycommand: ./notify.sh
Trusted by developers at
مستوى التحكم حول عملك الفعلي
يمنح Dagu الفِرَق طبقة التشغيل المفقودة للنصوص البرمجية والأدوات وأدلة التشغيل (runbooks) وسير عمل Agent Harness.
قابلية المراقبة
تتبَّع سير العمل والجداول الزمنية والحالة المباشرة والسجلات وتاريخ التشغيل والمخرجات والمنتجات والموافقات في واجهة الويب.
تنفيذ مستقل عن اللغة
شغِّل أوامر الـ shell وسكربتات Python والحاويات ومهام Kubernetes واستعلامات SQL وطلبات HTTP وأوامر SSH والمزيد.
خادم MCP
دَع الوكلاء المدعومين بـ MCP يفحصون حالة Dagu ويعاينون التغييرات ويحرّرون سير العمل ويتحكمون في عمليات التشغيل.
سير عمل Agent Harness
شغِّل واجهات CLI لوكلاء خارجيين من سير العمل مع الاحتفاظ بالسجلات والموافقات والأسرار وتاريخ التدقيق في Dagu.
إدارة الأسرار
احقِن الأسرار في عمليات تشغيل سير العمل وأخفِ القيم الحساسة في السجلات للمستخدمين والوكلاء وأدوات الدردشة.
التحكم في الأذونات
استخدم RBAC وSSO ومفاتيح API وعناصر التحكم في مساحة العمل وسجلات التدقيق للتحكم في الوصول إلى سير العمل.
ميزات محرك سير عمل على مستوى الإنتاج
ميزات محرك سير العمل المجربة ميدانياً تتيح لك التركيز على القيمة الجوهرية دون القلق بشأن التنسيق.
الأداء
شغّل آلاف تشغيلات workflow يوميًا على جهاز واحد حسب العتاد وشكل workflow ومدة الخطوات وإعدادات الطوابير.
التنفيذ الموزع
استخدم الطوابير وحدود التوازي وworkers موزعين للتحكم في الحمل وتوزيع jobs على عدة أجهزة.
الإشعارات
الجداول المتكررة والتعويض والتنفيذات الدائمة والمهلات وإعادة التشغيل والإشعارات وتوجيه الحوادث إلى المستجيبين.
المصادقة وRBAC
إدارة المستخدمين وRBAC والمساحات والخطوات الموافقة وإدارة الأسرار المدمجة ومفاتيح API والـ webhooks.
الأنماط الشائعة
Workflows للسكربتات الخاصة
حوّل السكربتات الخاصة وCLIs الداخلية وactions القابلة لإعادة الاستخدام والأدوات المثبتة وartifacts إلى workflows يمكن للفرق الأخرى طلبها أو تشغيلها بأمان.
- 1أبق السكربتات والأوامر الموجودة كما هي
- 2اعرض parameters محدودة بدلاً من وصول إنتاج واسع
- 3استدع Dagu Actions بإصدارات ومخرجات typed
- 4احفظ التقارير وlogs كـ artifacts من الدرجة الأولى
tools:
- jqlang/jq@jq-1.7.1
steps:
- id: collect
action: acme/dagu-action-export@v1.4.2
with:
dataset: customers
- id: transform
run: jq '.items[] | {id, email}' ${steps.collect.outputs.path}
stdout:
artifact: reports/customers.json
depends: [collect]
- id: publish
action: outputs.write
with:
values:
report: reports/customers.json
rows: ${steps.collect.outputs.rows}
depends: [transform]
محبوب من المطورين
تعليقات حقيقية من مجتمع Dagu على GitHub.
كنت مؤخرًا أبحث عن بديل لسير عمل الوكلاء الديناميكي (Agent Dynamic Workflow). بدأت من مسار Temporal. إن Temporal قوي، لكن إذا كان كل ما تريده هو ربط الوكلاء والسكربتات ومعالجة البيانات ومهام التشغيل ديناميكيًا، فقد تشعر أحيانًا بأن المنظومة كلها ثقيلة بعض الشيء. ثم عثرت على Dagu وشعرت بأن الاتجاه صحيح. يعمل بملف تنفيذي واحد، وتُكتب سير العمل بلغة YAML، وتُدار كملفات محلية، ومعه واجهة ويب، ولا حاجة لتشغيل قاعدة بيانات أو وسيط إضافي. الإجراءات المدمجة كثيرة أيضًا: shell وDocker وK8s Job وSSH كلها موجودة. والمفاجأة الجميلة كانت harness.run الذي يتيح ربط أدوات CLI الخاصة بوكلاء البرمجة الخارجيين مباشرة في سير العمل. ما يعجبني: أن سير العمل نفسه مجرد ملف، بينما تتكفل المنظومة بالحالة والسجلات وإعادة المحاولة والاعتماديات والواجهة. للفرق الصغيرة والبيئات الخاصة والأتمتة الشخصية وسير عمل الوكلاء، يبدو نهج Dagu المحلي أولًا مريحًا حقًا.
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
مستضاف ذاتياً على بنيتك التحتية الخاصة
Dagu مرخّص بموجب GPLv3 ومجاني دائمًا. تضيف التراخيص المدفوعة SSO وRBAC وسجلات التدقيق وتوجيه الحوادث ودعم الفرق.
- أتمتة ومراقبة سير العمل الكاملة
- واجهة ويب مع تصور DAG
- منفذات Docker وSSH وHTTP
- جدولة cron وإعادة المحاولة
- ما يصل إلى مفتاحي API للأتمتة
3 تراخيص لخوادم Dagu ذاتية الاستضافة
15 ترخيصًا لخوادم Dagu ذاتية الاستضافة
للفرق التي تبني بنية تحتية لسير العمل القائم على الأحداث في بيئات معقدة
- استشارات معمارية للإعداد الموزع
- تنفيذ مخصص
- إرشاد إعداد MCP OIDC/SSO
- دعم الترحيل الأولي
- اجتماعات مخصصة
حلول مخصّصة
بناء ميزات مصمّمة خصيصًا لاحتياجات الشركة المحددة.
حلول جاهزة للاستخدام
إنشاء إعدادات جاهزة للاستخدام تساعد الفِرَق على توسيع Dagu بسهولة دون استهلاك موارد تقنية أو موارد خوادم ضخمة.
أنشئ رخصة self-host تجريبية لمدة 14 يومًا خلال دقائق — 14 يوما, من دون بطاقة ائتمان. ابدأ تجربة الرخصة المجانية
البداية السريعة
ثبّت Dagu باستخدام المُثبّت الإرشادي، ثم أكمل من دليل التثبيت الكامل أو وثائق البداية السريعة.
تثبيت أمر dagu
مثبتات السكربت هي الطريق الموصى به. ما زال Homebrew وnpm وDocker متاحين، لكنها تثبت فقط الملف التنفيذي أو الحاوية.
وصّل أدوات الذكاء الاصطناعي
ثبّت مهارة Dagu لتأليف workflows، أو وصّل عميل MCP بخادم Dagu قيد التشغيل.
تساعد Claude Code وCodex وGemini CLI وأدوات البرمجة بالذكاء الاصطناعي الأخرى على كتابة Dagu YAML.
تتيح للعملاء الداعمين لـ MCP قراءة حالة Dagu ومعاينة التغييرات والتحكم في تشغيلات DAG.
يتوفر وصول MCP المدعوم بـ OIDC/SSO لعمليات النشر المؤسسية. تواصل معنا لمناقشة الإعداد.
الخطوات التالية
يمكن للمُثبّت الإرشادي إكمال إعداد التشغيل الأولي لك.