31 Μαΐου 2026 / Lefteris Iliadis / SomniusX

ShadowRealms AI — τοπικός AI Dungeon Master για επιτραπέζια RPG
31 Μαΐου 2026
Αυτό είναι το μεγαλύτερο δημόσιο έργο που τρέχω ως Somnius. Όχι πρόσθετο για τη μπάρα, όχι μετάφραση: μια πλήρης πλατφόρμα επιτραπέζιου RPG όπου ο υπολογιστής σου κρατά την ιστορία, τους χαρακτήρες και τα μοντέλα. Το αποθετήριο άνοιξε στις 28 Αυγούστου 2025. Αυτή η σελίδα στο Lefteros.com έχει ημερομηνία 31 Μαΐου 2026 — στιγμιότυπο της δουλειάς όπως στέκεται στο v0.8.0.
Η ιδέα είναι απλή και δύσκολη μαζί: ο AI να παίζει Dungeon Master χωρίς να στέλνει το χρονικό σου σε ξένο νέφος. Τα μοντέλα τρέχουν στο μηχάνημα που σηκώνει την στοίβα. Η συνέχεια του κόσμου μένει σε διανυσματική μνήμη. Οι κανόνες του World of Darkness περνούν από βιβλία που εσύ βάζεις στον φάκελο data/ — δεν τα φιλοξενώ εδώ.
Τι είναι
Το ShadowRealms AI είναι εφαρμογή ιστού (React και Flask) μέσα σε Docker. Ο παίκτης ανοίγει τον περιηγητή στο localhost:3000. Από πίσω τρέχουν το API, η Redis, η ChromaDB και τοπικά μοντέλα μέσω LM Studio και Ollama. Ένας έξυπνος δρομολογητής διαλέγει μοντέλο. Το RAG ψάχνει τη μνήμη του χρονικού πριν απαντήσει ο αφηγητής.
Αυτό που ζητάω από το σύστημα δεν είναι «γρήγορο chatbot». Είναι ποιότητα πάνω από ταχύτητα: επιβεβαίωση στα κρίσιμα, καθαροί ρόλοι (διαχειριστής / βοηθός / παίκτης), και ο λόγος εντός χαρακτήρα να μην μπαίνει στο εκτός χαρακτήρα (OOC). Στο README αυτό λέγεται ρητά. Στο COMPLETE.md είναι η φιλοσοφία πίσω από τις φάσεις.
Πρακτικά, σήμερα:
- Αφηγητής AI με RAG πάνω στην ChromaDB — συνέχεια χρονικού, όχι χθεσινή συνομιλία που χάνεται.
- Χρονικά με τοποθεσίες, συνομιλία, ζάρια και πρόσβαση αφηγητή ή διαχειριστή.
- Φύλλα χαρακτήρα Vampire / Werewolf / Mage, κλειδωμένα μετά τη δημιουργία.
- Προφίλ παίκτη ως κόμβος: λογαριασμός, χαρακτήρες, πορτρέτα, αιτήματα εκτός συνεδρίας.
- Ιδιωτικότητα: τα LLM τρέχουν εκεί που τα έστησες. Δεν είναι δική μου υπηρεσία στο σύννεφο.
Demo
Δείτε το demo στο YouTube — είσοδος, γοτθικό θέμα, διαχείριση χρονικών, πίνακας διαχειριστή. Είναι προεπισκόπηση του v0.8.0: φαίνεται η διεπαφή· δεν είναι ακόμα όλα τα κουμπιά δεμένα σε πλήρη κύκλο παιχνιδιού.
Τώρα: v0.8.0, φάση 3B ενεργή
Το README στο GitHub είναι η τρέχουσα περιγραφή της έκδοσης. Σήμερα:
- Φάση 2 ολοκληρωμένη — Docker, Flask, JWT, RAG, ChromaDB, δρομολογητής προς LM Studio / Ollama.
- Φάση 3A ολοκληρωμένη — εγγραφή και είσοδος, πίνακας διαχειριστή, γοτθικό θέμα, επεξεργασία χρονικών, κινητή διεπαφή.
- Φάση 3B ενεργή — χαρακτήρες, τοποθεσίες, συνομιλία, ζάρια, ασφάλεια, προφίλ παίκτη. Ακόμη δουλεύεται.
Το v0.8.0 είναι ο κόμβος του παίκτη: επισκόπηση, ρυθμίσεις λογαριασμού (ζώνη ώρας, ταυτότητα εκτός χαρακτήρα, πορτρέτο), χαρακτήρες προς παιχνίδι (αλλαγή ενεργού χαρακτήρα, κατάλογος, οδηγός πριν τον βοηθό δημιουργίας), αιτήματα εκτός συνεδρίας. Η συντόμευση των χρονικών έφυγε από το προφίλ — ανοίγουν από την αίθουσα χρονικών (αρχική). Στην κεφαλίδα υπάρχει Αρχική, αριστερά από το όνομα.
Δουλεύει ήδη, μεταξύ άλλων: είσοδος και εγγραφή, διαχειριστής (χρήστες, χρονικά, πρόσβαση υποστήριξης), γοτθικό θέμα, επεξεργασία χρονικού, κινητά, δικά μας παράθυρα επιβεβαίωσης, σύστημα ασφαλείας, θέατρο ζαριών και κρυφές ρίψεις, OOC που δεν τρέχει αφηγητή εντός χαρακτήρα, δημιουργία χαρακτήρα World of Darkness. Αυτό που ακόμα ωριμάζει είναι το βάθος των τοποθεσιών, η ζωντανή συνομιλία ως εμπειρία WebSocket, και ο κλειστός κύκλος παιχνιδιού που περιγράφει η φάση 4.
Δεν αντιγράφω εδώ το COMPLETE.md των χιλιάδων γραμμών. Όποιος θέλει κάθε πίνακα και κάθε έκδοση 0.7.x πηγαίνει στο πλήρες κείμενο στο GitHub και στο ημερολόγιο αλλαγών.
Πως εξελίχθηκε, φάση τη φάση
Φάση 1 — θεμέλιο. Αρχιτεκτονική, Docker, Flask, σχήμα βάσης, βασικά API, παρακολούθηση GPU, nginx. Χωρίς σταθερή στοίβα δεν έχει νόημα το AI.
Φάση 2 — τοπικά μοντέλα και μνήμη. LM Studio και Ollama στο δίκτυο του Compose, έξυπνος δρομολογητής, ενσωματώσεις, ChromaDB, αναζήτηση πλαισίου, εισαγωγή βιβλίων κανόνων. Εδώ κερδίζεται η συνέχεια του κόσμου.
Φάση 3A — διεπαφή. React πίσω από nginx, JWT, ρόλοι, προσκλήσεις, διαχειριστής, γοτθικό CSS, επεξεργασία χρονικών, κινητά. Πολλή διεπαφή υπήρχε πριν να κουμπώσει όλο το πίσω μέρος — το README το λέει χωρίς ντροπή.
Φάση 3B — παιχνίδι. Ασφάλεια και δοκιμές ως βάση· μετά ζάρια (δεξαμενές d10, κρυφές ρίψεις), συνομιλία, επίβλεψη OOC, βοηθός δημιουργίας χαρακτήρα, ένας κλειδωμένος χαρακτήρας ως κανόνας, προφίλ, χρόνος εκτός συνεδρίας, διαχειριστής πάνω στα χρονικά. Εδώ είμαστε.
Φάσεις 4–5 — στον ορίζοντα, όχι έτοιμες. Προχωρημένα φύλλα White Wolf, αφηγηματική μάχη, χτίσιμο κόσμου με έλεγχο διαχειριστή, πολλοί παίκτες, εφαρμογή προοδευτικού ιστού. Στο README είναι πίνακες «επόμενο» και «σχεδιασμένο». Δεν τα παρουσιάζω ως παραδοτέα.
Τεχνολογίες που χρησιμοποιήθηκαν
Ένα docker compose up σηκώνει το περιβάλλον χρήστη στη θύρα 3000, το API στη 5000, την ChromaDB στην 8000. Προτείνονται 16 GB RAM και κάρτα NVIDIA με 16 GB VRAM ή περισσότερο, αν θέλεις τα τοπικά μοντέλα να αναπνέουν. Linux, macOS, Windows με WSL2.
Αρχιτεκτονική
Το README στο GitHub έχει το ίδιο γράφημα σε mermaid. Εδώ είναι στατικό — ο ιστότοπος δεν φορτώνει mermaid στον επισκέπτη.

Το ίδιο γράφημα με το mermaid του README: περιβάλλον χρήστη → Nginx → Flask → δρομολογητής / RAG / SQLite / Redis, και από εκεί ChromaDB, LM Studio, Ollama, εποπτεία.
Από το COMPLETE.md, η ίδια ιδέα σε ASCII (σύστημα και Docker):
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ Vector DB │
│ React + MUI │◄──►│ Flask API │◄──►│ ChromaDB │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
┌─────────────────┐
│ SQLite DB │
│ Characters, │
│ Campaigns │
└─────────────────┘
│
┌─────────────────┐
│ GPU / LLM Mgmt │
└─────────────────┘
│
┌─────────────────┐
│ Local LLMs │
│ LM Studio, │
│ Ollama │
└─────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ ShadowRealms AI Platform │
├─────────────────────────────────────────────────────────────────┤
│ Frontend React :3000 │ Backend Flask :5000 │ Monitoring │
│ ChromaDB vector DB │ Redis cache │ Nginx proxy │
└─────────────────────────────────────────────────────────────────┘
Συστήματα παιχνιδιού
Αυτό που χτίζεται και παίζεται στο 0.8 είναι World of Darkness: Vampire, Werewolf, Mage — οδηγός δημιουργίας, αρχέτυπα Φύση και Συμπεριφορά, δεξαμενές, ζάρια στο πνεύμα του παλιού WoD. Το README αναφέρει και D&D 5e και δικά σου συστήματα ως στόχο ευελιξίας. Δεν ισχυρίζομαι ότι το D20 είναι ολοκληρωμένο προϊόν σήμερα.
Τα βιβλία κανόνων συγχρονίζονται όπως λέει το books/README.md. Μεγάλα αρχεία WoD μένουν εκτός git, στον φάκελο data/. Δεν τα ανεβάζω στο lefteros.com.
Γρήγορο ξεκίνημα
git clone https://github.com/Somnius/shadowrealms-ai.git
cd shadowrealms-ai
docker-compose up -d
Μετά: περιβάλλον χρήστη http://localhost:3000, API http://localhost:5000. Το .env βγαίνει από το env.template στο αποθετήριο — εκεί μπαίνουν τα σημεία των τοπικών μοντέλων. Οδηγίες Compose και βιβλίων: ρύθμιση Docker.
Συνεισφορά
Το έργο είναι μεγάλο σκόπιμα. Ένας άνθρωπος δεν το φέρνει μόνος του σε σημείο που να κάθεσαι στο τραπέζι και να παίζεις. Χρειάζεται συνεισφέροντες.
Αν γράφεις κώδικα, σχεδιάζεις μηχανισμούς RPG, δοκιμάζεις τη διεπαφή ή απλώς ανοίγεις καθαρά ζητήματα: υπάρχει θέση. Ο προτιμώμενος δρόμος είναι μέσα στο Docker, όχι εγκαταστάσεις npm / pip στον οικοδεσπότη που ξεφεύγουν από τις εικόνες.
- Αντίγραφο στο GitHub, κλάδος για το χαρακτηριστικό.
cp env.template .env, μετάdocker compose up --build.- Εξαρτήσεις:
docker compose exec backend pip install …καιdocker compose exec frontend npm installόπως στο CONTRIBUTING.md. - Δοκιμές μέσα στα δοχεία. Αίτημα συγχώνευσης με τι άλλαξε και γιατί.
Προτεραιότητες που ζητάω δημόσια: πυρήνας μηχανισμών, ενσωμάτωση AI και προτροπών, εμπειρία χρήσης και προσβασιμότητα, κάλυψη δοκιμών, τεκμηρίωση. Μετράει και ό,τι δεν είναι κώδικας — αναπαραγωγή σφαλμάτων, προτάσεις, δοκιμές στο χέρι.
Άδεια
MIT. Κώδικας, αντίγραφα, ιδιωτικές στοίβες στο δικό σου μηχάνημα: LICENSE. Τα εμπορικά βιβλία White Wolf δεν καλύπτονται από την άδεια του αποθετηρίου — μένουν δικά σου αρχεία στον φάκελο data/.
Πηγές
- github.com/Somnius/shadowrealms-ai
- SHADOWREALMS_AI_COMPLETE.md
- docs/CHANGELOG.md
- docs/CONTRIBUTING.md
Στο Για εμένα δεν εμφανίζεται ως θέση εργασίας· είναι κοινοτικό λογισμικό. Υπάρχει σύνδεσμος στα κεφάλαια εκεί και στην Παρουσία.














