From b0be4c8eb233d68c9d3e3bfadd34860bf64b2385 Mon Sep 17 00:00:00 2001 From: Luca Sacchi Ricciardi Date: Tue, 21 Apr 2026 20:58:43 +0200 Subject: [PATCH] add: prd.md analisi_funzionale.md --- analisi_funzionale.md | 35 +++++++++++++++++++++++++++++++++++ prd.md | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 analisi_funzionale.md create mode 100644 prd.md diff --git a/analisi_funzionale.md b/analisi_funzionale.md new file mode 100644 index 0000000..7056f27 --- /dev/null +++ b/analisi_funzionale.md @@ -0,0 +1,35 @@ +Documento di Analisi Funzionale +Flusso dei Dati +Trigger: L'utente clicca sul pulsante "Save to Drive" nell'estensione. + +Scraping: Il Content Script estrae il testo dal container principale della chat (es.
o selettori specifici per provider). + +Inference (Core Logic): + +Il testo viene passato a un Web Worker per non bloccare la UI. + +Il modello LLM esegue un task di "Structuring": identifica i turni di conversazione. + +Output: [{role: "user", content: "..."}, {role: "assistant", content: "..."}]. + +Formatting: Un modulo helper trasforma il JSON in una stringa Markdown, aggiungendo metadati (Data, URL sorgente, Titolo). + +Export: + +Controllo del token OAuth tramite chrome.identity. + +Chiamata POST a https://www.googleapis.com/drive/v3/files. + +Mimetype: text/markdown o conversione in Google Doc. + +Casi d'Uso Principali +UC1: Archiviazione Sessione di Debug: Lo sviluppatore salva una sessione di coding con ChatGPT per riferimento futuro nel proprio Drive tecnico. + +UC2: Creazione di Documentazione: Trasformazione di un brainstorming con Gemini in una bozza di progetto strutturata. + +Gestione Errori e Casi Limite +Modello troppo pesante: Se la GPU non รจ disponibile, fallback su Wasm (CPU) con avviso di latenza all'utente. + +Chat molto lunghe: Implementazione di un sistema di "sliding window" per il contesto dell'LLM locale (limite tipico 2k-8k token). + +Cambio DOM: Se il modello non identifica blocchi validi, fallback su un parser basato su regole (Regex/CSS) e log dell'errore per aggiornare le specifiche. diff --git a/prd.md b/prd.md new file mode 100644 index 0000000..2e276a0 --- /dev/null +++ b/prd.md @@ -0,0 +1,32 @@ +Product Requirements Document (PRD) +Project Name: AI-Chat-to-Drive (Working Title) +Target: Professionisti IT, ricercatori e power user di LLM. + +Obiettivi del Prodotto +Privacy First: L'estrazione e la conversione avvengono interamente in locale sul browser dell'utente. + +Automazione Documentale: Eliminare il "copia-incolla" manuale verso documenti esterni. + +Formattazione Intelligente: Trasformare conversazioni grezze in documenti Markdown ben strutturati (con intestazioni, blocchi codice e grassetti). + +Requisiti Funzionali +Rilevamento Contesto: L'estensione deve attivarsi solo su domini specifici (chatgpt.com, gemini.google.com, claude.ai). + +Inference Locale: Integrazione di Transformers.js per eseguire un modello (es. SmolLM2-135M) tramite WebGPU. + +Parsing Semantico: Il modello deve ricevere il testo della pagina e restituire un JSON strutturato della conversazione. + +Integrazione Google Drive: Utilizzo delle API di Google (OAuth2) per creare un file .md o un Google Doc direttamente nella cartella specificata. + +Interfaccia Utente: Popup minimale per avviare il processo e selezionare la cartella di destinazione. + +Stack Tecnico +Runtime: Chrome Extension Manifest V3. + +LLM Engine: Transformers.js v3 (WebGPU/Wasm). + +Modello: SmolLM2-135M-Instruct (quantizzato 4-bit). + +Auth: Chrome Identity API (OAuth2). + +Storage: Google Drive API v3.