Feat/space cta optimization (#2089)

* feat(wizard): persist wizard progress to backend for session resumption

Store wizard step, selected adapter, created bot UUID, and runner
selection in the metadata table. On revisit, the wizard restores
progress and verifies the bot still exists. Progress is cleared
automatically when the wizard is completed or skipped.

* feat(dynamic-form): optimize LLM model selection with space login CTA and improve localization strings

* feat(web): add LangBot Cloud CTA for webhook URL fields in community edition

Show a subtle hint below webhook URL fields prompting users about
LangBot Cloud's public endpoint, only visible in community edition.
Covers all 8 webhook-based adapters with i18n support (4 locales).
This commit is contained in:
Junyan Chin
2026-03-28 17:24:39 +08:00
committed by GitHub
parent 4c904c2375
commit 71e44f0e54
11 changed files with 623 additions and 86 deletions

View File

@@ -251,6 +251,14 @@ export interface SystemLimitation {
max_extensions: number;
}
export interface WizardProgress {
step: number;
selected_adapter: string | null;
created_bot_uuid: string | null;
bot_saved: boolean;
selected_runner: string | null;
}
export interface ApiRespSystemInfo {
debug: boolean;
version: string;
@@ -261,6 +269,7 @@ export interface ApiRespSystemInfo {
disable_models_service: boolean;
limitation: SystemLimitation;
wizard_status: string; // 'none' | 'skipped' | 'completed'
wizard_progress: WizardProgress | null;
}
export interface RagMigrationStatusResp {

View File

@@ -705,6 +705,16 @@ export class BackendClient extends BaseHttpClient {
return this.post('/api/v1/system/wizard/completed', { status });
}
public saveWizardProgress(progress: {
step: number;
selected_adapter: string | null;
created_bot_uuid: string | null;
bot_saved: boolean;
selected_runner: string | null;
}): Promise<void> {
return this.put('/api/v1/system/wizard/progress', progress);
}
public getAsyncTasks(): Promise<ApiRespAsyncTasks> {
return this.get('/api/v1/system/tasks');
}

View File

@@ -17,6 +17,7 @@ export const systemInfo: ApiRespSystemInfo = {
max_extensions: -1,
},
wizard_status: 'none',
wizard_progress: null,
};
// 用户信息