lefteros_by SomniusX
EN ↗Πες ένα γεια

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

ShadowRealms AI — τοπικός AI Αφηγητής για World of Darkness

31 Μαΐου 2026

Το νέο λογότυπο του ShadowRealms AI: η σφραγίδα με τη σταγόνα αίματος και το φεγγάρι

Αυτό είναι το μεγαλύτερο δημόσιο έργο που τρέχω ως Somnius: μια εφαρμογή ιστού για χρονικά World of Darkness με AI Αφηγητή, που τη φιλοξενείς μόνος σου. Η εφαρμογή τρέχει σε Docker και τα γλωσσικά μοντέλα στον δικό σου υπολογιστή, μέσω LM Studio και Ollama, οπότε οι ιστορίες σου μένουν σε σένα. Κάθε χρονικό παίζεται είτε με τους κλασικούς κανόνες (Classic, oWoD Revised) είτε με το V5, και τόσο η διεπαφή όσο και ο Αφηγητής μιλούν ελληνικά και αγγλικά.

Το αποθετήριο άνοιξε στις 28 Αυγούστου 2025. Στις 4 Οκτωβρίου 2026 βγήκαν μαζί οι εκδόσεις 0.9.0 έως 0.10.0, η μεγαλύτερη ανανέωση από την αρχή του έργου, και ένα trailer δύο λεπτών, στα αγγλικά και στα ελληνικά. Στις 15 και 16 Οκτωβρίου ακολούθησαν οι εκδόσεις 0.11.0 έως 0.14.1, για χαρακτήρες V5 φτιαγμένους όπως λένε τα βιβλία, και ένα νέο trailer δυόμισι λεπτών. Αργότερα στις 16 βγήκε το 0.15.0, με χαρτιά χαρακτήρων για ghouls σε V5 και Classic, και μέσα στη νύχτα ως τις 17 τα 0.16.0 έως 0.22.1, που δίνουν φωνή στη συνομιλία: την ακούς να διαβάζεται και μπορείς να λες τις ατάκες σου. Μέσα στις 17 ακολούθησαν τα 0.23.0 έως 0.28.0, με φωνές από το cloud (προαιρετικά) και το χρονικό ως τώρα: το τοπικό μοντέλο γράφει τη συνομιλία κάθε χρονικού ως πρακτικά, νύχτα τη νύχτα. Στις 18 και 19 Οκτωβρίου βγήκαν τα 0.29.0 έως 0.31.0: ο AI Αφηγητής θυμάται πια το χρονικό ως τώρα, και ένας χαρακτήρας που πέφτει παίρνει τον θάνατό του γραμμένο από το τοπικό μοντέλο, από μια σελίδα διαχείρισης που σκοτώνει, ανασταίνει και κρατά το ημερολόγιο θανάτων. Η εφαρμογή είναι ανοιχτού κώδικα, με άδεια MIT.

Ένα χρονικό V5 σε εξέλιξη: κάρτες ζαριών, Rouse check, η απάντηση του AI Αφηγητή και ο πίνακας του χαρακτήρα

Το «Athens by Night» (V5) σε εξέλιξη: δύο κάρτες ζαριών, ένα Rouse check, η απάντηση του Αφηγητή και δεξιά ο χαρακτήρας με το Hunger του.

Beta testing

Ψάχνω λίγους ανθρώπους να δοκιμάσουν την πλατφόρμα, όχι να παίξουν κανονικό χρονικό: εγγραφή, χαρακτήρες Classic και V5 στη σφυρηλάτηση, ένα χρονικό με δωμάτια, ζάρια, μια κουβέντα με τον AI Αφηγητή, φωνή από το κινητό, η εναλλαγή ελληνικών και αγγλικών, το χρονικό ως τώρα. Τρέχει σε ένα δοκιμαστικό αντίγραφο στο μηχάνημά μου, με τοπικό μοντέλο, οπότε οι απαντήσεις μπορεί να αργούν και ο server κάποιες ώρες να είναι κάτω. Ό,τι γράφεται στα δοκιμαστικά χρονικά το βλέπω εγώ, ως διαχειριστής.

Για πρόσβαση στείλε μου μήνυμα (στο Discord ή από τη σελίδα επικοινωνίας) και σου δίνω ιδιωτικά τη διεύθυνση και έναν κωδικό πρόσκλησης. Ό,τι βρεις, γράψε το με τη φόρμα του beta στο GitHub: χρειάζεται δωρεάν λογαριασμό, και τα issues είναι δημόσια, οπότε χωρίς προσωπικά στοιχεία και χωρίς τη διεύθυνση του server.

Το trailer

Το νέο trailer, δυόμισι λεπτά, δείχνει ό,τι ήρθε μετά το πρώτο: τον Αφηγητή να ορίζει τους κανόνες δημιουργίας ενός χρονικού, την καθοδηγούμενη δημιουργία να προτείνει clan από μερικές ερωτήσεις, τον νέο οδηγό με κάθε δύναμη και τη σελίδα της στο βιβλίο, ένα bestial failure με το /ai explain πάνω του, ένα botch στο Classic, και το χαρτί του χαρακτήρα σε PDF.

Όλα όσα δείχνει είναι αληθινά: καταγράφηκε σε ένα αντίγραφο επίδειξης της εφαρμογής, με πραγματικές απαντήσεις του AI Αφηγητή (το Llama-Krikri, τοπικά), πραγματικές ρίψεις ζαριών από τον server και πρωτότυπη μουσική. Για το bestial failure και το botch απλώς ξανάριχνα μέχρι να έρθουν. Τα βίντεο παίζουν απευθείας από το GitHub, σε 1080p στα 60 fps· είναι περίπου 570 MB το καθένα, οπότε θέλουν καλή σύνδεση. Για την καλύτερη εμπειρία, δες τα σε πλήρη οθόνη.

Στα ελληνικά

Στα αγγλικά

Αν δεν παίζει στον browser σου, κατέβασε το βίντεο: ελληνικά · αγγλικά · η σελίδα του trailer στο GitHub. Το πρώτο trailer, του 0.10.0, είναι ακόμα στο GitHub.

Φωνή (0.16 έως 0.22)

Από το βράδυ της 16ης Οκτωβρίου ως το πρωί της 17ης, επτά εκδόσεις έδωσαν φωνή στη συνομιλία. Όλα τρέχουν στον server της εφαρμογής, σε ένα προαιρετικό container speech. Περισσότερα στο άρθρο για τη φωνή.

Μια απάντηση του Αφηγητή διαβάζεται φωναχτά: το μήνυμα τονίζεται και η τρέχουσα πρόταση φαίνεται στη γραμμή ομιλίας

Ακρόαση σε ένα δωμάτιο: το μήνυμα που διαβάζεται τονίζεται, και η γραμμή δείχνει την πρόταση που ακούγεται.

  • Ακρόαση (0.16, 0.17): ένα αυτί στην κεφαλίδα του δωματίου διαβάζει φωναχτά τη συνομιλία, με τις φωνές του κινητού ή του server (Piper για τα αγγλικά, Pocket TTS για τα ελληνικά). Ο χαρακτήρας μιλά με φωνή του φύλου του (γυναικεία, ανδρική ή ουδέτερη, όπως ορίζεται στο χαρτί του χαρακτήρα), ο Αφηγητής με τη φωνή του αφηγητή του χρονικού, σε αμερικάνικα ή βρετανικά αγγλικά ή ελληνικά. Αυτός που φτιάχνει το χρονικό ορίζει τι διαβάζεται εξ ορισμού· κάθε παίκτης κλείνει ό,τι δεν θέλει και ρυθμίζει ταχύτητα και ένταση.
  • Ομιλία (0.18): το μικρόφωνο στο πλαίσιο του μηνύματος ηχογραφεί ως τρία λεπτά, με μεγάλο χρονομετρητή και δακτύλιο που πάλλεται και αλλάζει χρώμα όσο περνά ο χρόνος. Ξανακούς με μπάρα και ταχύτητες, διαλέγεις με μια σημαία τη γλώσσα που μίλησες, γίνεται η μεταγραφή με το Whisper, διορθώνεις το κείμενο και το στέλνεις εντός χαρακτήρα, ως παράθεση ή εκτός χαρακτήρα. Τα φωνητικά μηνύματα έχουν ένα μικρόφωνο που το βλέπουν όλοι, και η ηχογράφηση παίζει από τη συνομιλία όσο ζει το χρονικό.
  • Στη γλώσσα σου (0.19): διαβάζεις και ακούς τη συνομιλία στη γλώσσα σου, με το πρωτότυπο ένα πάτημα μακριά· μιλάς ελληνικά και στέλνεις αγγλικά. Μεταφραστής είναι το Llama-Krikri, και τα ονόματα του χρονικού μένουν έξω από τη μετάφραση.
  • Έλεγχος της μεταγραφής (0.21): το Laya-words, το μοντέλο μου από το RecMeets, σημειώνει τις λέξεις που μάλλον ακούστηκαν λάθος, και το Llama-Krikri διορθώνει μόνο αυτές, μαζί με την αργκό και τις βρισιές.
  • Διάβασμα μαζί (0.22): πρόταση προς πρόταση, οπότε μια μεγάλη απάντηση ξεκινά σε περίπου τρία δευτερόλεπτα· το μήνυμα τονίζεται και η συνομιλία το ακολουθεί· «Διάβασε αυτό» και «Διάβασε από εδώ» με παρατεταμένο πάτημα· τα ζάρια διαβάζονται ως πρόταση στη γλώσσα σου. Και στο 0.22.1, οι αγγλικές φωνές λένε τα ελληνικά ονόματα όπως στα ελληνικά.

Το χρονικό ως τώρα (0.23 έως 0.28)

Στις 17 Οκτωβρίου, έξι εκδόσεις έδωσαν σε κάθε χρονικό τα πρακτικά του. Το τοπικό μοντέλο γράφει τη συνομιλία ως ιστορία, όπως γράφονται τα πρακτικά μιας σύσκεψης από την ηχογράφησή της. Περισσότερα στο άρθρο για το χρονικό ως τώρα.

  • Το χρονικό ως τώρα (0.24): ένας πίνακας στις ρυθμίσεις του χρονικού γράφει τη συνομιλία ένα δωμάτιο και μία νύχτα τη φορά, στα ελληνικά με το Llama-Krikri, στα αγγλικά με το μοντέλο του LM Studio: εν συντομία, η ιστορία ως τώρα, τα ανοιχτά νήματα, και κάθε νύχτα με τίτλο, παραγράφους και το τι έγινε, με κάθε γεγονός να δείχνει πίσω στα μηνύματά του. Γράφεται από όσα μπορούσαν να διαβάσουν οι παίκτες· ο Αφηγητής έχει δικό του μέρος με όσα δεν είδαν. Μόνο οι νύχτες που άλλαξαν ξαναγράφονται, με πρόοδο ζωντανά και Ακύρωση.
  • Πρακτικά σε χαρτί (0.25, 0.26): εξαγωγή σε Markdown ή PDF, για όλο το χρονικό, τις τελευταίες N νύχτες ή ένα διάστημα ημερομηνιών· σε όψη χαρτιού του χαρακτήρα ή τρόμου (λεκιασμένο χαρτί, πλαίσιο στο κόκκινο του αίματος με αγκάθια, πιτσιλιές και στάλες), σε χρώμα ή ασπρόμαυρα για εκτύπωση, A4 ή Letter. Το ελληνικό κείμενο επιλέγεται και αναζητείται στο PDF.
  • Ο Αφηγητής διορθώνει και μεταφράζει (0.25): διόρθωση όλης της ιστορίας σε ένα πλαίσιο Markdown, με το γραμμένο κείμενο να μένει χώρια· μετάφραση στην άλλη γλώσσα από τον μεταφραστή της συνομιλίας, με τα ονόματα προστατευμένα. Και «Εδώ τελείωσε η συνεδρία» (0.26) από το μενού ενός μηνύματος, που κόβει τις νύχτες εκεί.
  • Προηγουμένως… (0.27): όποιος ανοίξει ένα δωμάτιο μετά από δώδεκα ώρες μακριά βλέπει μια κάρτα με τις νύχτες που έχασε και την ιστορία εν συντομία, φτιαγμένη μόνο από την όψη των παικτών και χωρίς κλήση στο μοντέλο, με «Πήγαινε στην αρχή» κάθε νύχτας και «Διάβασέ το» φωναχτά.
  • Για τον διαχειριστή (0.28): ρυθμίσεις ανά χρονικό (κενό νυχτών, μοντέλο που γράφει, κουβέντα του τραπεζιού), προαιρετική νυχτερινή εκτέλεση, υγεία του συγγραφέα, και αρχεία: ένα χρονικό που σβήνεται αφήνει πίσω τα πρακτικά και την απομαγνητοφώνησή του, για τους διαχειριστές και για τον Αφηγητή του για 30 μέρες.
  • Φωνές από το cloud (0.23): φωνές Google Gemini, δωρεάν ή επί πληρωμή, που τις ανοίγει ο διαχειριστής και τις διαλέγει κάθε χρονικό για τον εαυτό του· κλειστές εξ ορισμού, κι αν το Gemini δεν απαντήσει, μιλά η τοπική φωνή.

Ο Αφηγητής θυμάται (0.29 έως 0.31)

Στις 18 και 19 Οκτωβρίου, τρεις εκδόσεις έβαλαν τα πρακτικά σε χρήση. Περισσότερα στο άρθρο για τη μνήμη του Αφηγητή.

  • Ο Αφηγητής θυμάται (0.29): κάθε απάντηση του AI Αφηγητή παίρνει ένα σύντομο κομμάτι από το χρονικό ως τώρα (την ιστορία εν συντομία, τα ανοιχτά νήματα, τις τρεις τελευταίες νύχτες του δωματίου, μία γραμμή για κάθε άλλο δωμάτιο, τις παραγράφους που είναι μόνο για τον Αφηγητή), το πολύ το ένα τέταρτο του prompt και ποτέ πάνω από 1.500 tokens, χωρίς κλήση στο μοντέλο και χωρίς αναμονή. Είναι η ιδιωτική μνήμη του Αφηγητή, δεν διαβάζεται ποτέ στους παίκτες· ανοιχτή σε κάθε χρονικό, με διακόπτη στις ρυθμίσεις του χρονικού, και το /ai context τη δείχνει μόνο στους διαχειριστές.
  • Ένας θάνατος γραμμένος (0.30): όταν ένας διαχειριστής σκοτώνει έναν χαρακτήρα, ο συγγραφέας του χρονικού γράφει δύο με τέσσερις προτάσεις για τον θάνατο στη γλώσσα του χρονικού, από την ιστορία ως τώρα και τις τελευταίες νύχτες του χαρακτήρα, μόνο από την όψη των παικτών· σε αποτυχία ή χρονικό όριο μπαίνει η σταθερή πρόταση, και στα ελληνικά. Επίσης: οι εντολές με κάθετο του συνθέτη έρχονται από τον server, στα ελληνικά και στα αγγλικά, και ένα χρονικό που φτιάχνεται μέσω του API χωρίς γλώσσα παίρνει τη γλώσσα της εφαρμογής του δημιουργού του.
  • Η σελίδα του θανάτου (0.31): Διαχείριση → Χαρακτήρες απαριθμεί κάθε χαρακτήρα παίκτη, ζωντανό ή πεσόντα· το Σκότωμα διαλέγει τον θάνατο (ήπιος, θυσία, φρικτός), δείχνει το κείμενο και το αν το έγραψε το AI· η Ανάσταση το αναιρεί και το σκότωμα μένει στο ημερολόγιο θανάτων, που γράφεται και στο ημερολόγιο εποπτείας. Οι πεσόντες δείχνουν το κείμενο του θανάτου στην κάρτα προφίλ του ιδιοκτήτη και στο χαρτί του χαρακτήρα. Το prompt του θανάτου απαγορεύει επινοημένα ονόματα, clans, τόπους και lore, και τα ανάμεικτα αλφάβητα στα ελληνικά πέφτουν στη σταθερή πρόταση. Και στο κινητό όλο το χαρτί του χαρακτήρα κυλάει, με μόνο την μπάρα με το όνομα να μένει πάνω.
  • SPEC.md: μια προδιαγραφή του συστήματος στο αποθετήριο, στο 0.31.0: τι είναι το σύστημα και τι πρέπει να κάνει, ρόλοι, δεδομένα, στόχος.

Τι άλλαξε από το 0.10

0.15.0 «Blood servants» (16 Οκτωβρίου 2026): οι ghouls έχουν πια δικό τους χαρτί του χαρακτήρα, που το φτιάχνεις από το χαρτί του χαρακτήρα του βρικόλακά σου με το «Πρόσθεσε ghoul retainer». Ο ghoul ανήκει στον ίδιο παίκτη, ακολουθεί τον αφέντη του (domitor) και δεν έχει δικό του χρονικό· ο Αφηγητής του αφέντη μπορεί να τον δει, και ο AI Αφηγητής βλέπει μέχρι δύο ghouls του χαρακτήρα που παίζεται. Περισσότερα στο άρθρο για το 0.15.

  • Ghouls στο V5: retainer πάνω στα πρότυπα θνητών του corebook (Weak •, Average ••, Gifted •••, ή Deadly· σελ. 185, 194) ή ghoul παίκτη κατά το Players Guide (σελ. 140–142), με μία δύναμη επιπέδου 1 από μια Discipline του αφέντη, τα Merits και Flaws που είναι μόνο για ghouls, και Δεσμό Αίματος. Χωρίς blood pool: στο V5 ο ghoul δεν έχει αίμα να ξοδέψει, ούτε Hunger ούτε Blood Potency (corebook σελ. 234). Ο server τον ελέγχει όπως έναν βρικόλακα.
  • Ghouls στο Classic Revised, κατά το Ghouls: Fatal Addiction: Attributes 6/4/3, Abilities 11/7/4, 21 freebies, Potence 1 και μία ακόμα Discipline, Blood Pool μέχρι 10 που ξοδεύει 1 ανά γύρο, το Background Domitor, και PDF στημένο όπως το παλιό χαρτί του χαρακτήρα για ghouls.
  • Το PDF του χαρτιού του χαρακτήρα έχει έκδοση για εκτύπωση χωρίς πεδία φόρμας, που φαίνεται ίδια σε κάθε πρόγραμμα, η έκδοση που συμπληρώνεται κρατά τα τουρκικά και άλλα γράμματα με τόνους, και τα μεγάλα ιστορικά και οι σημειώσεις συνεχίζουν σε επιπλέον σελίδες.

Το χαρτί του χαρακτήρα ενός ghoul του Classic: Potence, το Background Domitor, το Blood Pool, ο Δεσμός Αίματος και η υπερδοσολογία

Το χαρτί του χαρακτήρα ενός ghoul του Classic στο PDF, με το Blood Pool του.

Στις 15 και 16 Οκτωβρίου 2026 βγήκαν οι εκδόσεις 0.11.0 έως 0.14.1 (η 0.11.0 στις 15, οι υπόλοιπες στις 16). Σχεδόν όλες είναι το Forge v2: χαρακτήρες V5 φτιαγμένοι όπως λένε τα βιβλία. Περισσότερα στο άρθρο για το 0.14.

0.11.0 «By the book»:

  • Ένας κατάλογος κανόνων για το V5. Και τα 16 clans (τα επτά του corebook, τα επτά του Players Guide με τους Hecata, συν τους Caitiff και τους thin-bloods), κάθε δύναμη Discipline, ritual της Blood Sorcery, ceremony του Oblivion και formula της thin-blood alchemy, και οι 18 predator types, το καθένα με το βιβλίο και τη σελίδα του και μια σύντομη περιγραφή στα ελληνικά και στα αγγλικά. Τον έφτιαξε ένα script από τα επίσημα βιβλία, μόνο με γεγονότα, χωρίς κείμενο από τα βιβλία· οι περιγραφές είναι γραμμένες με δικά μας λόγια.
  • Ο οδηγός δημιουργίας του V5 ακολουθεί τη σειρά του corebook, με δυνάμεις και rituals από λίστες και τις πραγματικές επιλογές κάθε predator type. Στο βήμα των Disciplines βλέπεις από πριν τι δίνει ένα predator type, και τα Flaws του μετρούν πλέον επιπλέον: κάθε χαρακτήρας παίρνει και 2 δικούς του πόντους Flaws, όπως λέει το corebook (σ. 136). Υπάρχει και προαιρετική αρχική εμπειρία για neonates και ancillae.
  • Εξαγωγή σε PDF: ένα συμπληρώσιμο χαρτί του χαρακτήρα δύο σελίδων για V5 ή Classic Revised, ασπρόμαυρο για κοινούς εκτυπωτές, και με ελληνικά.
  • /ai explain: απαντάς σε μια κάρτα ζαριών, και ο Αφηγητής εξηγεί πως μετρήθηκε η ζαριά, βήμα βήμα, με τη σελίδα του corebook. Οι κρυφές ζαριές μένουν κρυφές.
  • Κανόνες δημιουργίας χαρακτήρων ανά χρονικό: ποια clans, predator types και ηλικίες προσφέρει ο οδηγός, και κανόνες του τραπεζιού στην αρχή του.
  • Τα βιβλία κανόνων εισάγονται με script, όχι διαβασμένα από AI, σε ξεχωριστές συλλογές για κάθε έκδοση, ώστε ένα χρονικό Vampire να μην παίρνει ποτέ κανόνες του Werewolf. Και η επιείκεια των ζαριών ρυθμίζεται ανά έκδοση.

0.12.0 «Merits and guides»:

  • Καθοδηγούμενη δημιουργία: αντί για τον πλήρη οδηγό, ο παίκτης μπορεί να απαντήσει σε ερωτήσεις με σενάρια, μία ανά οθόνη, και να πάρει πρόταση για clan και predator type, με τα Attributes και τα Skills συμπληρωμένα. Όλα μένουν επεξεργάσιμα. Οι ερωτήσεις είναι ένα πρώτο σετ προς το παρόν.
  • Πλεονεκτήματα από τον κατάλογο: Backgrounds, Merits, Flaws και loresheets από λίστες, με τις βαθμίδες που τυπώνουν τα βιβλία.
  • Ο server ελέγχει κι αυτός τους χαρακτήρες V5, και απορρίπτει ένα χαρτί του χαρακτήρα που παραβαίνει τους κανόνες, λέγοντας τι φταίει στα ελληνικά ή στα αγγλικά. Ο Αφηγητής μπορεί πάντα να εγκρίνει ένα χαρτί του χαρακτήρα εκτός κανόνων.
  • Το PDF αποκτά σελίδα αναφοράς με το clan, τις δυνάμεις, τα rituals και τα πλεονεκτήματα του χαρακτήρα, το καθένα με το βιβλίο και τη σελίδα του.

0.13.0 «Saved for later»: οι πόντοι πλεονεκτημάτων που δεν ξοδεύτηκαν στη δημιουργία μένουν στο χαρτί του χαρακτήρα και ξοδεύονται αργότερα, με έγκριση του Αφηγητή. Ένα χρονικό μπορεί να αφήσει τον AI Αφηγητή να εγκρίνει όσα περνούν τον έλεγχο κανόνων· αυτό είναι ένας σταθερός έλεγχος, όχι το γλωσσικό μοντέλο, και ένας άνθρωπος μπορεί να τον αναιρέσει.

0.14.0 «The library» και 0.14.1 «House rulings»: ο Αφηγητής διαλέγει ποια βιβλία επιτρέπει ένα χρονικό, και ο οδηγός προσφέρει μόνο ό,τι περιέχουν. Ο κατάλογος μεγαλώνει με τα συμπληρώματα: 24 βιβλία, με 157 loresheets, 210 δυνάμεις Disciplines, 109 rituals, 29 ceremonies, 48 formulae και 279 Merits, Backgrounds και Flaws. Και τρεις κανόνες του τραπεζιού (house rulings), εκεί που το βιβλίο δεν λέει ή λέει κάτι άλλο: το Suspect των Caitiff μετρά στους 2 πόντους Flaws, ένας παίκτης μπορεί να πάρει πάνω από ένα loresheet στη δημιουργία, και ένας παίκτης μπορεί να πάρει δικό του Enemy ή Dark Secret, δίπλα σε αυτό που δίνει το predator type.

Τι άλλαξε από το 0.8

0.9.0 «Into the Night» ξαναχτίζει το μεγαλύτερο μέρος της εφαρμογής:

  • Δύο εκδόσεις κανόνων. Κάθε χρονικό διαλέγει Classic ή V5 όταν δημιουργείται και την κρατά. Μηχανή ζαριών V5 (Hunger dice, ζευγάρια δεκαριών, messy critical, bestial και total failure, Willpower reroll, Rouse check), ξεχωριστός οδηγός δημιουργίας και χαρτί του χαρακτήρα για κάθε έκδοση.
  • Νέα εφαρμογή: πραγματικές διευθύνσεις για κάθε σελίδα, μία πλοήγηση, και συνομιλία σε στυλ Discord με ζωντανές ενημερώσεις, κάρτες ζαριών και εντολές με κάθετο.
  • Ελληνικά παντού: πάνω από 1.080 κείμενα σε ελληνικά και αγγλικά, και ο Αφηγητής απαντά στη γλώσσα του παίκτη (στα ελληνικά με το Llama-Krikri).
  • Γοτθικός επανασχεδιασμός: 97 πρωτότυπα σύμβολα και σφραγίδες σε SVG, ομίχλη, φως κεριών, αίμα στα botch, κινούμενα ζάρια, και ρύθμιση ατμόσφαιρας για όποιον θέλει κάτι πιο ήρεμο.
  • AI: πρώτα τα τοπικά μοντέλα, πολύγλωσση μακροπρόθεσμη μνήμη που επιτέλους δουλεύει, και ο ταξινομητής Laya για τη συνομιλία εκτός χαρακτήρα.
  • Ασφάλεια: όρια ρυθμού, κλείδωμα λογαριασμών, ανάκληση token, πολιτική κωδικών, καταγραφή εισόδων, και αυστηρό Content-Security-Policy.

0.9.1 έως 0.9.4 γεμίζουν τα κενά: πρώτα διαλέγεις έκδοση και μετά σειρά παιχνιδιού, το Willpower reroll κοστίζει Willpower, καρτέλα Logins & lockouts για τους διαχειριστές, token που ανανεώνονται μόνα τους, γραμμές καταγραφής που δεν πλαστογραφούνται, και στο τραπέζι:

  • Δεξαμενές ζαριών από το χαρτί του χαρακτήρα: όταν ο Αφηγητής ζητά ρίψη, ο server υπολογίζει τη δεξαμενή από το χαρτί του χαρακτήρα σου (εξειδικεύσεις, Hunger, τραύματα) και στη συνομιλία εμφανίζεται ένα κουμπί που συμπληρώνει το παράθυρο των ζαριών.
  • Αντιγραφή, απάντηση με παράθεμα και διαγραφή στα μηνύματα, και παλαιότερο ιστορικό καθώς ανεβαίνεις.

0.10.0 «New foundations» αλλάζει τα θεμέλια: η διεπαφή χτίζεται πλέον με Vite αντί για Create React App, με build σε περίπου ένα δευτερόλεπτο, μικρότερο πακέτο και μηδέν ευρήματα στο npm audit της παραγωγής (από 69). Ήρθαν react-router 7, motion 14, i18next 26 και Jest 30, και όσα πακέτα δεν χρησιμοποιούνταν έφυγαν. Τα 204 lint warnings διορθώθηκαν και το CI πλέον αποτυγχάνει σε οποιοδήποτε καινούργιο. Στο πίσω μέρος: Python 3.12 και ChromaDB κλειδωμένη στην 1.5.9.

Πως παίζεται

Μια ρίψη V5 που κυλά, κάθεται ως επιτυχία και μπαίνει στη συνομιλίαΟι κανόνες. Στο Classic, τα ζάρια ακολουθούν το Revised: δυσκολία 2 έως 10, οι άσοι ακυρώνουν επιτυχίες, botch μόνο όταν δεν πέτυχε τίποτα, οι εξειδικεύσεις ξαναρίχνουν τα δεκάρια και το Willpower δίνει μία επιτυχία που δεν ακυρώνεται. Στο V5 υπάρχουν τα Hunger dice, τα messy critical, τα bestial failure, το Willpower reroll και τα Rouse check. Η προτροπή του Αφηγητή και η αναζήτηση στα βιβλία κανόνων ακολουθούν την έκδοση του χρονικού.

Στο τραπέζι. Η συνομιλία θυμίζει Discord: ομαδοποιημένα μηνύματα, μετρητές μη αναγνωσμένων, δωμάτια εντός και εκτός χαρακτήρα. Οι ρίψεις γίνονται και δημοσιεύονται από τον server, οπότε μια κάρτα ζαριών στη συνομιλία είναι πάντα αληθινή ρίψη. Εντολές /roll, /me, /chat για όλους και /ai για τους διαχειριστές, και ένα κουμπί «Μιλάς ως» για χαρακτήρα, εκτός χαρακτήρα ή, για το προσωπικό, τη φωνή του Αφηγητή.

Φωνή. Ανοίγεις το αυτί σε ένα δωμάτιο και η συνομιλία διαβάζεται φωναχτά: κάθε χαρακτήρας με φωνή του φύλου του, ο Αφηγητής με τη φωνή του αφηγητή του χρονικού, τα ζάρια σε μία πρόταση. Πατάς το μικρόφωνο για να μιλήσεις αντί να γράψεις· ελέγχεις το κείμενο πριν φύγει, και όλοι μπορούν να ακούσουν την ηχογράφηση.

Το χρονικό ως τώρα. Ο Αφηγητής πατά Ενημέρωση και το τοπικό μοντέλο γράφει τη συνομιλία ως ιστορία, νύχτα τη νύχτα, με κάθε γεγονός να δείχνει στα μηνύματά του· τη διορθώνει, τη μεταφράζει και τη βγάζει σε PDF, σε όψη χαρτιού του χαρακτήρα ή τρόμου. Ένας παίκτης που γυρίζει μετά από μισή μέρα βλέπει ένα «Προηγουμένως…» με ό,τι έχασε, και μόνο όσα μπορούσε να δει. Και ο AI Αφηγητής διαβάζει τα ίδια πρακτικά πριν από κάθε απάντηση, οπότε θυμάται τι έγινε πριν από τρεις νύχτες.

Χαρακτήρες. Ένας οδηγός δημιουργίας για κάθε έκδοση: το Classic με τους προϋπολογισμούς του Revised (7/5/3, 13/9/5, virtues, 15 freebies), το V5 με τις κατανομές του, Predator type, disciplines, πλεονεκτήματα και ελαττώματα. Τα χαρτιά των χαρακτήρων κλειδώνουν μετά τη δημιουργία· οι αλλαγές περνούν από αιτήματα downtime που εγκρίνει ο Αφηγητής. Στο V5 ο οδηγός ακολουθεί τη σειρά του corebook και παίρνει clans, δυνάμεις και πλεονεκτήματα από τον κατάλογο κανόνων, ή σου προτείνει χαρακτήρα με την καθοδηγούμενη δημιουργία, και κάθε χαρτί του χαρακτήρα βγαίνει σε συμπληρώσιμο PDF. Ο Αφηγητής ορίζει σε κάθε χρονικό ποια clans, predator types, ηλικίες και βιβλία επιτρέπονται.

Ένα bestial failure στο V5, με ραγίσματα, αίμα και κρανίο στο ζάρι HungerΗ ατμόσφαιρα. 97 πρωτότυπα σύμβολα σε SVG, ομίχλη, φως κεριών και αίμα που στάζει στα botch. Κάθε λογαριασμός διαλέγει ατμόσφαιρα: πλήρη, διακριτική ή καθόλου. Μια ξενάγηση στο θέμα υπάρχει στη διεύθυνση /showcase της εφαρμογής.

Ο AI Αφηγητής

Αντί για ένα μοντέλο, υπάρχουν ρόλοι, ο καθένας με το μοντέλο του, και όλα ρυθμίζονται από τον πίνακα διαχείρισης:

Ρόλος Μοντέλο Που τρέχει
Αφηγητής (αγγλικά) όποιο μοντέλο έχει φορτωμένο το LM Studio LM Studio, κάρτα γραφικών
Αφηγητής (ελληνικά) llama-krikri-8b-instruct (Llama-Krikri του ΙΕΛ) LM Studio
Βοηθητικές κλήσεις llama3.2:3b Ollama
Μνήμη και κανόνες ενσωματώσεις bge-m3 (πολύγλωσσες) LM Studio, με την ChromaDB
Επίβλεψη συνομιλίας Laya, δικό μου fine-tuned mmBERT επεξεργαστής, ONNX Runtime
Μεταφραστής llama-krikri-8b-instruct, με γλωσσάρι όρων του παιχνιδιού LM Studio
Φωνές Piper (αγγλικά) και Pocket TTS (ελληνικά) το container speech
Μεταγραφή Whisper large-v3-turbo, με έλεγχο από το Laya-words το container speech, κάρτα γραφικών
Συγγραφέας του χρονικού llama-krikri-8b-instruct για τα ελληνικά, το φορτωμένο μοντέλο για τα αγγλικά (ή ένα μοντέλο ανά χρονικό) LM Studio
Φωνές από το cloud (προαιρετικά) Google Gemini, δωρεάν ή επί πληρωμή, ανά χρονικό Google, με τις τοπικές φωνές ως εφεδρεία
Κείμενο θανάτου ο συγγραφέας του χρονικού, στη γλώσσα του χρονικού, με μια σταθερή πρόταση ως εφεδρεία LM Studio
  • Το Llama-Krikri επιλέχθηκε γιατί γράφει καθαρά ελληνικά· το Gemma 4 E2B, στις δοκιμές, απαντούσε στα αγγλικά σε ελληνικές ερωτήσεις.
  • Η μακροπρόθεσμη μνήμη και η αναζήτηση στα βιβλία κανόνων είναι RAG πάνω στην ChromaDB, με το bge-m3 να καταλαβαίνει ελληνικά, αγγλικά και τον συνδυασμό τους.
  • Ο ταξινομητής Laya επιβλέπει τα δωμάτια εκτός χαρακτήρα και καταλαβαίνει την πρόθεση κάθε μηνύματος, σε περίπου 230 ms στον επεξεργαστή. Εκπαιδεύτηκε με την ίδια διαδικασία με το RecMeets' Laya, πάνω σε χειρόγραφα και συνθετικά μηνύματα, στα ελληνικά, στα αγγλικά και σε greeklish.
  • Προαιρετικά, ένας διαχειριστής μπορεί να βάλει κλειδιά Anthropic ή OpenAI, που αποθηκεύονται κρυπτογραφημένα· οι πάροχοι αυτοί είναι ανενεργοί εξ ορισμού.

Οθόνες

Το μενού ενός μηνύματος στο κινητό, με το Διάβασε αυτό και το Διάβασε από εδώ Η ηχογράφηση στο κινητό, με τον χρονομετρητή και τον δακτύλιο Έλεγχος της ηχογράφησης πριν τη μεταγραφή

Η φωνή στο κινητό: το μενού ενός μηνύματος, η ηχογράφηση, και ο έλεγχός της πριν τη μεταγραφή.

Προφίλ, Φωνή: φωνές, προφορά, ταχύτητα, ένταση και τι διαβάζεται Οι ρυθμίσεις φωνής ενός χρονικού: φωνές αφηγητή και προεπιλογές ανάγνωσης

Οι ρυθμίσεις φωνής ενός παίκτη · οι φωνές αφηγητή και οι προεπιλογές ανάγνωσης ενός χρονικού.

Η καθοδηγούμενη δημιουργία προτείνει Hecata και Grim Reaper, με τις απαντήσεις που οδήγησαν εκεί Ο νέος οδηγός: δυνάμεις από λίστα με την περιγραφή και τη σελίδα τους, και η προεπισκόπηση του predator type

Από το νέο trailer: η καθοδηγούμενη δημιουργία προτείνει clan και predator type · ο οδηγός με κάθε δύναμη και τη σελίδα της.

Οι κανόνες δημιουργίας ενός χρονικού: επιτρεπόμενα βιβλία και clans Η σελίδα αναφοράς του PDF με το clan, το predator type, τις δυνάμεις και τα Advantages

Οι κανόνες δημιουργίας ενός χρονικού, με τα βιβλία και τα clans · η σελίδα αναφοράς στο PDF του χαρτιού του χαρακτήρα.

Η αίθουσα των χρονικών με ένα χρονικό Classic και ένα V5 Το παιχνίδι με τη διεπαφή και τον Αφηγητή στα ελληνικά

Η αίθουσα των χρονικών, με ένα Classic και ένα V5 · το ίδιο χρονικό με τη διεπαφή και τον Αφηγητή στα ελληνικά.

Το παράθυρο ρίψης του V5 με δεξαμενή, δυσκολία, Hunger και Rouse check Μια ρίψη Classic με εξειδίκευση, όπου τα δεκάρια ξαναρίχτηκαν σε χρυσά ζάρια

Το παράθυρο ρίψης του V5 · μια ρίψη Classic με εξειδίκευση και εξαιρετική επιτυχία.

Ο οδηγός δημιουργίας χαρακτήρα V5 στα Attributes και τα Skills Το χαρτί του χαρακτήρα V5 με τους μετρητές Hunger, Willpower και Humanity

Ο οδηγός δημιουργίας του V5 με ζωντανούς μετρητές · το χαρτί του χαρακτήρα με τους μετρητές του.

Ο οδηγός δημιουργίας Classic με τους προϋπολογισμούς 7/5/3 και 13/9/5 Skills με εξειδικεύσεις, disciplines και πλεονεκτήματα στο χαρτί του χαρακτήρα V5

Ο οδηγός Classic με τους προϋπολογισμούς του Revised · skills, disciplines και πλεονεκτήματα στο χαρτί του χαρακτήρα.

Το grimoire των συμβόλων: κινούμενα σύμβολα, αναζήτηση και ομάδες Ένα botch του Revised δίπλα σε ένα messy critical του V5

Το grimoire με τα 97 σύμβολα · ένα botch του Revised δίπλα σε ένα messy critical του V5.

Η σελίδα εισόδου με την κινούμενη σφραγίδα και την ομίχλη Το μενού λογαριασμού με γλώσσα και ατμόσφαιρα

Η είσοδος με την κινούμενη σφραγίδα · γλώσσα και ατμόσφαιρα από το μενού του λογαριασμού.

Οι ρυθμίσεις του χρονικού με τις τοποθεσίες Ο πίνακας διαχείρισης: μοντέλα ανά ρόλο

Οι τοποθεσίες ενός χρονικού · τα μοντέλα ανά ρόλο στον πίνακα διαχείρισης.

Το παιχνίδι στο κινητό, με μια απάντηση του Αφηγητή Το συρτάρι με τα χρονικά και τα δωμάτια στο κινητό Η είσοδος στο κινητό

Και στο κινητό: το παιχνίδι, τα χρονικά και τα δωμάτια, η είσοδος.

Τεχνολογίες

Docker Python Flask Gunicorn PostgreSQL Redis ChromaDB RAG LM Studio Ollama ONNX Runtime FastAPI faster-whisper Piper TTS Pocket TTS Opus Hugging Face React Vite Tailwind CSS i18next Jest ESLint Nginx JWT GitHub Actions Git GitHub

AI Llama-Krikri 8B και όποιο μοντέλο στο LM Studio, Llama 3.2 3B στο Ollama, ενσωματώσεις bge-m3, ο ταξινομητής Laya σε ONNX Runtime, προαιρετικά Anthropic και OpenAI
Φωνή Piper και Pocket TTS για την ομιλία, faster-whisper (large-v3-turbo) για τη μεταγραφή, Laya-words σε ONNX για τον έλεγχό της, FastAPI, ηχογραφήσεις Opus, προαιρετικά φωνές Google Gemini
Μνήμη και κανόνες RAG στην ChromaDB 1.5.9
Πίσω μέρος Python 3.12, Flask 3.1 σε gunicorn, PyMuPDF για την εισαγωγή των βιβλίων κανόνων, ReportLab για το PDF του χαρτιού του χαρακτήρα και του χρονικού, PostgreSQL 16, Redis 7, server-sent events, bcrypt και κρυπτογράφηση Fernet, JWT
Διεπαφή React 18, Vite 8, react-router 7, motion 14, i18next (ελληνικά και αγγλικά), DOMPurify, d3, Tailwind CSS και δικό μου σύστημα σχεδίασης με 97 σύμβολα SVG
Υποδομή Docker Compose (με προαιρετικό profile voice), nginx με αυστηρό CSP, NVIDIA container runtime
Ποιότητα και ασφάλεια GitHub Actions (pytest, Jest, ESLint, έλεγχος σχήματος βάσης), CodeQL, Dependabot, προστασία του κύριου κλάδου, πάνω από 250 δοκιμές πίσω μέρους και 360 διεπαφής

Αναπτύσσεται σε Linux (Omarchy), με AMD Ryzen 9 5950X και NVIDIA RTX 4080 SUPER 16 GB. Το Llama-Krikri θέλει περίπου 5 GB μνήμης γραφικών.

Γρήγορο ξεκίνημα

Χρειάζεσαι Linux με Docker και Compose v2, το LM Studio με την εντολή lms, και το Ollama. Κάρτα NVIDIA συνιστάται ανεπιφύλακτα.

git clone https://github.com/Somnius/shadowrealms-ai.git
cd shadowrealms-ai
cp env.template .env
cp backend/invites.template.json backend/invites.json
python3 scripts/generate_secret_key.py

Βάλε δικά σου κλειδιά και στοιχεία PostgreSQL στο .env και δικούς σου κωδικούς πρόσκλησης στο invites.json (η εγγραφή θέλει πρόσκληση). Μετά:

lms server start
lms load llama-krikri-8b-instruct -y
lms load text-embedding-bge-m3 -y
ollama pull llama3.2:3b
./docker-up.sh
./scripts/build-frontend.sh

Για τη φωνή, ξεκίνα και το container της: docker compose --profile voice up -d speech (θέλει SPEECH_SECRET στο .env· δες το docs/VOICE.md).

Άνοιξε το http://localhost, κάνε εγγραφή με τον κωδικό διαχειριστή, φτιάξε ένα χρονικό και γράψε /ai health στη συνομιλία του. Όλα τα βήματα αναλυτικά είναι στη σελίδα εγκατάστασης του wiki.

Συνεισφορά

Το έργο είναι μεγάλο σκόπιμα, και χρειάζεται συνεισφέροντες: κώδικα, μηχανισμούς RPG, δοκιμές στο χέρι, μεταφράσεις, ή απλώς καθαρά ζητήματα με βήματα αναπαραγωγής. Όλα τρέχουν μέσα στο Docker, και κάθε αλλαγή περνά από το CI πριν μπει.

Άδεια

MIT: LICENSE. Τα εμπορικά βιβλία της White Wolf δεν καλύπτονται από την άδεια· μένουν δικά σου αρχεία στον φάκελο data/, και δεν τα φιλοξενώ.

Άρθρα

Πηγές

Ενημερώθηκε στις 19 Οκτωβρίου 2026, με την έκδοση 0.31.0 και τη μνήμη του Αφηγητή.

Μάθετε περισσότερα ↗