Zum Hauptinhalt springen

Site Builder Orchestration v2

Site Builder Orchestration v2 (eingeführt in Gratis AI Agent v1.4.0) ist die Engine, die die mehrstufige Website-Erstellung antreibt. Wenn Sie dem Agenten beispielsweise sagen „Baue eine Restaurant-Website“ oder „Erstelle ein Portfolio mit Blog“, zerlegt der Orchestrator dieses übergeordnete Ziel in einen strukturierten Plan, findet die benötigten Plugins, führt jeden Schritt nacheinander aus, verfolgt den Fortschritt und kann Fehler autonom beheben.


Wie es funktioniert

1. Plan-Generierung

Wenn der Agent eine Anweisung zur Website-Erstellung erhält, ruft er die Fähigkeit create_site_plan auf, um einen JSON Site Plan zu erstellen. Der Plan beschreibt:

  • Goal — was die fertige Website leisten soll
  • Phases — geordnete Gruppen von Schritten (z. B. Setup, Content Types, Design, Content)
  • Steps — einzelne Ability-Aufrufe innerhalb jeder Phase
  • Plugin requirements — Plugins, die aktiv sein müssen, damit bestimmte Schritte ausgeführt werden können
  • Fallbacks — alternative Schritte, falls ein primärer Schritt fehlschlägt

Beispielplan (gekürzt)

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

Bevor mit der Ausführung begonnen wird, scannt der Orchestrator die plugin_requirements des Plans und prüft, welche Plugins bereits aktiv sind. Bei fehlenden Plugins:

  1. Durchsucht das Register über recommend_plugin, um die beste Übereinstimmung zu finden
  2. Bittet den Agenten um Bestätigung der Empfehlung
  3. Löst die Installation aus, falls zugestimmt wird (oder wenn die automatische Installation in den Einstellungen aktiviert ist)

Fehler bei der Plugin-Erkennung sind nicht kritisch – der Orchestrator markiert die betroffenen Schritte als skipped und fährt mit dem Rest des Plans fort.

3. Plan Execution

Der Orchestrator ruft execute_site_plan mit der Plan-ID auf. Die Ausführung erfolgt Phase für Phase, Schritt für Schritt:

  • Step references (__ref: Präfix) — Schritte können auf die Ergebnisse vorheriger Schritte verweisen. Im obigen Beispiel wird __ref:create_menu.menu_id mit der menu_id aufgelöst, die vom Schritt create_menu zurückgegeben wird.
  • Parallel steps — Schritte innerhalb derselben Phase, die keine Abhängigkeiten voneinander haben, werden gleichzeitig ausgeführt, wenn das Flag parallel gesetzt ist.
  • Step timeout — Jeder Schritt hat einen eigenen Timeout (Standard: die Einstellung Ability Timeout). Ein abgelaufener Schritt wird als failed markiert und der Plan wird fortgesetzt.

4. Progress Tracking

Rufen Sie jederzeit get_plan_progress auf, um den Ausführungsstatus zu überprüfen:

{
"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-Benutzer können den Fortschritt mit folgendem Befehl überwachen:

wp gratis-ai-agent plan status plan_restaurant_001

5. Error Recovery

Wenn ein Schritt fehlschlägt, prüft der Orchestrator auf einen Fallback-Schritt, der im Plan definiert ist:

  • Fallback available — Der Fallback-Schritt wird sofort versucht. Wenn er erfolgreich ist, wird die Ausführung fortgesetzt. Schlägt er ebenfalls fehl, wird der Schritt als failed markiert und die Ausführung geht mit dem nächsten Schritt weiter.
  • No fallback — Der Schritt wird als failed markiert. Nicht kritische Schritte werden übersprungen; kritische Schritte (markiert mit required: true) stoppen die aktuelle Phase und lösen einen Wiederherstellungsversuch auf Phasenebene aus.

Der Agent meldet alle Fehler in der abschließenden Plan-Zusammenfassung und kann manuelle Behebungsmaßnahmen für nicht wiederherstellbare Fehler vorschlagen.


Site Plan Abilities

create_site_plan

Generiert einen strukturierten Site Plan aus einer Beschreibung des Ziels in natürlicher Sprache.

Parameters

ParameterTypeRequiredDescription
goalstringYesNatürliche Sprachbeschreibung der gewünschten Website
stylestringNoVisueller Stil-Präferenz: minimal, bold, professional, playful. Standard: Der Agent wählt basierend auf dem Ziel
pluginsarrayNoPlugin-Slugs, die in den Plan aufgenommen werden sollen. Der Orchestrator fügt erforderliche Plugins automatisch hinzu.
dry_runbooleanNoWenn true, wird der Plan-JSON zurückgegeben, ohne ihn zu speichern oder auszuführen. Standard false

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


execute_site_plan

Beginnt mit der Ausführung eines zuvor erstellten Site Plans.

Parameters

ParameterTypeRequiredDescription
plan_idstringYesID des Plans zur Ausführung
auto_install_pluginsbooleanNoWenn true, werden erforderliche Plugins automatisch ohne Bestätigung installiert. Standard false
max_retriesintegerNoAnzahl der Versuche, einen fehlgeschlagenen Schritt zu wiederholen, bevor fortgefahren wird. Standard 1

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


get_plan_progress

Gibt den aktuellen Ausführungsstatus eines Site Plans zurück.

Parameters

ParameterTypeRequiredDescription
plan_idstringYesPlan-ID zur Abfrage

Returns das Fortschrittsobjekt, das oben unter Progress Tracking beschrieben ist.


handle_plan_error

Behebt manuell einen fehlgeschlagenen Schritt und setzt die Plan-Ausführung vom nächsten Schritt fort. Verwenden Sie dies, wenn eine automatische Wiederherstellung nicht möglich war und Sie eingreifen möchten.

Parameters

ParameterTypeRequiredDescription
plan_idstringYesPlan-ID
step_idstringYesID des fehlgeschlagenen Schritts
resolutionstringYesEines von skip (überspringen und fortfahren), retry (Schritt sofort wiederholen) oder mark_done (als erfolgreich behandeln, ohne erneut auszuführen)

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


Vergleich v1 und v2

Featurev1v2
Multi-phase plansNeinJa
Step output references (__ref:)NeinJa
Plugin discoveryManuellAutomatisch
Progress tracking APINeinJa
Error recoveryFehler und StoppFallback + Fortfahren
Parallel step executionNeinJa (optional pro Phase)
WP-CLI plan commandsNeinJa
Benchmark integrationNeinJa (q-restaurant-website)

WP-CLI Plan Commands

wp gratis-ai-agent plan create

Generiert einen Site Plan aus einer Zielbeschreibung.

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

Führt einen zuvor erstellten Plan aus.

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

wp gratis-ai-agent plan status

Zeigt den aktuellen Fortschritt für einen laufenden oder abgeschlossenen Plan.

wp gratis-ai-agent plan status plan_restaurant_001

wp gratis-ai-agent plan list

Listet alle Site Plans (ausstehend, in Bearbeitung und abgeschlossen).

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

wp gratis-ai-agent plan reset

Setzt einen fehlgeschlagenen Plan auf pending zurück, damit er von vorne ausgeführt werden kann.

wp gratis-ai-agent plan reset plan_restaurant_001