Generative UI mit A2UI: Von Google zu TYPO3

A2UI revolutioniert die Interaktion zwischen KI-Agenten und Nutzer:innen. Das Open-Source-Protokoll von Google ermöglicht sichere, plattformübergreifende UI-Generierung in Echtzeit – inklusive praktischer Integration in TYPO3 13/14.

Von statischen Designs zu dynamischen Erlebnissen 

Die Art, wie wir Benutzeroberflächen gestalten, steht vor einem fundamentalen Wandel. Traditionelle UI-Patterns – für alle Nutzer:innen gleich, statisch definiert, manuell optimiert – erreichen ihre Grenzen. Generative UI markiert den Übergang von der Gestaltung für viele zur dynamischen Generierung für den Einzelnen.

Die Nielsen Norman Group definiert GenUI präzise: KI erstellt in Echtzeit personalisierte Schnittstellen für benutzerspezifische Erlebnisse. Statt dass Entwickler:innen eine feste UI für alle Anwendungsfälle codieren, komponiert ein KI-Agent die optimale Schnittstelle für die jeweilige Aufgabe im Moment der Interaktion.


Inhaltsverzeichnis 


Video-Einführung: GenUI verstehen 

Bevor wir in die technischen Details einsteigen, bieten diese beiden Videos einen ausgezeichneten Einstieg in das Thema.

Nielsen Norman Group: GenUI erklärt 

Die UX-Expert:innen der Nielsen Norman Group erklären das Konzept von Generative UI und warum es einen Paradigmenwechsel in der Interface-Gestaltung darstellt.

Video abspielen
Lädt YouTube & setzt Cookies

Klick lädt YouTube (Datenschutz)

Video-Inhalt

Kate Moran und Sarah Gibbons diskutieren, wie KI personalisierte Interfaces in Echtzeit generiert. Das Video erklärt die Unterschiede zwischen traditionellem UI-Design und dem GenUI-Ansatz – essentielles Wissen für UX-Designer:innen und Entwickler:innen.

Google A2UI: Technische Deep-Dive 

Dieses Tutorial zeigt Googles A2UI-Protokoll in Aktion. Von der JSON-Struktur bis zu konkreten Implementierungsbeispielen.

Video abspielen
Lädt YouTube & setzt Cookies

Klick lädt YouTube (Datenschutz)

Empfehlung

Das Video demonstriert die Integration von A2UI in verschiedene Frameworks. Besonders relevant sind die Abschnitte zur Security-Architektur und zum Component-Registry-Pattern, die wir später in der TYPO3-Integration aufgreifen.


Das Effizienzproblem: Textbasierte Agenten scheitern 

Textbasierte LLM-Dialoge eignen sich hervorragend für einfache Anfragen. Bei komplexeren Szenarien – strukturierte Dateneingabe, Visualisierung mehrdimensionaler Informationen – entstehen jedoch ineffiziente Ping-Pong-Dialoge, die die kognitive Last der Nutzer:innen massiv erhöhen.

Das Restaurant-Buchungs-Dilemma 

Typischer textbasierter Dialog (ineffizient)
User: "Book a table for 2."
Agent: "Okay, for what day?"

User: "Tomorrow."
Agent: "What time?"

User: "Maybe 7pm"
Agent: "We do not have reservation availability then, any other times?"

User: "When do you have reservations?"
Agent: "We have availability at 5:00, 5:30, 6:00, 8:30, 9:00, 9:30 and 10:00. 
     Do any of those work for you?"
UX-Versagen auf mehreren Ebenen

Mehrfache langsame Roundtrips: Jede Frage-Antwort-Runde kostet Zeit und erhöht die Abbruchwahrscheinlichkeit.

Kognitive Überlastung: Nutzer:innen müssen eine Textliste mental mit ihrer Verfügbarkeit abgleichen – ein klassisches Versagen, das visuelle Interfaces längst gelöst haben.

Fehleranfälligkeit: Tippfehler, Missverständnisse bei Zeitformaten, fehlende Kontextinformationen.

Die Lösung liegt nicht in besseren Texten, sondern in reichhaltigeren Kommunikationsmethoden: Ein grafischer Kalender mit verfügbaren Zeitfenstern, interaktive Schieberegler für die Personenanzahl, eine Map mit Tischpositionen. Genau hier setzt A2UI an.


A2UI: Das technische Fundament für intelligente Interfaces 

Agent-to-User Interface (A2UI) ist ein quelloffenes Protokoll von Google, das KI-Agenten befähigt, "UI zu sprechen". Statt nur Text zu senden, generieren Agenten reichhaltige, interaktive Benutzeroberflächen, die nativ in der Host-Anwendung dargestellt werden.

Vier Kernprinzipien 

Security First

Agenten senden Daten, keinen Code. Die Client-App pflegt einen Katalog vertrauenswürdiger, vorab genehmigter UI-Komponenten. LLM-generierter Code wird nie ausgeführt – kritische Angriffsflächen werden eliminiert.

LLM-Friendly

UI als flache Liste mit IDs. Für LLMs einfach zu generieren und inkrementell zu aktualisieren. Progressive Rendering während sich die Konversation entwickelt.

Framework-Agnostic

Eine JSON-Payload, native Darstellung überall: Web, Flutter, React, SwiftUI. Die abstrakte UI-Struktur trennt sich von der konkreten Implementierung.

Open & Flexible

Open Registry Pattern: Entwickler:innen integrieren beliebige eigene Komponenten, kapseln ihr Designsystem und behalten volle Kontrolle über Sandboxing.

Architektur: Von der Generierung zum Rendering 

A2UI-Datenfluss: Vom Agent zur nativen Benutzeroberfläche

Die Maxime: A2UI ist "sicher wie Daten, aber ausdrucksstark wie Code" – ein entscheidender Vorteil für die Akzeptanz in Unternehmen.

JSON-Payload-Beispiel 

A2UI Message Format
{
"version": "0.8",
"components": [
  {
    "id": "date-picker-1",
    "type": "date-picker",
    "props": {
      "label": "Reservierungsdatum",
      "minDate": "2025-12-31",
      "maxDate": "2026-03-31",
      "value": "2026-01-15"
    }
  },
  {
    "id": "time-slots-1",

Der Agent beschreibt Absicht, nicht Implementierung. Der Client entscheidet, wie ein date-picker konkret aussieht – perfekte Markenkonsistenz garantiert.


Anwendungsfälle: Vom Konzept zur Praxis 

Restaurant-Finder mit interaktiver Map 

Nutzeranfrage

Nutzer:in fragt: "Italienische Restaurants in meiner Nähe"

Agent analysiert

LLM versteht Kontext, ermittelt Standort, sucht Restaurants

UI-Generierung

Agent sendet A2UI-Payload: Map-Komponente + Filterliste + Detail-Cards

Native Interaktion

Nutzer:in filtert in Echtzeit, öffnet Google Maps direkt, reserviert

Statt einer langen Textliste erhält die Nutzerin eine dynamisch generierte, interaktive Ergebniskarte. Jedes Ergebnis bietet direkte Integration zu Google Maps. Der gesamte Ablauf fühlt sich wie eine nahtlose, zweckgebundene App an.

Drei Schlüsselkategorien 

Ein Agent generiert ein maßgeschneidertes Formular mit den exakt passenden Eingabeelementen basierend auf dem Kontext:

  • Service-Buchung: Datumsauswahl, Schieberegler für Budget, Dropdown für Dienstleistungsart
  • Onboarding-Prozess: Conditional Fields, die nur bei bestimmten Antworten erscheinen
  • Feedback-Sammlung: Star-Ratings, Text-Areas, Multiple-Choice – kontextabhängig

Das Formular passt sich der Konversation an, nicht umgekehrt.

Agent-Client-Kommunikation im Detail 

Ablauf einer A2UI-basierten Interaktion

A2UI im Entwickler-Ökosystem 

A2UI ist kein isoliertes Projekt, sondern ein spezialisiertes Protokoll, das sich in die sich schnell entwickelnde Landschaft von Agenten-Frameworks einfügt.

Technologie-Synergien 

Technologie/ProtokollRolle in Bezug auf A2UI
AG UI / CopilotKitFull-Stack-Framework für Agenten-Apps. Stellt Infrastruktur für Zustandssynchronisation und Kommunikation bereit, in die sich A2UI als Nachrichtenformat integriert.
A2A ProtocolTransportprotokoll für Kommunikation zwischen Agenten über Vertrauensgrenzen hinweg. A2UI-Nachrichten können über A2A transportiert werden.
GenUI SDK for FlutterSDK für generative UI-Erlebnisse in Flutter-Apps. Nutzt A2UI als Format für UI-Deklaration bei der Kommunikation mit serverseitigen Agenten.
REST / HTTPKünftig geplante Unterstützung weiterer Transportprotokolle für erhöhte Interoperabilität und einfache Integration in bestehende Systeme.

A2A: Das Schwesterprotokoll für Agent-zu-Agent-Kommunikation 

Während A2UI die Kommunikation zwischen Agent und Mensch regelt, adressiert Googles zweites Protokoll – Agent2Agent (A2A) – die Kommunikation zwischen Agenten untereinander. Gemeinsam bilden sie das Fundament für eine vollständig agentengesteuerte Architektur.

A2UI – Agent-to-User

Kommunikationsrichtung: Agent → Mensch

Ermöglicht KI-Agenten, dynamische, native UI-Komponenten zu generieren, die Nutzer:innen in Host-Anwendungen angezeigt werden. Fokus auf User Experience und sichere UI-Generierung.

A2A – Agent-to-Agent

Kommunikationsrichtung: Agent ↔ Agent

Ermöglicht verschiedenen KI-Agenten, unabhängig von Framework oder Anbieter, miteinander zu kommunizieren, Informationen auszutauschen und Aufgaben zu koordinieren.

A2A wurde im April 2025 mit Unterstützung von über 50 Technologiepartnern wie Atlassian, PayPal, Salesforce, SAP, ServiceNow und Workday vorgestellt. Das Protokoll basiert auf bewährten Standards wie HTTP, SSE und JSON-RPC.

Zusammenspiel von A2A und A2UI im Agenten-Ökosystem

A2A Design-Prinzipien

PrinzipBeschreibung
Agentic CapabilitiesEchte Multi-Agent-Szenarien – Agenten arbeiten in ihren natürlichen, unstrukturierten Modalitäten zusammen, auch ohne geteilten Speicher, Tools oder Kontext.
Bestehende StandardsAufgebaut auf HTTP, SSE (Server-Sent Events) und JSON-RPC. Integration in bestehende IT-Stacks ist dadurch erheblich vereinfacht.
Enterprise SecurityEnterprise-Authentifizierung und -Autorisierung mit Parität zu OpenAPIs Authentifizierungsschemata.
Long-Running TasksUnterstützung für alles von schnellen Aufgaben bis zu tiefgreifenden Recherchen über Stunden oder Tage – mit Echtzeit-Feedback.
Modality AgnosticNicht auf Text beschränkt – unterstützt verschiedene Modalitäten einschließlich Audio- und Video-Streaming.

Praxisbeispiel: Recruiting-Workflow

Ein typisches A2A-Szenario: Eine Führungskraft beauftragt ihren Agent, Kandidat:innen für eine Entwickler:innen-Stelle zu finden:

  1. Haupt-Agent erhält den Auftrag und identifiziert spezialisierte Agenten
  2. Sourcing-Agent durchsucht Kandidaten-Datenbanken
  3. Screening-Agent bewertet Qualifikationen
  4. Calendar-Agent plant Interviews
  5. Background-Check-Agent führt Hintergrundprüfungen durch

Alle Agenten kommunizieren über A2A, während die UI-Ausgabe für die Führungskraft über A2UI erfolgt – nahtlose Orchestrierung über Systemgrenzen hinweg.

Positionierung: A2UI vs. Alternativen 

FeatureA2UIMCP AppsOpenAI ChatKit
Native UI-Integration
PlattformübergreifendEingeschränkt
Multi-Agenten-transparentN/A
Volle Design-KontrolleEingeschränkt
Security-ModellWhitelistSandboxed iFrameVendor-kontrolliert
Open Source

Entscheidender Unterschied zu MCP Apps: MCP behandelt UI als Ressource (typischerweise HTML in sandboxed iframe). A2UI verfolgt einen "Native-First"-Ansatz – die UI fügt sich perfekt in das Styling der Host-App ein. In Multi-Agenten-Systemen kann ein Orchestrator den leichtgewichtigen A2UI-Nachrichteninhalt eines Sub-Agenten mühelos verstehen.

Stimmen aus der Industrie 

Diese Statements zeigen, wie führende Technologieunternehmen A2UI bereits produktiv einsetzen:


Roadmap & Community-Beteiligung 

A2UI wurde bewusst in einem frühen Stadium (Version 0.8) veröffentlicht, um offene Zusammenarbeit zu fördern. Das Projekt ist eine Einladung, die Zukunft agentengesteuerter UI gemeinsam zu gestalten.

Offizielle Roadmap bis v1.0 

Spec Stabilization

Erreichen einer stabilen v1.0-Spezifikation für verlässliche Produktions-Deployments

Weitere Renderer

Offizielle Unterstützung für React, Jetpack Compose (Android), iOS (SwiftUI)

Zusätzliche Transports

REST, WebSocket und andere Protokolle für erhöhte Flexibilität bei der Integration

Agenten-Framework-Integration

Native Integrationen mit Genkit, LangGraph, AutoGPT und weiteren Frameworks

Open-Source-Repository 

Jetzt mitwirken

Als Apache-2.0-Projekt hängt der Erfolg von A2UI von der Community ab. Beiträge sind willkommen in:

  • Spezifikations-Verfeinerung: Format-Erweiterungen, Edge-Case-Handling
  • Client-Bibliotheken: Renderer für neue Frameworks (Vue, Solid, Svelte)
  • Tooling: Dev Tools, Debugging-Utilities, Component-Validatoren
  • Beispiele: Real-World-Implementierungen, Best-Practice-Guides

Zum GitHub-Repository


TYPO3-Integration: A2UI im Enterprise CMS 

Die Integration von A2UI in TYPO3 eröffnet neue Möglichkeiten für intelligente, kontextbewusste Backend-Interfaces. Redakteur:innen erhalten dynamisch generierte Formulare basierend auf Inhaltstypen, KI-Assistenten unterstützen bei SEO-Optimierung, und Workflows passen sich automatisch an die aktuelle Aufgabe an.

Vision: KI-gestützte TYPO3-Workflows 

Kontext-sensitive Formulare

Der KI-Agent analysiert den Content-Typ und generiert ein optimiertes Eingabeformular mit genau den Feldern, die für diesen Kontext relevant sind.

Intelligente Dashboards

Dynamische Admin-Dashboards, die sich an die Rolle und aktuellen Tasks des Nutzers anpassen. Relevante Metriken, Shortcuts und Aktionen on-demand.

SEO-Assistent

Ein KI-Agent analysiert Seiteninhalte in Echtzeit und generiert eine interaktive UI mit konkreten Optimierungsvorschlägen und direkten Edit-Optionen.

Architektur-Überblick 

TYPO3 A2UI Integration Architecture

Test-Extension: a2ui_integration 

Ich präsentiere eine vollständige TYPO3-Extension, die A2UI-Konzepte in TYPO3 13/14 demonstriert.

Extension-Struktur

Dateistruktur
a2ui_integration/
├── Classes/
│   ├── Controller/
│   │   └── A2UIController.php
│   ├── Domain/
│   │   ├── Model/
│   │   │   └── A2UIComponent.php
│   │   └── Repository/
│   │       └── ComponentRegistry.php
│   ├── Service/
│   │   ├── AgentService.php
│   │   └── RendererService.php
│   └── ViewHelpers/
│       └── RenderComponentViewHelper.php
├── Configuration/

1. Extension Configuration

composer.json
{
"name": "webconsulting/a2ui-integration",
"type": "typo3-cms-extension",
"description": "A2UI Protocol Integration for TYPO3 - AI-driven dynamic UI generation",
"license": "GPL-2.0-or-later",
"authors": [
  {
    "name": "webconsulting GmbH",
    "email": "office@webconsulting.at",
    "homepage": "https://webconsulting.at"
  }
],
"require": {
  "php": "^8.1",
  "typo3/cms-core": "^13.0 || ^14.0",

2. Backend Module Registration

Configuration/Backend/Modules.php
<?php

declare(strict_types=1);

use Webconsulting\A2uiIntegration\Controller\A2UIController;

return [
  'web_a2ui' => [
      'parent' => 'web',
      'position' => ['after' => 'web_info'],
      'access' => 'user',
      'workspaces' => 'live',
      'path' => '/module/web/a2ui',
      'labels' => 'LLL:EXT:a2ui_integration/Resources/Private/Language/locallang_mod.xlf',
      'extensionName' => 'A2uiIntegration',

3. Core Domain Models

Classes/Domain/Model/A2UIComponent.php
<?php

declare(strict_types=1);

namespace Webconsulting\A2uiIntegration\Domain\Model;

/**
* A2UI Component Model
* Represents a single UI component in the A2UI protocol
*/
class A2UIComponent
{
  protected string $id;
  protected string $type;
  protected array $props;

4. Service Layer

Classes/Service/AgentService.php
<?php

declare(strict_types=1);

namespace Webconsulting\A2uiIntegration\Service;

use Webconsulting\A2uiIntegration\Domain\Model\A2UIComponent;
use TYPO3\CMS\Core\SingletonInterface;

/**
* Agent Service
* Simulates an LLM agent that generates A2UI components
* In production, this would call an actual LLM API (OpenAI, Gemini, etc.)
*/
class AgentService implements SingletonInterface

5. Controller

Classes/Controller/A2UIController.php
<?php

declare(strict_types=1);

namespace Webconsulting\A2uiIntegration\Controller;

use Psr\Http\Message\ResponseInterface;
use Webconsulting\A2uiIntegration\Service\AgentService;
use Webconsulting\A2uiIntegration\Service\RendererService;
use TYPO3\CMS\Backend\Template\ModuleTemplate;
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

/**
* A2UI Backend Module Controller

6. Fluid Templates

Resources/Private/Templates/A2UI/Components/TextField.html
<div class="form-group" id="{id}">
  <label for="{id}-input" class="form-label">
      {props.label}
      <f:if condition="{props.required}">
          <span class="text-danger">*</span>
      </f:if>
  </label>
  <input 
      type="text" 
      class="form-control" 
      id="{id}-input"
      name="{id}"
      placeholder="{props.placeholder}"
      value="{props.value}"
      maxlength="{props.maxlength}"

7. JavaScript Renderer

Resources/Public/JavaScript/a2ui-renderer.js
/**
* A2UI Renderer for TYPO3 Backend
* Client-side component for handling A2UI interactions
*/
class A2UIRenderer {
constructor() {
  this.components = new Map();
  this.eventHandlers = new Map();
}

/**
 * Render A2UI payload into target element
 */
async render(payload, targetElement) {
  if (typeof payload === 'string') {

Step-by-Step: Extension von Grund auf erstellen 

Folgen Sie dieser Anleitung, um die A2UI-Extension selbst zu implementieren. Jeder Schritt baut auf dem vorherigen auf.

Step 1: Extension-Grundgerüst erstellen

Erstellen Sie zunächst die Verzeichnisstruktur und die Basisdateien:

Terminal: Extension-Verzeichnis erstellen
# Ins TYPO3-Projektverzeichnis wechseln
cd /var/www/html/typo3

# Extension-Verzeichnis anlegen (TYPO3 13+ nutzt packages/)
mkdir -p packages/a2ui_integration/Classes/{Controller,Domain/Model,Domain/Repository,Service,ViewHelpers}
mkdir -p packages/a2ui_integration/Configuration/{Backend,TCA/Overrides}
mkdir -p packages/a2ui_integration/Resources/{Private/Templates/A2UI/Components,Public/Css,Public/JavaScript}

# In Extension-Verzeichnis wechseln
cd packages/a2ui_integration
TYPO3 13 vs. 14

TYPO3 13 unterstützt sowohl typo3conf/ext/ als auch packages/. TYPO3 14 empfiehlt ausschließlich packages/ für lokale Extensions. Wir verwenden hier die zukunftssichere Variante.

Step 2: Basis-Konfiguration

Erstellen Sie die beiden essentiellen Konfigurationsdateien:

ext_emconf.php
<?php
/**
* Extension configuration for a2ui_integration
*/
$EM_CONF[$_EXTKEY] = [
  'title' => 'A2UI Integration',
  'description' => 'Agent-to-User Interface Protocol for TYPO3',
  'category' => 'be',
  'author' => 'Ihr Name',
  'author_email' => 'email@example.com',
  'state' => 'beta',
  'version' => '1.0.0',
  'constraints' => [
      'depends' => [
          'typo3' => '13.0.0-14.99.99',

Step 3: Das Domain Model erstellen

Das A2UIComponent Model bildet die JSON-Struktur des A2UI-Protokolls ab:

Classes/Domain/Model/A2UIComponent.php
<?php

declare(strict_types=1);

namespace Vendor\A2uiIntegration\Domain\Model;

/**
* Represents a single A2UI component
* 
* Example JSON structure:
* {
*   "id": "field-1",
*   "type": "text-field",
*   "props": {"label": "Name", "required": true}
* }

Wichtige Konzepte:

  • Immutability: Alle Properties sind readonly für Thread-Safety
  • Constructor Promotion: PHP 8.2+ Feature für kompakten Code
  • Rekursive Children: Unterstützt verschachtelte Components

Step 4: Component Registry (Security Layer)

Die Registry implementiert das Whitelist-Prinzip – nur registrierte Components sind erlaubt:

Classes/Domain/Repository/ComponentRegistry.php
<?php

declare(strict_types=1);

namespace Vendor\A2uiIntegration\Domain\Repository;

use TYPO3\CMS\Core\SingletonInterface;

/**
* Security-critical: Whitelist of allowed UI components
* 
* The LLM can only request components that are registered here.
* This prevents code injection and ensures UI consistency.
*/
class ComponentRegistry implements SingletonInterface
Security-Hinweis

Niemals dynamische Template-Pfade aus LLM-Output akzeptieren! Die Registry stellt sicher, dass nur vorab definierte Templates genutzt werden können.

Step 5: Agent Service (LLM-Simulation)

Der AgentService simuliert die LLM-Logik. In Produktion ersetzt man dies durch echte API-Calls:

Classes/Service/AgentService.php
<?php

declare(strict_types=1);

namespace Vendor\A2uiIntegration\Service;

use Vendor\A2uiIntegration\Domain\Model\A2UIComponent;

/**
* Simulates an LLM agent that generates UI components
* 
* In production, replace the match() logic with actual API calls:
* - OpenAI GPT-4
* - Google Gemini
* - Anthropic Claude

Step 6: Renderer Service

Der Renderer wandelt A2UI-Components in TYPO3 Fluid HTML um:

Classes/Service/RendererService.php
<?php

declare(strict_types=1);

namespace Vendor\A2uiIntegration\Service;

use Vendor\A2uiIntegration\Domain\Model\A2UIComponent;
use Vendor\A2uiIntegration\Domain\Repository\ComponentRegistry;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Fluid\View\StandaloneView;

/**
* Renders A2UI components to TYPO3 Backend HTML
*/
class RendererService

Step 7: Backend Controller

Der Controller verbindet alles und exponiert die Funktionalität als Backend-Modul:

Classes/Controller/A2UIController.php
<?php

declare(strict_types=1);

namespace Vendor\A2uiIntegration\Controller;

use Psr\Http\Message\ResponseInterface;
use Vendor\A2uiIntegration\Service\AgentService;
use Vendor\A2uiIntegration\Service\RendererService;
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

class A2UIController extends ActionController
{
  public function __construct(

Step 8: Fluid Templates erstellen

Erstellen Sie die Component-Templates:

Resources/Private/Templates/A2UI/Components/TextField.html
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" 
    data-namespace-typo3-fluid="true">

<div class="form-group mb-3">
  <label for="{id}" class="form-label">
      {props.label}
      <f:if condition="{props.required}">
          <span class="text-danger">*</span>
      </f:if>
  </label>
  
  <input 
      type="text" 
      class="form-control"
      id="{id}"

Step 9: Backend-Modul registrieren

Configuration/Backend/Modules.php
<?php

use Vendor\A2uiIntegration\Controller\A2UIController;

return [
  'web_a2ui' => [
      'parent' => 'web',
      'position' => ['after' => 'web_info'],
      'access' => 'user',
      'workspaces' => 'live',
      'iconIdentifier' => 'module-web',
      'path' => '/module/web/a2ui',
      'labels' => 'LLL:EXT:a2ui_integration/Resources/Private/Language/locallang_mod.xlf',
      'extensionName' => 'A2uiIntegration',
      'controllerActions' => [

Step 10: Extension aktivieren & testen

Terminal: Extension installieren
# Autoload aktualisieren
composer dump-autoload

# Extension aktivieren
./vendor/bin/typo3 extension:activate a2ui_integration

# Cache leeren
./vendor/bin/typo3 cache:flush

# Optional: Symlink für Public Assets
./vendor/bin/typo3 extension:setup
Fertig!

Nach diesen 10 Schritten haben Sie eine funktionierende A2UI-Integration in TYPO3. Das Backend-Modul ist unter Web > A2UI Agent Interface erreichbar.

Extension Download 

Sie möchten die Extension direkt verwenden, ohne jeden Schritt manuell nachzubauen? Laden Sie die vollständige, produktionsreife Extension herunter:

a2ui_integration v1.0.0 (TYPO3 Extension)(15 KB)

Vollständige A2UI-Integration für TYPO3 13/14. Enthält AgentService, RendererService, ComponentRegistry, 7 UI-Components, Backend-Modul und JavaScript-Client.

Inhalt der Extension

  • 5 PHP-Klassen (Controller, Services, Models)
  • 7 Fluid-Templates für UI-Components
  • JavaScript Client-Side Renderer
  • Backend-Modul mit Dashboard
  • Vollständige README-Dokumentation

Kompatibilität

  • TYPO3 13.0 - 14.x
  • PHP 8.2+
  • Composer-Support
  • Apache 2.0 Lizenz (wie A2UI selbst)

Live-Demo: Intent zu UI 

Hier ein Beispiel, wie ein Nutzer-Intent in eine generierte UI umgewandelt wird:

Ablauf: Von der Nutzer-Anfrage zur generierten UI

Installation & Verwendung 

Extension installieren

Via Composer installieren: composer require webconsulting/a2ui-integration

Extension aktivieren

Im Extension Manager oder via CLI: typo3 extension:activate a2ui_integration

Backend-Modul öffnen

Im TYPO3 Backend unter "Web > A2UI Agent Interface" das neue Modul aufrufen

Demo ausprobieren

Verschiedene Intent-Beispiele testen: "Create page", "Edit content", "Schedule", "SEO"

API-Endpunkte 

EndpointMethodBeschreibung
/typo3/module/web/a2ui/dashboardGETHaupt-Dashboard mit Beispiel-Intents
/typo3/module/web/a2ui/generateGETUI generieren: ?intent=create+page&format=json
/typo3/module/web/a2ui/demoGETAlle Komponenten-Beispiele anzeigen

Erweiterungsmöglichkeiten 

Produktions-Checkliste 

Vor dem Go-Live beachten

Security Hardening:

  • Rate-Limiting für API-Calls implementieren
  • Input-Sanitization für alle User-Intents
  • Component-Whitelist strikt pflegen
  • LLM-API-Keys sicher in Extension-Configuration speichern

Performance:

  • Caching für häufig generierte UI-Patterns
  • Lazy-Loading für JavaScript-Module
  • Component-Rendering via AJAX optimieren

Testing:

  • Unit-Tests für AgentService und RendererService
  • Integration-Tests für Controller-Actions
  • Security-Tests für Component-Validation

Fazit: Strategische Bedeutung für moderne Anwendungen 

Generative UI mit A2UI markiert einen fundamentalen Schritt hin zu wirklich intelligenten, adaptiven Assistenten. Die strategischen Vorteile lassen sich in vier Dimensionen zusammenfassen:

Erhöhte Sicherheit

Durch die Vermeidung der direkten Ausführung von LLM-generiertem Code wird eine kritische Angriffsfläche eliminiert. Der deklarative Ansatz gibt der Host-Anwendung volle Kontrolle über erlaubte Komponenten.

Nahtlose User Experience

Native UI-Komponenten der Host-Anwendung garantieren perfekte Design-Integration. Keine Fremdkörper-iframes, sondern konsistente Markenerlebnisse über alle Touchpoints.

Plattformübergreifende Interoperabilität

Eine JSON-Payload, native Darstellung überall. Agenten generieren Oberflächen für Web, Mobile und Desktop ohne plattformspezifisches Wissen.

Beschleunigte Entwicklung

Agenten erstellen kontextspezifische UIs dynamisch. Reduzierter Entwicklungsaufwand für komplexe, zustandsbehaftete Interfaces. Schnellere Prototyping-Zyklen.

Der Paradigmenwechsel 

Letztendlich steht GenUI für den Übergang von der Gestaltung von Schnittstellen für viele zur dynamischen Generierung von Erlebnissen für den Einzelnen. Es ist nicht nur eine neue Technologie, sondern ein entscheidender Schritt in Richtung personalisierter, kontextbewusster digitaler Assistenten.

Für Unternehmen bedeutet das:

  • Höhere Konversionsraten durch optimierte, aufgabenspezifische UIs
  • Reduzierte Entwicklungskosten durch wiederverwendbare, agentengesteuerte Komponenten
  • Bessere Skalierbarkeit bei wachsender Komplexität von Anwendungsfällen


Sie möchten A2UI in Ihrem Projekt einsetzen oder generative UI-Patterns evaluieren? Wir unterstützen Sie bei der strategischen Bewertung, Architektur-Design und Implementation. Kontaktieren Sie uns für ein unverbindliches Gespräch.

Kontaktieren Sie uns für ein unverbindliches Gespräch.

E-Mail: office@webconsulting.at

Lassen Sie uns über Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.