WUIC ← Torna ai download

Release Notes — WUIC Framework v1.3.0

Data: 3 giugno 2026 Versione precedente pubblicata: 1.2.1 (31 maggio 2026) Backend: .NET 10 + IIS / Linux nginx Frontend: Angular 21


Release minor focalizzata sull'integrazione del chatbot RAG lato framework: cronologia conversazionale persistita, context management automatico, configurazione hot-reload da appsettings.json e schema cross-DBMS auto-applicato al primo avvio. Accanto alla feature principale, alcuni fix di scaffolding metadata e robustezza del repository chat su MySQL/Oracle che si manifestavano in scenari di provisioning DB freschi.

Il chatbot è il primo componente WUIC con stato lato server (_rag_chat_sessions + _rag_chat_messages) che si estende su tutti e quattro i provider supportati senza configurazione manuale dello schema. Il primo Ask rileva il provider, applica in ordine le patch SQL incrementali e parte. Con questa release lo stack di serving può inoltre girare nativamente su .NET (motore ONNX in-process), rendendo il deploy al cliente indipendente da Python.


🤖 RAG Chatbot — gestione contesto end-to-end

Il componente <wuic-rag-chatbot> ora persiste sessioni multiple per utente, con storia conversazionale completa, context summarization automatica e configurazione via appsettings.json. La feature è opt-in: senza anthropic-api-key configurata il chatbot resta inattivo.

Sessioni

Context management automatico

Configurazione appsettings.json

Cross-DBMS auto-migration

Lo schema chat history (5 patch incrementali) viene applicato in modo idempotente al primo Ask, sul provider configurato (MSSQL / MySQL / PostgreSQL / Oracle). Nessuno step DBA richiesto sull'installazione esistente.


🛠️ Azioni che il chatbot può applicare al progetto

Oltre a rispondere in linguaggio naturale, il chatbot può proporre modifiche concrete al progetto come chip d'azione con bottone "Applica". Ogni chip mostra cosa farà (route target, codice generato, motivazione) e l'utente decide se applicare. Niente azione viene eseguita senza il click esplicito.

Le tipologie di azione supportate:

🎨 Azione nuova: layout designer da linguaggio naturale

Quando l'utente si trova sulla pagina Designer di una dashboard, il chatbot espone una nuova famiglia di azioni che agisce direttamente sul canvas del designer (non sui metadata persistiti).

Esempi di prompt supportati:

Il chatbot conosce il catalogo completo dei 31 tool del designer (gruppo HTML, DATA, CONTAINER) e le loro proprietà editabili. Quando l'utente menziona una route metadata con nome approssimato ("provincie" invece di "stateprovinces"), il chatbot fa fuzzy-match sulla lista di route disponibili nel progetto e mostra il nome reale risolto nel rationale dell'azione.

Le modifiche restano sul canvas del designer fino al click su "Salva dashboard" — nessuna scrittura DB automatica, l'utente vede sempre l'esito visuale prima di commit. L'undo/redo del designer copre anche le azioni iniettate dal chatbot.


⚙️ Motore RAG nativo .NET (deploy senza Python)

Lo stack di serving del chatbot RAG può ora girare interamente su .NET, senza un server Python separato né virtual environment sulla macchina di destinazione. I modelli di retrieval (embeddings + reranker) sono caricati in-process tramite ONNX Runtime, con accelerazione GPU (CUDA) rilevata automaticamente e fallback trasparente su CPU.

Risultato pratico: il deploy al cliente è solo .NET — nessuna installazione Python né dipendenze native aggiuntive oltre al runtime .NET. La chiamata al modello conversazionale e la pipeline di retrieval e azioni restano identiche tra i due motori.


🐛 Bug fix degni di nota


📦 Pacchetti aggiornati

Package Da A
WuicCore 1.2.1 1.3.0
Wuic.Webcore 1.2.1 1.3.0
WuicOData 1.2.1 1.3.0
RuntimeEfCore 1.2.1 1.3.0
Wuic.MySqlProvider 1.2.1 1.3.0
Wuic.PostgresProvider 1.2.1 1.3.0
Wuic.OracleProvider 1.2.1 1.3.0
wuic-framework-lib (NPM) 1.2.1 1.3.0

🔧 Aggiornamenti operativi raccomandati per chi aggiorna

  1. Per abilitare il chatbot RAG, aggiungere ad appsettings.json la chiave anthropic-api-key (e opzionalmente anthropic-default-chat-model e anthropic-auto-compact-threshold). Il backend rilegge le chiavi in hot-reload — non serve restart.
  2. Nessuno step DBA richiesto sull'installazione esistente: al primo Ask del chatbot, lo schema chat history (_rag_chat_sessions + _rag_chat_messages con tutte le colonne) viene applicato in modo idempotente sul provider configurato in MetaDataSQLConnection. L'auto-migration copre installazioni nuove e parzialmente migrate.
  3. Se l'installazione è su MySQL / PostgreSQL / Oracle, verificare che la connection string punti al provider corretto e che l'utente abbia i privilegi ALTER TABLE sullo schema metadati (necessari una volta sola, al primo avvio).
  4. Per monitorare il consumo del context window, il cerchio cue % nel header del chatbot è il driver visivo immediato. Sopra 80% conviene un compact manuale (/compact o click sul cue) per ridurre la latenza dei turn successivi.
  5. Per far girare il chatbot RAG senza Python sulla macchina di destinazione, impostare rag-use-dotnet-engine=true in appsettings.json (opzionalmente rag-engine-device e rag-engine-profile). Al primo avvio gli artefatti di inferenza vengono scaricati automaticamente.