نقطة الانطلاق
تسعة أنواع من نقاط التفتيش، تعابير مشروطة، تفتيش متغير، ومحررات حيّة - حتى التشغيل الآلي الخاص بك لم يعد صندوقا أسود.
حيلة (برايدرون) هي حاصل تفاعلي على نقطة انفصال، وضع نقطة انفصال على أي خطوة، وفحص المتغيرات عندما تتوقف، تحرير وتستمر، أو خطوة واحدة للأمام في كل مرة. التجربة تطابق شفرة عادية.
قم بتشغيل تصحيح الأخطاء
حدد المربع في نافذة "التنفيذ" المنبثقة:
- تفعيل Debug — قم بتشغيل وضع التصحيح واعرض لوحة التصحيح في صفحة تفاصيل التنفيذ.
- الدخول مربوطة — توقف تلقائيًا قبل الخطوة الأولى
- الوقف على الاستثناء — الوقف الآلي إذا فشلت أي خطوة
- الاستعراض الأولي — الزر "الركض" في أسفل المجهول فقط يصادق على خطة تنفيذ بدون تشغيلها
مع التقيّد على المستوى الأعلى، يتمّ تسلسل الاتّفاق حتى تتمكن من تجاوز الأمور. فقط أطفئي الغطس عندما تذهبين للعيش الخائن متوفر من الخطة.
9 أنواع من نقاط التفتيش
| نوع نقطة التوقف | نقطة الزناد |
|---|---|
before_step | قبل البدء بالخطوات |
after_step | بعد الانتهاء من الخطوة بنجاح |
step_error | عندما تلقي الخطوة خطأ |
state_machine_state | state_machine عند دخول دولة معينة |
group_chat_round | group_chat قبل كل جولة |
iteration_item | iterate_over قبل كل تكرار |
agent_based_delegation | agent_based قبل تفويض المهام الفرعية |
sub_workflow_entry | sub_workflow قبل الدخول إلى تدفق عمل فرعي (مبالغة على خطوة الوالدين) |
sub_workflow_exit | sub_workflow بعد عودة تدفق العمل الفرعي وتُكتب نواتجه إلى سياق الوالدين |
ولكل نقطة انفصال أيضا بضعة ميادين اختيارية:
stepName— اضرب فقط الخطوة المحددة (المراعية للحالة)؛ واترك فارغاً لضرب كل موقع من هذا النوعcondition— التعبير المشروط الذي لا ينكسر إلا عندما يكون راضياً، مع نفس الضريبة كشرط لسير العملonce— غير قابل للتصرف بعد الضرب مرة
تدفقات العمل الفرعية
وتنطبق نقاط التفكيك على جميع المستويات عن طريق التقصير: كما أن نقطة انفصال في تدفق عمل للوالدين تشتعل عندما يصل تدفق العمل الفرعي إلى خطوة من نفس الاسم.sub_workflow_entry / sub_workflow_exit وينطوي هذان النوعان من نقاط التفتيش على الخطوة الوالدية، التي تمهد قبل الدخول إلى تدفق العمل الفرعي وبعد عودتها، على التوالي، لتيسير فحص المدخلات التي تم إقرارها والنواتج المكتوبة.
عندما يُعاد استخدام نفس تدفق العمل الفرعي (مثلاً، وحدة السوق) بخطوات أبوية متعددة، محرك الأقراص يسمح لك بإضافة parentPath يُطلق النار فقط عندما يُسمّى تدفق العمل الفرعي عن طريق الخطوة الأبوية المحددة،.
The debug panel
كل ضوابط الديبوج تعيش في لوحة الديبوج على صفحة تفاصيل تنفيذ ليس هناك نافذة منفصلة للديبوجر
- الرقابة التنفيذية:أزرار / خطية، مع وجود موقع التوقف الحالي على الهواء مباشرة في القمة
- المشاهدة السياقية:المتغيرات، والنواتج المرحلية، وملخصات النتائج التدريجية
- تاريخ Snapshot:يُحتفظ تلقائياً في كل نقطة تفتيش (حتى آخر 50 نقطة)؛ ويُسحب الجدول الزمني للنظر إلى المتغيرات عند أي وقفة ويفتح باباً للمقارنة قبل وبعد ذلك
- التحرير المتغير:انقر نقرًا مزدوجًا فوق قيمة المتغير لتعديلها أثناء الإيقاف المؤقت
- تصور DAG:عرض علامات التوقف وإيقاف التمييز مؤقتًا مباشرةً على مخطط DAG
- دفق السجل:لوحة السجل ذات النمط الطرفي في أسفل صفحة تفاصيل التنفيذ
Controlling debugging via REST
خلف اللوحة هي مجموعة من نقاط النهاية التي يمكنك الاتصال بها مباشرة عندما تكتب تشخيصاً (نفس الواجهة التي يستخدمها الفريق):
| نقطة النهاية | الغرض |
|---|---|
GET /debug/state | حالة التصحيح: ما إذا كان متوقفا، وقائمة نقاط التفتيش، ونقطة التوقف الحالية |
GET /debug/context | المتغيرات الحالية والنواتج المرحلية وموجز النتائج |
POST /debug/pause | طلب وقف، مع بدء النفاذ في نقطة التفتيش التالية |
POST /debug/continue | إستمرّْ، يَرْكضُ إلى نقطةِ الإختراق القادمةِ |
POST /debug/step | الخطوة: التقدم فقط إلى نقطة التفتيش التالية |
PUT /debug/breakpoints | يستعاض عن نقطة التفكك بكاملها (التي يمكن تغييرها في أي وقت أثناء الهروب) |
PUT /debug/break-on-error | تهز "الاستثناء" أثناء الهروب |
GET /debug/snapshots | تاريخ (سنابشوت) أو جلب واحد فقط حسب الرقم القياسي |
POST /debug/variables | تعديل المتغيرات مع وقفها |
المفترس /api/executions/{executionId}على سبيل المثال:
# 给 fetch_data 步骤加断点,再加一个"出错即停"的一次性断点
curl -X PUT https://braidrun.com/api/executions/<execution-id>/debug/breakpoints \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"breakpoints": [
{"point": "before_step", "stepName": "fetch_data"},
{"point": "step_error", "once": true}
]
}'
# 暂停 / 单步 / 继续
curl -X POST https://braidrun.com/api/executions/<execution-id>/debug/pause \
-H "Authorization: Bearer <token>"
curl -X POST https://braidrun.com/api/executions/<execution-id>/debug/step \
-H "Authorization: Bearer <token>"
curl -X POST https://braidrun.com/api/executions/<execution-id>/debug/continue \
-H "Authorization: Bearer <token>"غيّر متغيراً بينما كان متوقفاً، ثم أكمل
سيناريو نموذجي: خطوة فوق المجرى حاسبت بارامتر خاطئ بشكل واضح؛ بمجرد توقف نقطة الإنفصال، تصلح المتغير بشكل مباشر، نقر "كونتينو"، والخطوات التالية لها قيمة جديدة، وحفظ عملية إعادة تشغيل كاملة. In the panel, double-click a changing value to edit it; via REST use POST /debug/variablesوالمبيدات مقبولة فقط بينما تنفيذ متوقف.
# 暂停态下把变量改对,然后 continue
curl -X POST https://braidrun.com/api/executions/<execution-id>/debug/variables \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"variables": {"target_country": "US"}}'إعادة من الخطوة المختارة
بمجرد أن يصل تنفيذ إلى دولة طرفية (مكتملة أو فاشلة أو ملغية)، يمكنك العودة من خطوة معينة: نقر "إعادة من هذه الخطوة" في الجدول الزمني للتنفيذ أو فريق التفاصيل. نتائج الخطوات قبل أن يتم إبقاء نقطة إعادة التشغيل كما هو، الخطوات المنجزة LLM لا ندعو النموذج مرة أخرى،.
- نقطة الاعادة يجب أن تكون خطوة في هذا التنفيذ فعلاً إعادة التشغيل من الخطوة الأولى
- لا يمكنك إعادة التشغيل بينما لا يزال تنفيذ جارياً ألغيه أو أنتظره
- ريست:
POST /api/executions/{executionId}/restart-from-step; ترك زوجة الأب فارغة في الجسم يعني إعادة تشغيل كاملة من البداية
إن تشخيص نقاط التفريغ + متغيرات التحرير + إعادة التشغيل من الخطوة الفاشلة، المستخدمة معا، هو الطريق الموفر للتكاليف لإلغاء تدفقات العمل الطويلة: إبقاء نتائج العشرات الأولى من الخطوات والدفع فقط للجزء الذي فشل.
القيود الحالية
- توقف مؤقتًا بشكل أساسي عند حدود الخطوات والنقاط الرئيسية للعقدة المركبة
- لا يتعطل داخل دفق الأداة/الرمز المميز
- سيتم إجراء تسلسل لتزامن المستوى الأعلى عند تمكين تصحيح الأخطاء
الخطوة التالية
- Scheduling — قم بتوصيل سير العمل الذي تم تصحيحه بـ cron / webhook
- عطر السيارات — بعد تصحيح الأخطاء، حدد الخطوات التي تعتبر غير فعالة