[FEAT] ARIA allineata all'Help contestuale della pagina + pageId canonico (Fase A)
Lamentela: "AI non allineata con help online e contesto". Causa: ARIA e Help erano due fonti separate (Help=help.js, ARIA=KB) → divergevano. Fix (fonte unica = help.js, zero duplicazione): - help.js: getContextText(pageId) (testo piano dell'help della pagina) + detectPageId(). - common.js: invia page_id (canonico) + page_help (stesso testo del pannello "?") a /api/ai/ask. - AiController: passa page_id/page_help in userContext. - AIService::askWithRag: inietta "GUIDA CONTESTUALE DELLA PAGINA" nel system prompt (ARIA si allinea all'help mostrato all'utente, non lo contraddice) + usa page_id per il trigger relevanceGrid (più robusto del title). Smoke: ARIA cita "registro dei rischi" dall'help + "Gestione > Rischi". Cache-buster common.js/help.js -> 20260624e (39 pagine). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
3b9f30a890
commit
bafc305503
@@ -42,11 +42,16 @@ class AiController extends BaseController
|
||||
// Pagina corrente (facoltativa) inviata dal frontend, per dare ad ARIA
|
||||
// contesto sulla schermata da cui l'utente sta scrivendo (ticket #424).
|
||||
$page = mb_substr(trim((string) $this->getParam('page', '')), 0, 120);
|
||||
// pageId canonico + testo dell'help "?" della pagina (allineamento ARIA↔Help).
|
||||
$pageId = mb_substr(trim((string) $this->getParam('page_id', '')), 0, 40);
|
||||
$pageHelp = mb_substr(trim((string) $this->getParam('page_help', '')), 0, 2500);
|
||||
$userContext = [
|
||||
'user_id' => $userId,
|
||||
'organization_id' => $this->getCurrentOrgId(), // può essere null
|
||||
'consulting_firm_id' => $user['consulting_firm_id'] ?? null,
|
||||
'page' => $page,
|
||||
'page_id' => $pageId,
|
||||
'page_help' => $pageHelp,
|
||||
];
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user