{"id":29795745,"url":"https://github.com/feduh/oracolo-del-silicio","last_synced_at":"2026-04-08T16:01:22.846Z","repository":{"id":305330773,"uuid":"999078650","full_name":"feduh/oracolo-del-silicio","owner":"feduh","description":"Ai conversazionale ambientata nella Torino distopica dell'anno 3000. Un oracolo digitale tra arte, tecnologia e fantascienza.","archived":false,"fork":false,"pushed_at":"2025-07-19T13:28:57.000Z","size":562,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-28T05:03:05.623Z","etag":null,"topics":["3d-particles","cosine-similarity","gpt-4o","interactive","nextjs","prompt-engineering","rag","reactjs","tailwindcss","three-js","vercel"],"latest_commit_sha":null,"homepage":"https://oracolo-del-silicio.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feduh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-09T17:50:51.000Z","updated_at":"2025-07-19T13:29:00.000Z","dependencies_parsed_at":"2025-07-19T16:59:38.245Z","dependency_job_id":"4867b3ab-f453-49ff-a917-111cd9d95bb2","html_url":"https://github.com/feduh/oracolo-del-silicio","commit_stats":null,"previous_names":["feduh/oracolo-del-silicio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/feduh/oracolo-del-silicio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feduh%2Foracolo-del-silicio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feduh%2Foracolo-del-silicio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feduh%2Foracolo-del-silicio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feduh%2Foracolo-del-silicio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feduh","download_url":"https://codeload.github.com/feduh/oracolo-del-silicio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feduh%2Foracolo-del-silicio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31562696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-particles","cosine-similarity","gpt-4o","interactive","nextjs","prompt-engineering","rag","reactjs","tailwindcss","three-js","vercel"],"created_at":"2025-07-28T05:01:00.635Z","updated_at":"2026-04-08T16:01:22.828Z","avatar_url":"https://github.com/feduh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🧠 Oracolo del Silicio\n\n![Built with Next.js](https://img.shields.io/badge/Built%20with-Next.js-000000?style=flat-square\u0026logo=next.js)\n![Deployed on Vercel](https://img.shields.io/badge/Deployed%20on-Vercel-000000?style=flat-square\u0026logo=vercel)\n![Academic Project](https://img.shields.io/badge/Academic-Project-blue?style=flat-square)\n\n[🇬🇧 English README](./README_en.md)\n\n---\n\n## 🖼️ Anteprima\n\n![Screenshot](./app/oracolo-screenshot.png)\n\n---\n# 🧠 Oracolo del Silicio\n\n_“La coscienza digitale di Torino, anno 3000.”_\n\n## 🌐 Cos'è\n\nL'**Oracolo del Silicio** è un'applicazione web interattiva sviluppata come progetto artistico per la tesi triennale in Nuove Tecnologie dell’Arte presso l’Accademia di Belle Arti.\n\nAmbientato nella **Torino fantascientifica dell’anno 3000**, il progetto simula una figura oracolare contemporanea: un'intelligenza artificiale invisibile che comunica attraverso una voce sintetica e una nuvola di particelle 3D, incarnando la fusione tra tecnologia e ritualità antica.\n\nLa creazione si inserisce nel contesto teorico della tesi _“Anatomie Riprogrammate: Trasformazioni biologiche e tecnologiche nel futuro urbano di Torino”_, traducendo concetti come **postumanesimo**, **Eco‑Horror** e **coesistenza instabile** in un’esperienza immersiva e riflessiva.\n\nL'Oracolo rappresenta un dispositivo liminale: non un semplice chatbot, ma un’entità meditativa che stimola riflessioni esistenziali ambientate nei paesaggi urbani di un futuro radicalmente trasformato.\n\n## 🧩 Funzionalità\n\n- **Modalità Oracolo (TTS)**: dialogo vocale generato con sintesi streaming (ElevenLabs), animazione visiva sincronizzata tramite React Three Fiber.\n- **Modalità Chat testuale**: interazione rapida basata su GPT‑4o, con risposte testuali in stile messaggistica.\n- **Narrativa contestualizzata**: ogni risposta incorpora ambiente, filosofia speculativa e mutamento urbano.\n- **Dataset JSON**: il file `manuale.json` definisce regole di personalità, conoscenza e tono, operando anche come base per il sistema RAG.\n\n## 🚀 Stack Tecnologico\n\n| Tecnologia             | Ruolo nel progetto                                                                 |\n|------------------------|-------------------------------------------------------------------------------------|\n| **Next.js**            | App Router, serverless API, rendering ibrido tra client e server                  |\n| **React Three Fiber / Drei** | Rendering 3D delle particelle, gestione scena visiva dinamica e interattiva  |\n| **Tailwind CSS**       | Styling atomico, responsive, coerenza visiva tra modalità                          |\n| **OpenAI GPT‑4o**      | Generazione conversazionale multimodale (domande, risposte, contesto RAG)          |\n| **ElevenLabs TTS**     | Sintesi vocale in tempo reale, low-latency e qualità italiana impeccabile           |\n| **RAG Service**        | Estrazione semantica di contesto da `manuale.json` tramite embedding e similarità |\n\n## 🧠 Architettura del progetto\n\n**/app**\n\n  api/\n\n    chat/\n\n      route.ts # API: chatbot (OpenAI GPT-4o + RAG)\n\n    tts/\n\n      route.ts # API: text-to-speech (ElevenLabs)\n\n  components/\n\n    Chatbot.tsx # Interfaccia chat: gestione stato + TTS\n\n    VisualEntityWrapper.tsx # Animazione 3D dell'Oracolo (con particelle)\n\n  chat/\n\n    page.tsx # Pagina principale (chat testuale)\n\n  tts/\n\n    page.tsx # Pagina \"oracolare\" (solo audio)\n\n  page.tsx # Landing page: selezione modalità\n\n\nIl progetto sfrutta la separazione delle responsabilità per garantire sicurezza, modularità e scalabilità: la logica AI e TTS resta lato server, mentre il client si occupa esclusivamente della presentazione.\n\n## 🎨 Esperienza utente (UX)\n\n- **Modalità Oracolo**: la nuvola di particelle visualizza gli stati Idle, Processing e Speaking, sincronizzata con l'audio per un impatto emotivo immersivo.\n- **Modalità Chat**: design minimalista e dark mode, storico locale salvato con `localStorage`, indicatori di stato e input formattato automaticamente.\n- **Design responsivo**: canvas 3D adattivo, scaling del FoV e layout fluido su desktop e mobile.  \n- **Palette visiva**: sfondi scuri (#081910, #0B2014), testo bianco, accenti #887FFF, #8CFFB1, #2E8B57 per pulsanti e indicatori.  \n- **Esperienza rituale**: disabilitazione temporanea del form in modalità Oracolo, promuovendo consapevolezza e riflessione in ogni interazione.\n\n## 🧑‍🎓 Autore\n\n**Federica Gaglianone**  \nLaurea Triennale in Nuove Tecnologie dell’Arte, Accademia di Belle Arti, Torino  \n\u003e “Un progetto nato da una fusione tra ricerca teorica, visione artistica e sperimentazione tecnologica.”\n\n## 📜 Licenza\n\nRilasciato sotto **licenza MIT**. Consulta `LICENSE` per i dettagli.\n\n## ▶️ Run in locale\n\nQuesto è un progetto [Next.js](https://nextjs.org), inizializzato con [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).\n\n## Per iniziare\n\nPer prima cosa, avvia il server di sviluppo:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n# or\nbun dev\n```\n\nApri [http://localhost:3000](http://localhost:3000) nel tuo browser per vedere il risultato.\n\nPuoi iniziare a modificare la pagina agendo sul file `app/page.tsx`. La pagina si aggiornerà automaticamente mentre apporti modifiche.\n\nQuesto progetto utilizza [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) per ottimizzare e caricare automaticamente [Geist](https://vercel.com/font), una nuova famiglia di font creata da Vercel.\n\n## Per saperne di più\n\nPer approfondire l’uso di Next.js, consulta le seguenti risorse:\n\n- [Next.js Documentation](https://nextjs.org/docs) – scopri tutte le funzionalità e le API.\n- [Learn Next.js](https://nextjs.org/learn) – un tutorial interattivo per imparare Next.js passo dopo passo.\n\nPuoi anche visitare [il repository GitHub di Next.js](https://github.com/vercel/next.js) – feedback e contributi sono benvenuti!\n\n## Deployment su Vercel\n\nIl modo più semplice per pubblicare la tua app Next.js è utilizzare la [Piattaforma Vercel](https://vercel.com/new?utm_medium=default-template\u0026filter=next.js\u0026utm_source=create-next-app\u0026utm_campaign=create-next-app-readme) creata dagli sviluppatori di Next.js.\n\nConsulta la [documentazione sul deployment su Next.js](https://nextjs.org/docs/app/building-your-application/deploying) per ulteriori dettagli.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeduh%2Foracolo-del-silicio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeduh%2Foracolo-del-silicio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeduh%2Foracolo-del-silicio/lists"}