საიტის შემქმნელის ორკესტრაცია v2
საიტის შემქმნელის ორკესტრაცია v2 (წარდგენილია Gratis AI Agent v1.4.0-ში) არის ძრავა, რომელიც მრავალსაფეხურიან ვებსაიტის შექმნას უზრუნველყოფს. როდესაც აგენტს სთხოვთ „ააგე რესტორნის ვებსაიტი“ ან „შექმენი პორტფოლიო ბლოგით“, ორკესტრატორი ამ მაღალი დონის მიზანს სტრუქტურირებულ გეგმად შლის, აღმოაჩენს მის შესასრულებლად საჭირო plugin-ებს, თითოეულ ნაბიჯს მიმდევრობით ასრულებს, პროგრესს აკონტროლებს და შეცდომებიდან ავტონომიურად აღდგება.
როგორ მუშაობს
1. გეგმის გენერირება
როდესაც აგენტი საიტის შექმნის ინსტრუქციას იღებს, ის იძახებს create_site_plan შესაძლებლობას JSON საიტის გეგმის შესაქმნელად. გეგმა აღწერს:
- მიზანი — რა უნდა გააკეთოს დასრულებულმა საიტმა
- ფაზები — ნაბიჯების მოწესრიგებული ჯგუფები (მაგ. გამართვა, კონტენტის ტიპები, დიზაინი, კონტენტი)
- ნაბიჯები — ინდივიდუალური შესაძლებლობის გამოძახებები თითოეულ ფაზაში
- Plugin-ის მოთხოვნები — plugin-ები, რომლებიც გარკვეული ნაბიჯების გასაშვებად აქტიური უნდა იყოს
- სარეზერვო ვარიანტები — ალტერნატიული ნაბიჯები, თუ ძირითადი ნაბიჯი ვერ შესრულდა
გეგმის მაგალითი (შემოკლებული)
{
"plan_id": "plan_restaurant_001",
"goal": "Build a restaurant website with an online menu, booking form, and contact page",
"phases": [
{
"id": "setup",
"label": "Setup",
"steps": [
{ "ability": "install_ability", "params": { "slug": "gratis-ai-agent-woocommerce" } },
{ "ability": "register_post_type", "params": { "slug": "menu-item", "singular_label": "Menu Item", "plural_label": "Menu Items" } },
{ "ability": "register_taxonomy", "params": { "slug": "menu-section", "singular_label": "Menu Section", "plural_label": "Menu Sections", "post_types": ["menu-item"] } }
]
},
{
"id": "design",
"label": "Design",
"steps": [
{ "ability": "apply_theme_json_preset", "params": { "preset": "warm-editorial" } },
{ "ability": "inject_custom_css", "params": { "css": ".menu-item { border-radius: 8px; }", "label": "restaurant-ui" } }
]
},
{
"id": "navigation",
"label": "Navigation",
"steps": [
{ "ability": "create_menu", "params": { "name": "Primary Navigation", "location": "primary" } },
{ "ability": "add_menu_item", "params": { "menu_id": "__ref:create_menu.menu_id", "type": "custom", "title": "Menu", "url": "/menu-items/" } },
{ "ability": "add_menu_item", "params": { "menu_id": "__ref:create_menu.menu_id", "type": "custom", "title": "Book a Table", "url": "/book/" } }
]
}
],
"plugin_requirements": [
{ "slug": "contact-form-7", "reason": "Required for the booking and contact forms" }
]
}
2. Plugin-ების აღმოჩენა
შესრულების დაწყებამდე, ორკესტრატორი ამოწმებს გეგმის plugin_requirements-ს და ადგენს, რომელი plugin-ებია უკვე აქტიური. გამოტოვებული plugin-ებისთვის ის:
- ეძებს რეესტრში
recommend_plugin-ის მეშვეობით საუკეთესო დამთხვევას - აგენტს სთხოვს რეკომენდაციის დადასტურებას
- იწვევს ინსტალაციას, თუ დამტკიცდა (ან თუ პარამეტრებში ავტოინსტალაცია ჩართულია)
Plugin-ების აღმოჩენის წარუმატებლობა ფატალური არ არის — ორკესტრატორი დაზიანებულ ნაბიჯებს აღნიშნავს როგორც skipped და გეგმის დანარჩენი ნაწილით აგრძელებს.
3. გეგმის შესრულება
ორკესტრატორი გეგმის ID-ით იძახებს execute_site_plan-ს. შესრულება მიმდინარეობს ფაზიდან ფაზამდე, ნაბიჯიდან ნაბიჯამდე:
- ნაბიჯების მითითებები (
__ref:პრეფიქსი) — ნაბიჯებს შეუძლიათ წინა ნაბიჯების შედეგებზე მითითება. ზემოთ მოცემულ მაგალითში,__ref:create_menu.menu_idგადაიჭრება როგორცmenu_id, რომელიცcreate_menuნაბიჯმა დააბრუნა. - პარალელური ნაბიჯები — იმავე ფაზაში არსებული ნაბიჯები, რომლებსაც ერთმანეთზე დამოკიდებულებები არ აქვთ, ერთდროულად იგზავნება, როდესაც
parallelალამი დაყენებულია. - ნაბიჯის დროის ლიმიტი — თითოეულ ნაბიჯს ინდივიდუალური დროის ლიმიტი აქვს (ნაგულისხმევად:
Ability Timeoutპარამეტრი). დროის ლიმიტით შეწყვეტილი ნაბიჯი აღინიშნება როგორცfailedდა გეგმა გრძელდება.
4. პროგრესის თვალყურის დევნება
შესრულების სტატუსის შესამოწმებლად ნებისმიერ დროს გამოიძახეთ get_plan_progress:
{
"plan_id": "plan_restaurant_001",
"status": "in_progress",
"phases_total": 4,
"phases_complete": 2,
"steps_total": 14,
"steps_complete": 8,
"steps_failed": 1,
"steps_skipped": 0,
"current_step": "add_menu_item",
"elapsed_seconds": 42
}
WP-CLI მომხმარებლებს პროგრესის მონიტორინგი შეუძლიათ შემდეგით:
wp gratis-ai-agent plan status plan_restaurant_001
5. შეცდომების აღდგენა
როდესაც ნაბიჯი ვერ სრულდება, ორკესტრა ტორი ამოწმებს, განსაზღვრულია თუ არა გეგმაში სარეზერვო ნაბიჯი:
- სარეზერვო ვარიანტი ხელმისაწვდომია — სარეზერვო ნაბიჯი დაუყოვნებლივ სცდება. თუ წარმატებით შესრულდა, შესრულება გრძელდება. თუ ისიც ვერ შესრულდა, ნაბიჯი აღინიშნება როგორც
failedდა შესრულება შემდეგ ნაბიჯზე გადადის. - სარეზერვო ვარიანტი არ არის — ნაბიჯი აღინიშნება როგორც
failed. არაკრიტიკული ნაბიჯები გამოტოვებულია; კრიტიკული ნაბიჯები (მონიშნულიrequired: true-ით) აჩერებს მიმდინარე ფაზას და იწვევს ფაზის დონის აღდგენის მცდელობას.
აგენტი საბოლოო გეგმის შეჯამებაში ყველა წარუმატებლობას აცნობებს და გამოუსწორებელი შეცდომებისთვის შეიძლება ხელით გამოსწორების ნაბიჯები შემოგთავაზოთ.
საიტის გეგმის შესაძლებლობები
create_site_plan
ბუნებრივი ენის მიზნის აღწერიდან აგენერირებს სტრუქტურირებულ საიტის გეგმას.
პარამეტრები
| Parameter | Type | Required | Description |
|---|---|---|---|
goal | string | Yes | სასურველი ვებსაიტის ბუნებრივი ენის აღწერა |
style | string | No | ვიზუალური სტილის უპირატესობა: minimal, bold, professional, playful. ნაგულისხმევად: აგენტი მიზნის მიხედვით ირჩევს |
plugins | array | No | გეგმაში შესატანი plugin-ის slug-ები. ორკესტრატორი საჭირო plugin-ებს ავტომატურად ამატებს. |
dry_run | boolean | No | თუ true, აბრუნებს გეგმის JSON-ს მისი შენახვის ან შესრულების გარეშე. ნაგულისხმევი false |
ა ბრუნებს { "plan_id": "plan_restaurant_001", "phases": 4, "steps": 14, "plugin_requirements": 1 }
execute_site_plan
იწყებს ადრე გენერირებული საიტის გეგმის შესრულებას.
პარამეტრები
| Parameter | Type | Required | Description |
|---|---|---|---|
plan_id | string | Yes | შესასრულებელი გეგმის ID |
auto_install_plugins | boolean | No | თუ true არის, საჭირო plugin-ებს ავტომატურად აყენებს დადასტურების გარეშე. ნაგულისხმევი false |
max_retries | integer | No | წარუმატებელი ნაბიჯის ხელახლა ცდის რაოდენობა გაგრძელებამდე. ნაგულისხმევი 1 |
აბრუნებს { "execution_id": "exec_001", "status": "started" }
get_plan_progress
აბრუნებს საიტის გეგმის მ იმდინარე შესრულების სტატუსს.
პარამეტრები
| Parameter | Type | Required | Description |
|---|---|---|---|
plan_id | string | Yes | გამოსაკითხი გეგმის ID |
აბრუნებს ზემოთ, პროგრესის თვალყურის დევნებაში აღწერილ პროგრესის ობიექტს.
handle_plan_error
ხელით აგვარებს წარუმატებელ ნაბიჯს და გეგმის შესრულებას შემდეგი ნაბიჯიდან განაახლებს. გამოიყენეთ ეს, როდესაც ავტომატური აღდგენა შესაძლებელი არ იყო და ჩარევა გსურთ.
პარამეტრები
| Parameter | Type | Required | Description |
|---|---|---|---|
plan_id | string | Yes | გეგმის ID |
step_id | string | Yes | წარუმატებელი ნაბიჯის ID |
resolution | string | Yes | ერთ-ერთი: skip (გამოტოვება და გაგრძელება), retry (ნაბიჯის დაუყოვნებლივ ხელახლა ცდა), ან mark_done (წარმატებულად ჩათვლა ხელახლა გაშვების გარეშე) |
აბრუნებს { "success": true, "plan_id": "plan_restaurant_001", "resumed_from": "add_menu_item" }
v1-ისა და v2-ის შედარება
| ფუნქცია | v1 | v2 |
|---|---|---|
| მრავალფაზიანი გეგმები | არა | კი |
ნაბიჯის შედეგის მითითებები (__ref:) | არა | კი |
| Plugin-ის აღმოჩენა | ხელით | ავტომატურად |
| პროგრესის თვალყურის დევნების API | არა | კი |
| შეცდომის აღდგენა | წარუმატებლობა და შეჩერება | ალტერნატიული გზა + გაგრძელება |
| პარალელური ნაბიჯების შესრულება | არა | კი (თითოეულ ფაზაზე ჩართვით) |
| WP-CLI გეგმის ბრძანებები | არა | კი |
| ბენჩმარკის ი ნტეგრაცია | არა | კი (q-restaurant-website) |
WP-CLI გეგმის ბრძანებები
wp gratis-ai-agent plan create
მიზნის აღწერიდან ქმნის საიტის გეგმას.
wp gratis-ai-agent plan create "Build a restaurant website with an online menu, booking form, and contact page" [--dry-run] [--output=json]
wp gratis-ai-agent plan execute
ასრულებს ადრე გენერირებულ გეგმას.
wp gratis-ai-agent plan execute plan_restaurant_001 [--auto-install-plugins]
wp gratis-ai-agent plan status
აჩვენებს მიმდინარე პროგრესს შესრულებადი ან დასრულებული გეგმისთვის.
wp gratis-ai-agent plan status plan_restaurant_001
wp gratis-ai-agent plan list
ჩამოთვლის ყველა საიტის გეგმას (მომლოდინე, მიმდინარე და დასრულებული).
wp gratis-ai-agent plan list [--status=<status>] [--format=table|json|csv]
wp gratis-ai-agent plan reset
წარუმატებელ გეგმას აბრუნებს pending მდგომარეობაში, რათა ის თავიდან შესრულდეს.
wp gratis-ai-agent plan reset plan_restaurant_001