feat: guided setup — free-text AI path (phase 1.2)
The wizard's first step now offers 'or just describe what you want
to do': the goal goes to the configured system AI, which maps it
onto the menu answers (validated against strict enum whitelists —
a hallucinated value can never reach the engine). The suggestion
comes back as an editable plain-language reflection ('this is how I
read your task') the operator can adjust step-by-step or take to
the same preview/apply the menu path uses. Trust rules per
guided-setup.md: suggestion only (never auto-apply), a privacy line
states whether the description is processed locally or sent to a
provider, and without a configured system AI the section explains
that the menu always works — no dead end.
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
1f1e050b42
commit
09c901b75e
7 changed files with 619 additions and 2 deletions
|
|
@ -3179,6 +3179,66 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get setupStartCta => 'Get started in 3 questions';
|
||||
|
||||
@override
|
||||
String get setupFreeTextHint =>
|
||||
'e.g.: pre-screen incoming applications and flag incomplete ones';
|
||||
|
||||
@override
|
||||
String get setupFreeTextSuggest => 'Suggest a setup';
|
||||
|
||||
@override
|
||||
String setupFreeTextPrivacyLocal(String model) {
|
||||
return 'Your description is processed locally on this machine ($model).';
|
||||
}
|
||||
|
||||
@override
|
||||
String setupFreeTextPrivacyRemote(String model, String provider) {
|
||||
return 'Your description is sent to the configured system AI: $model ($provider).';
|
||||
}
|
||||
|
||||
@override
|
||||
String get setupFreeTextUnavailable =>
|
||||
'The free-text path needs a configured system AI (Settings → System AI). The choices above always work — no AI required.';
|
||||
|
||||
@override
|
||||
String get setupFreeTextParseError =>
|
||||
'The system AI did not return a usable suggestion. Pick from the menu above — or try again.';
|
||||
|
||||
@override
|
||||
String get setupReflectionTitle => 'This is how I read your task';
|
||||
|
||||
@override
|
||||
String setupReflectionScenario(String label) {
|
||||
return 'What it is about: $label';
|
||||
}
|
||||
|
||||
@override
|
||||
String setupReflectionIntent(String label) {
|
||||
return 'First task: $label';
|
||||
}
|
||||
|
||||
@override
|
||||
String setupReflectionTarget(String label) {
|
||||
return 'Environment: $label';
|
||||
}
|
||||
|
||||
@override
|
||||
String get setupReflectionApproval =>
|
||||
'A human is asked for approval before every AI step.';
|
||||
|
||||
@override
|
||||
String get setupReflectionDataLocal => 'Data never leaves the building.';
|
||||
|
||||
@override
|
||||
String get setupReflectionEditHint =>
|
||||
'Nothing is changed without your confirmation. Adjust any point, or go straight to the preview.';
|
||||
|
||||
@override
|
||||
String get setupReflectionAdjust => 'Adjust';
|
||||
|
||||
@override
|
||||
String get setupReflectionToPreview => 'To the preview';
|
||||
|
||||
@override
|
||||
String get setupProfileDev => 'straightforward workstation';
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue