ADR-014: AI-Powered Wizard System
- Status
-
Accepted
- Date
-
2025-12
- Authors
-
Netresearch DTT GmbH
Context
Users need to configure LLM providers, models, configurations, and tasks -- a complex multi-step process involving endpoint URLs, API keys, model selection, system prompts, and temperature tuning. Manual CRUD via TYPO3 list module is error-prone and intimidating for non-technical users.
Problem statement
- High barrier to entry: First-time setup requires knowledge of API endpoints, adapter types, model capabilities, and prompt engineering.
- Model discovery gap: Users don't know which models their provider offers.
- Configuration quality: Hand-written system prompts are often suboptimal.
- Task chain complexity: Creating a task requires a configuration, which requires a model, which requires a provider -- four entities in sequence.
Decision
Implement an AI-powered wizard system with three wizard types:
- Setup Wizard -- Guided provider onboarding (connect, verify, discover,
configure, save). Five-step flow driven by
Resources/.Public/ Java Script/ Backend/ Setup Wizard. js - Configuration Wizard -- Takes a natural-language description and generates
a structured
LlmviaConfiguration Wizard.Generator Service:: generate Configuration () - Task Wizard -- Takes a natural-language description and generates a
complete task chain (task + configuration + model recommendation) via
Wizard.Generator Service:: generate Task With Chain ()
Graceful fallback when no LLM is available:
Example: Fallback when LLM is unavailable
// WizardGeneratorService::generateConfiguration()
$config ??= $this->getDefaultConfiguration();
if ($config === null) {
return $this->fallbackConfiguration($description);
}
Copied!
Key architectural components:
Setup-- AJAX endpoints for detect, test, discover, generate, save.Wizard Controller Wizard-- LLM-powered generation with JSON parsing and normalization.Generator Service Model/Discovery Model-- Provider-specific model listing.Discovery Interface Provider-- Endpoint URL pattern matching for adapter type detection.Detector Configuration-- LLM-powered configuration preset generation.Generator - DTOs:
Detected,Provider Discovered,Model Suggested,Configuration Wizard.Result
Consequences
Positive:
- ●● Self-service onboarding without requiring LLM expertise.
- ●● AI-generated prompts are more effective than hand-crafted first attempts.
- ● Model discovery removes guesswork about available models.
- ● Fallback defaults ensure the wizard works even without a working LLM.
- ◐ Five-step flow with progress bar reduces cognitive load.
Negative:
- ◑ Requires one working LLM configuration to power the AI generation path.
- ◑ Generated configurations may need manual tuning for specialized use cases.
- ◑ Additional JavaScript adds bundle size.
Net Score: +5.5 (Strong positive)
Files changed
Added:
Classes/Controller/ Backend/ Setup Wizard Controller. php Classes/Service/ Wizard Generator Service. php Classes/Service/ Setup Wizard/ Model Discovery. php Classes/Service/ Setup Wizard/ Model Discovery Interface. php Classes/Service/ Setup Wizard/ Provider Detector. php Classes/Service/ Setup Wizard/ Configuration Generator. php Classes/Service/ Setup Wizard/ DTO/ Detected Provider. php Classes/Service/ Setup Wizard/ DTO/ Discovered Model. php Classes/Service/ Setup Wizard/ DTO/ Suggested Configuration. php Classes/Service/ Setup Wizard/ DTO/ Wizard Result. php Resources/Public/ Java Script/ Backend/ Setup Wizard. js