المشغلات
تحدد المشغلات كيفية بدء سير العمل في ADK Studio. يبدأ كل سير عمل بعقدة Trigger تحدد نقطة الدخول — سواء من إدخال المستخدم، أو HTTP webhook، أو جدول زمني cron، أو حدث خارجي.

أنواع المشغلات
| النوع | الوصف | حالة الاستخدام |
|---|---|---|
| يدوي | يبدأه المستخدم عبر إدخال الدردشة | الوكلاء التفاعليون، الاختبار |
| ويب هوك | نقطة نهاية HTTP (POST/GET) | عمليات تكامل API، مسارات CI/CD |
| جدول زمني | توقيت يعتمد على Cron | تقارير دورية، مزامنة البيانات |
| حدث | أحداث النظام الخارجية | تنسيق الخدمات المصغرة، سير العمل القائم على الأحداث |
المشغلات اليدوية
نوع المشغل الافتراضي. عندما يحتوي سير العمل على مشغل يدوي، يتم عرض إدخال الدردشة مع تسمية وعنصر نائب قابلين للتكوين.
التكوين:
| الخاصية | النوع | القيمة الافتراضية |
|---|---|---|
inputLabel | string | "أدخل رسالتك" |
defaultPrompt | string | "ماذا يمكنك مساعدتي في بنائه باستخدام ADK-Rust اليوم؟" |
يظهر تسمية الإدخال فوق حقل إدخال الدردشة، ويُستخدم الموجه الافتراضي كنص نائب.
مشغلات الويب هوك
اكشف نقطة نهاية HTTP التي تبدأ سير العمل عند استدعائها. مفيدة للدمج مع الخدمات الخارجية، CI/CD pipelines، أو تطبيقات أخرى.
التكوين:
| الخاصية | النوع | الوصف |
|---|---|---|
path | string | مسار URL (على سبيل المثال، /my-webhook) |
method | GET, POST | طريقة HTTP المقبولة |
auth | none, bearer, api_key | متطلب المصادقة |
نقاط النهاية
ينشئ كل مشغل webhook نقطتي نهاية:
| نقطة النهاية | السلوك |
|---|---|
/api/projects/:id/webhook/*path | Async — يعيد معرف الجلسة فورًا |
/api/projects/:id/webhook-exec/*path | Sync — ينتظر اكتمال سير العمل ويعيد النتيجة |
تعمل خطافات الويب (webhooks) من نوع GET أيضًا:
GET /api/projects/:id/webhook/my-path?message=Hello
المصادقة
رمز المالك (Bearer token):
curl -X POST "http://localhost:3000/api/projects/{id}/webhook/my-path" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"message": "Process this"}'
مفتاح API:
curl -X POST "http://localhost:3000/api/projects/{id}/webhook/my-path" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Process this"}'
إشعارات أحداث خطاف الويب
اشترك في أحداث تنفيذ خطاف الويب (webhook) في الوقت الفعلي عبر SSE:
GET /api/projects/:id/webhook-events
يبث هذا التدفق الأحداث عند استلام خطافات الويب (webhooks) ومعالجتها.
مشغلات الجدولة
قم بتشغيل سير العمل (workflows) بجدول زمني متكرر باستخدام تعبيرات cron.
التكوين:
| الخاصية | النوع | الوصف |
|---|---|---|
cron | string | تعبير cron بخمسة حقول |
timezone | string | المنطقة الزمنية لـ IANA (على سبيل المثال، America/New_York) |
defaultPrompt | string? | نص الإدخال المرسل عند تشغيل الجدول الزمني |
صيغة Cron
تعبيرات cron القياسية المكونة من 5 حقول:
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *
أمثلة:
| التعبير | المعنى |
|---|---|
* * * * * | كل دقيقة |
0 9 * * * | يوميًا الساعة 9:00 صباحًا |
0 0 * * 0 | أسبوعيًا يوم الأحد عند منتصف الليل |
0 */6 * * * | كل 6 ساعات |
30 8 * * 1-5 | أيام الأسبوع الساعة 8:30 صباحًا |
تتبع خدمة الجدولة last_executed طوابع زمنية لمنع التشغيل المكرر.
مشغلات الأحداث
ابدأ سير العمل استجابةً لأحداث النظام الخارجية. تتم مطابقة الأحداث بواسطة source و eventType، مع تصفية JSONPath اختيارية على بيانات الحدث.
التكوين:
| خاصية | النوع | الوصف |
|---|---|---|
source | string | معرف مصدر الحدث (على سبيل المثال، payment-service) |
eventType | string | نوع الحدث للمطابقة (على سبيل المثال، payment.completed) |
filter | string? | تعبير JSONPath لتصفية الأحداث |
إرسال الأحداث
curl -X POST "http://localhost:3000/api/projects/{id}/events" \
-H "Content-Type: application/json" \
-d '{
"source": "payment-service",
"eventType": "payment.completed",
"data": {
"orderId": "12345",
"amount": 99.00,
"status": "active"
}
}'
مرشحات JSONPath
قم بتصفية الأحداث بحيث يتم تشغيل سير العمل فقط عند استيفاء شروط محددة:
| تعبير التصفية | يتطابق عندما |
|---|---|
$.data.status == 'active' | حقل الحالة يساوي "active" |
$.data.amount > 100 | المبلغ يتجاوز 100 |
$.data.priority == 'high' | الأولوية هي "high" |
يتم تجاهل الأحداث التي لا تتطابق مع الفلتر بصمت.
زر التشغيل المتكيف مع المشغل
تتكيف واجهة مستخدم Studio بناءً على نوع المشغل النشط:
- يدوي — إدخال دردشة قياسي مع التسمية والعنصر النائب المكونين
- خطاف الويب — يرسل زر التشغيل حمولة خطاف ويب محاكاة
- جدول زمني — يرسل زر التشغيل المطالبة الافتراضية المكونة
- حدث — يرسل زر التشغيل حمولة حدث محاكاة
عندما يتغير سير العمل منذ آخر بناء، يتحول زر الإرسال إلى زر بناء للمطالبة بإعادة الترجمة.
API مرجع
| نقطة النهاية | الطريقة | الوصف |
|---|---|---|
/api/projects/:id/webhook/*path | POST, GET | مشغل الويب هوك غير المتزامن |
/api/projects/:id/webhook-exec/*path | POST | مشغل الويب هوك المتزامن (ينتظر النتيجة) |
/api/projects/:id/webhook-events | GET | SSE تدفق لإشعارات الويب هوك |
/api/projects/:id/events | POST | مشغل الأحداث |
السابق: ← عقد الإجراءات | التالي: إرشادات التطوير →