Build a local interactive fiction game where each character only knows what they realistically should.
Run AI-driven storytelling entirely on your own machine instead of a hosted service.
Connect the engine to different AI providers like OpenAI-compatible APIs, Anthropic, or Ollama.
Study a multi-agent architecture that separates story causality, perception, and narration into distinct roles.
| n0819/sonder_engine | asimons81/hermes-dreaming | baskduf/harness-starter-kit | |
|---|---|---|---|
| Stars | 40 | 40 | 40 |
| Language | Python | Python | Python |
| Setup difficulty | — | moderate | easy |
| Complexity | — | 3/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Sonder Engine is a system for running interactive fiction, the kind of storytelling where a player makes choices and the story reacts, but built so that different parts of the story only know what they are supposed to know. It runs entirely on your own machine and relies on several AI language models working together, each handling a different job, rather than one single AI trying to track everything at once. One part called the Director decides what actually and objectively happens in the story world. Another part called Perception then works out what each individual character or the player would realistically be able to see or know about those events, since not everyone in a story should know everything. Separate character agents act based only on their own private slice of knowledge, a Narrator turns all of this into the text the player actually reads, and a final piece of code checks and locks in what becomes permanent, saved story state. This separation is meant to stop characters from acting on information they should not have and to keep the story world consistent over time. To run it, you need Python 3.11 or newer. You set up a virtual environment, install the listed dependencies, and start a local web server, after which you open the tool in your browser. The story data is stored in a local SQLite database file, and it does not have to live in one fixed location. The project also ships with commands for running its test suite, checking that its internal structure stays valid, and regenerating a map of its own code for documentation. The AI part of the system can connect to several different providers, including OpenAI compatible services, Anthropic, Ollama, or KoboldCpp, so it is not locked into one company. Because API keys and provider settings are stored in that same local database file, the project specifically warns not to accidentally save and share a database that already has your credentials in it. Sonder Engine is released under the MIT license, so it is free to use, modify, and build on.
A local multi-agent engine for interactive fiction that uses separate AI agents to control what each character knows, keeping the story coherent.
Mainly Python. The stack also includes Python, FastAPI, SQLite.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.