arc/docs/AI_WORKFLOW_AUTOMATION_PHASES.md

72 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# اتوماسیون workflow از چت AI — فازهای اجرایی
## اصل طراحی
- **منبع حقیقت:** `TriggerRegistry`, `ActionRegistry`, `WorkflowBuiltinNodeRegistry`
- تریگر/اکشن جدید با `register()` در workflow — **بدون تغییر کد AI**
- پرامپت فقط به ابزارهای کاتالوگ ارجاع می‌دهد، نه لیست ثابت
## فاز ۱ — کشف پویا (پیاده‌سازی شده)
| Tool | نقش |
|------|-----|
| `list_workflow_trigger_catalog` | لیست تریگرها از رجیستری |
| `list_workflow_action_catalog` | لیست اکشن‌ها |
| `list_workflow_builtin_nodes` | condition / loop |
| `get_workflow_component_schema` | schema کامل یک جزء |
| `get_workflow_design_rules` | قوانین گراف |
فایل‌ها: `ai_workflow_catalog_service.py`, `workflow_builtin_node_registry.py`
## فاز ۲ — طراحی و ذخیره (پیاده‌سازی شده)
| Tool | نقش |
|------|-----|
| `validate_workflow_draft` | همان `validate_workflow_data` |
| `create_workflow` | ایجاد (پیش‌نویس) + تأیید کاربر |
| `update_workflow` | ویرایش / فعال‌سازی + تأیید |
| `delete_workflow` | حذف + تأیید |
| `get_workflow` | دریافت گراف کامل |
فایل: `ai_workflow_service.py`
## فاز ۳ — تست و دیباگ از چت (پیاده‌سازی شده)
| Tool | نقش |
|------|-----|
| `test_workflow` | dry_run حتی برای پیش‌نویس (مستقیم engine) |
| `get_workflow_execution_debug` | لاگ و خطاهای نود |
| `execute_workflow` | اجرای واقعی (موجود، workflow فعال) |
## فاز ۴ — بهبودها (پیاده‌سازی شده)
| قابلیت | توضیح |
|--------|--------|
| `test_workflow` + `workflow_data` | تست روی sandbox `[AI] پیش‌نمایش آزمایشی` بدون تغییر اتوماسیون کاربر |
| `wait_for_completion` | poll داخلی تا پایان اجرا + `debug` و `summary` در یک پاسخ |
| `poll_workflow_execution` | polling دستی لاگ (`after_log_id`) |
| `editor_path` | در create/update/get/test برای ارجاع به ادیتور |
| `ai_workflow_agent_policy` | denylist پیش‌فرض ابزار workflow در نود `ai_agent` |
فایل‌ها: `ai_workflow_agent_policy.py`، به‌روزرسانی `ai_workflow_service.py`, `ai_agent_action.py`
## فاز ۵ — UX چت و ادیتور (پیاده‌سازی شده)
| قابلیت | توضیح |
|--------|--------|
| دکمه در چت | `AIWorkflowChatActions` — «باز کردن در ادیتور» / «مشاهده پیش‌نمایش» |
| لینک در markdown | کلیک روی `workflows/{id}/edit` در متن پاسخ |
| مخفی‌سازی sandbox | `[AI] پیش‌نمایش آزمایشی` در لیست اتوماسیون‌ها نمایش داده نمی‌شود |
| بنر در ادیتور | هنگام باز کردن sandbox، بنر توضیح پیش‌نمایش AI |
**آیا کاربر همان صفحهٔ ادیتور را می‌بیند؟** بله — `WorkflowVisualEditorPage` همان UI است؛ تفاوت فقط در `workflow_id` و دادهٔ گراف (sandbox vs اتوماسیون واقعی پس از `create_workflow`).
## جریان گفتگوی پیشنهادی
1. `get_workflow_design_rules`
2. `list_workflow_trigger_catalog` + انتخاب تریگر
3. `get_workflow_component_schema` برای تریگر و هر اکشن
4. ساخت `workflow_data` → `validate_workflow_draft`
5. `create_workflow` (پیش‌نویس)
6. `test_workflow` → `get_workflow_execution_debug`
7. پس از تأیید: `update_workflow` با `status=فعال`