الأساسيات
مولّد ملاحظات الإصدار
إنشاء ملاحظات إصدار منسقة من علامات git مع تفاصيل طلبات السحب والمشكلات المرتبطة وإسهامات المساهمين.
استخدم مهارة Dagu لإنشاء سير عمل مولّد ملاحظات الإصدار. ارجع إلى مراجع المخطط ووكيل البرمجة والمشاكل المعروفة للحصول على الصياغة الصحيحة. اسأل المستخدم: - أي مستودع؟ (الافتراضي: المستودع الحالي، يتم اكتشافه عبر gh repo view --json nameWithOwner) - أي علامات للمقارنة؟ (الافتراضي: أحدث علامة مقابل العلامة السابقة، يتم اكتشافها تلقائياً) المتطلبات الأساسية: gh CLI مصادق عليه (gh auth login)، وجود واجهة سطر أوامر واحدة على الأقل لوكيل البرمجة بالذكاء الاصطناعي مثبتة. يجب أن يقوم سير العمل بما يلي: 1. حل علامتي git للمقارنة. إذا لم يتم تحديدها، اكتشف تلقائياً أحدث علامة والعلامة السابقة باستخدام GitHub API. أخرجها كـ JSON حتى تتمكن الخطوات اللاحقة من الرجوع إلى الحقول الفردية عبر مسار JSON (مثل ${TAGS.to}). 2. استخراج جميع أرقام طلبات السحب من الالتزامات بين العلامتين باستخدام GitHub compare API مع --jq (لا تستخدم jq CLI). أخرج رقم طلب سحب واحد لكل سطر. 3. لكل طلب سحب، جلب التفاصيل عبر gh api graphql: الرقم، العنوان، اسم المؤلف، ملخص النص (أول ~300 حرف تقريباً)، التصنيفات، و closingIssuesReferences (الرقم، العنوان، اسم المؤلف). بناء مصفوفة JSON من النتائج. - حرج: عند التكرار على مخرجات خطوة سابقة، لا تستخدم "for X in $VAR" — يلتقط Dagu المخرجات متعددة الأسطر في متغير نصي واحد، لذا لا يعمل تقسيم الكلمات. بدلاً من ذلك، اقرأ ملف stdout للخطوة السابقة سطراً بسطر: `while IFS= read -r line; do ... done < "${prev_step.stdout}"`. أزل الأحرف غير الرقمية من كل سطر باستخدام `tr -dc '0-9'` قبل تمريره إلى استعلام GraphQL. - يستخدم نص استعلام gh GraphQL أسماء متغيرات بادئة $ ($owner، $name، $num). هذه آمنة في سكريبتات Dagu لأن Dagu يوسع فقط المتغيرات ${بين أقواس} وأنماط $varname العارية التي تطابق متغيرات Dagu المعرفة — الأسماء العارية $ غير المعرفة تُحفظ كما هي للصدفة. ومع ذلك، مرر متغيرات الأعداد الصحيحة إلى -F بدون علامات اقتباس (مثل -F num=$NUM وليس -F num="$NUM") حتى يرسلها gh كأعداد صحيحة وليس نصوصاً. 4. استخدم خطوة وكيل ذكاء اصطناعي واحدة (اكتشف تلقائياً أي واجهة سطر أوامر متاحة، استخدم أرخص نموذج) لتصنيف كل طلب سحب وتنسيق ملاحظات الإصدار النهائية. زوّده بتفاصيل طلبات السحب JSON وقالب سجل التغييرات والسياق (المستودع، العلامات، التاريخ، مالك المستودع لاستبعاده من المساهمين). 5. حفظ المخرجات في DAG_DOCS_DIR. 6. استخدم defaults.retry_policy و timeout_sec: 300 على خطوة وكيل الذكاء الاصطناعي. يجب تعريف قالب تنسيق سجل التغييرات كمتغير بيئة على المستوى الأعلى باستخدام YAML متعدد الأسطر (|) حتى يتمكن المستخدمون من تخصيص المخرجات دون تعديل منطق الخطوة.
البدء
1. تثبيت Dagu
curl -L https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.sh | bash2. تثبيت مهارة Dagu
claude mcp add dagu -- dagu mcp3. تشغيل Dagu
dagu start-allلمزيد من التفاصيل، راجع دليل البدء السريع