Tea bar evidence-based per il matrimonio di Kamilla. L'ospite descrive come si sente, l'app consiglia la tisana giusta con il paper peer-reviewed accanto a ogni claim (PMID verificati su PubMed).
- Modalità base (default, sempre attiva): motore deterministico che legge
data.js. Nessuna chiave, nessun costo, funziona anche offline (apriindex.htmlda tablet). - Modalità AI (opzionale): un proxy serverless (
worker/) interpreta il testo libero via OpenAI. La chiave vive solo nel worker, mai nel sito pubblico.
index.html pagina
styles.css stile (estetica apothecary)
app.js logica + CONFIG.proxyUrl
data.js dati generati da ../erbe_database.json (29 erbe, 7 miscele, 33 evidenze)
worker/ proxy AI Cloudflare (opzionale)
- Crea un repo (es.
angolo-erborista) e metti dentro il contenuto diwebapp/. - Settings → Pages → Source:
main/ root. - Il sito sarà su
https://<utente>.github.io/angolo-erborista/. - Genera un QR code che punta a quell'URL → stampalo per il banchetto.
Se aggiorni le erbe/evidenze in
../erbe_database.json, rigeneradata.js:python3 -c "import json;d=json.load(open('../erbe_database.json'));open('data.js','w').write('window.ERBE_DB = '+json.dumps(d,ensure_ascii=False,indent=2)+';')"
npm i -g wrangler && wrangler login- Da
worker/:wrangler deploy wrangler secret put OPENAI_API_KEY→ incolla la chiave OpenAI.- Copia l'URL del worker in
app.js→CONFIG.proxyUrl = "https://.../recommend". - (Consigliato) In
worker/worker.jsimpostaALLOWED_ORIGINsul tuo dominio Pages.
Costo modalità AI: trascurabile (gpt-4o-mini, ~$0.0001 a richiesta). Senza proxy, il toggle AI resta disabilitato e l'app usa il motore base.
- La chiave OpenAI non è mai nel repo né nel browser.
- L'LLM può scegliere solo tra le 7 miscele firma (vincolo nel system prompt + validazione lato worker).
- Input utente troncato a 500 caratteri.