Preskoči na vsebino

Orkestracija Site Builder v2

Orkestracija Site Builder v2 (uvedena v Gratis AI Agent v1.4.0) je pogon, ki omogoča večstopenjsko ustvarjanje spletnih mest. Ko agenta prosite, naj »zgradi spletno mesto za restavracijo« ali »ustvari portfelj z blogom«, orkestrator razdeli ta cilj na visoki ravni v strukturiran načrt, odkrije plugine, potrebne za njegovo izpolnitev, izvede vsak korak zaporedoma, spremlja napredek in se samostojno obnovi po napakah.


Kako deluje​

1. Ustvarjanje načrta​

Ko agent prejme navodilo za gradnjo spletnega mesta, pokliče zmožnost create_site_plan, da ustvari JSON načrt spletnega mesta. Načrt opisuje:

  • Cilj — kaj naj končano spletno mesto počne
  • Faze — urejene skupine korakov (npr. Nastavitev, Vrste vsebine, Oblikovanje, Vsebina)
  • Koraki — posamezni klici zmožnosti znotraj vsake faze
  • Zahteve za plugine — plugini, ki morajo biti aktivni, da se lahko določeni koraki izvedejo
  • Nadomestni koraki — alternativni koraki, če primarni korak ne uspe

Primer načrta (skrajšan)

{
"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. Odkrivanje pluginov​

Pred začetkom izvedbe orkestrator pregleda plugin_requirements načrta in preveri, kateri plugini so že aktivni. Za manjkajoče plugine:

  1. Preišče register prek recommend_plugin za najboljše ujemanje
  2. Pozove agenta, da potrdi priporočilo
  3. Sproži namestitev, če je odobrena (ali če je v nastavitvah omogočena samodejna namestitev)

Neuspehi pri odkrivanju pluginov niso usodni — orkestrator označi prizadete korake kot skipped in nadaljuje z ostankom načrta.

3. Izvedba načrta​

Orkestrator pokliče execute_site_plan z ID-jem načrta. Izvedba poteka po fazah, korak za korakom:

  • Sklici na korake (predpona __ref:) — koraki se lahko sklicujejo na izhode iz prejšnjih korakov. V zgornjem primeru se __ref:create_menu.menu_id razreši v menu_id, ki ga vrne korak create_menu.
  • Vzporedni koraki — koraki znotraj iste faze, ki nimajo medsebojnih odvisnosti, se ob nastavljeni zastavici parallel pošljejo sočasno.
  • Časovna omejitev koraka — vsak korak ima posamezno časovno omejitev (privzeto: nastavitev Ability Timeout). Korak, ki preseže časovno omejitev, je označen kot failed in načrt se nadaljuje.

4. Spremljanje napredka​

Kadar koli pokličite get_plan_progress, da preverite stanje izvedbe:

{
"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
}

Uporabniki WP-CLI lahko spremljajo napredek z:

wp gratis-ai-agent plan status plan_restaurant_001

5. Obnova po napakah​

Ko korak ne uspe, orkestrator preveri, ali je v načrtu definiran nadomestni korak:

  • Nadomestni korak je na voljo — nadomestni korak se poskusi takoj. Če uspe, se izvedba nadaljuje. Če tudi ta ne uspe, je korak označen kot failed in izvedba se nadaljuje z naslednjim korakom.
  • Brez nadomestnega koraka — korak je označen kot failed. Nekritični koraki se preskočijo; kritični koraki (označeni z required: true) ustavijo trenutno fazo in sprožijo poskus obnove na ravni faze.

Agent v končnem povzetku načrta poroča o vseh neuspehih in lahko predlaga ročne korake za odpravo nepopravljivih napak.


Zmožnosti načrta spletnega mesta​

create_site_plan​

Ustvari strukturiran načrt spletnega mesta iz opisa cilja v naravnem jeziku.

Parametri

ParameterTypeRequiredDescription
goalstringYesOpis želenega spletnega mesta v naravnem jeziku
stylestringNoPrednostni vizualni slog: minimal, bold, professional, playful. Privzeto: agent izbere glede na cilj
pluginsarrayNoSlugi pluginov, ki jih je treba vključiti v načrt. Orkestrator samodejno doda zahtevane plugine.
dry_runbooleanNoČe je true, vrne JSON načrta brez shranjevanja ali izvedbe. Privzeto false

Vrne { "plan_id": "plan_restaurant_001", "phases": 4, "steps": 14, "plugin_requirements": 1 }


execute_site_plan​

Začne izvajati predhodno ustvarjen načrt spletnega mesta.

Parametri

ParameterVrstaObveznoOpis
plan_idstringDaID načrta za izvedbo
auto_install_pluginsbooleanNeČe je true, samodejno namesti zahtevane vtičnike brez potrditve. Privzeto false
max_retriesintegerNeŠtevilo ponovitev neuspešnega koraka pred nadaljevanjem. Privzeto 1

Vrne { "execution_id": "exec_001", "status": "started" }


get_plan_progress​

Vrne trenutno stanje izvajanja načrta spletnega mesta.

Parametri

ParameterVrstaObveznoOpis
plan_idstringDaID načrta za poizvedbo

Vrne objekt napredka, opisan zgoraj v Sledenje napredku.


handle_plan_error​

Ročno razreši neuspešen korak in nadaljuje izvajanje načrta od naslednjega koraka. Uporabite to, ko samodejna obnovitev ni bila mogoča in želite posredovati.

Parametri

ParameterVrstaObveznoOpis
plan_idstringDaID načrta
step_idstringDaID neuspešnega koraka
resolutionstringDaEna od vrednosti skip (preskoči in nadaljuj), retry (takoj znova poskusi korak) ali mark_done (obravnavaj kot uspešno brez ponovnega zagona)

Vrne { "success": true, "plan_id": "plan_restaurant_001", "resumed_from": "add_menu_item" }


Primerjava v1 in v2​

Funkcijav1v2
Večfazni načrtiNeDa
Sklici na izhod koraka (__ref:)NeDa
Odkrivanje vtičnikovRočnoSamodejno
API za sledenje napredkuNeDa
Obnovitev po napakiNeuspeh in ustavitevRezervna možnost + nadaljevanje
Vzporedno izvajanje korakovNeDa (izbirno po fazi)
Ukazi WP-CLI za načrteNeDa
Integracija benchmarkaNeDa (q-restaurant-website)

Ukazi WP-CLI za načrte​

wp gratis-ai-agent plan create​

Ustvari načrt spletnega mesta iz opisa cilja.

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​

Izvede predhodno ustvarjen načrt.

wp gratis-ai-agent plan execute plan_restaurant_001 [--auto-install-plugins]

wp gratis-ai-agent plan status​

Prikaže trenutni napredek za načrt, ki se izvaja ali je dokončan.

wp gratis-ai-agent plan status plan_restaurant_001

wp gratis-ai-agent plan list​

Navede vse načrte spletnih mest (čakajoče, v teku in dokončane).

wp gratis-ai-agent plan list [--status=<status>] [--format=table|json|csv]

wp gratis-ai-agent plan reset​

Ponastavi neuspešen načrt na pending, da ga je mogoče znova izvesti od začetka.

wp gratis-ai-agent plan reset plan_restaurant_001