v0.2.0 — First Public Release
df-storyteller v0.2.0
The first public release of df-storyteller — a storytelling companion for Dwarf Fortress that generates AI-written narratives grounded in your actual gameplay.
Install
pip install df-storyteller
df-storyteller init
df-storyteller serveOr from source:
git clone https://github.com/Been012/df-storyteller.git
cd df-storyteller
pip install -e .
python -m df_storyteller init
python -m df_storyteller serveRequirements
- Dwarf Fortress v50.x (Steam / DF Premium)
- DFHack v50.14-r1+
- Python 3.11+
- An LLM provider: Ollama (free, local), Claude, or OpenAI
Features
Narrative Generation
- Fortress Chronicles — seasonal narratives tracking events, migrations, conflicts
- Dwarf Diaries — first-person journal entries shaped by personality and stress
- Character Biographies — dated entries that evolve as dwarves change
- Death Eulogies — memorial narratives for fallen dwarves
- Battle Reports — dramatic combat accounts written by survivors or the fortress chronicler, with siege grouping
- Epic Sagas — world history narratives from legends data (persistent)
- Fortress Gazette — dwarven newspaper with five sections, written by the fortress's best writer
- Chat Log Summaries — AI summary of dwarf conversations and social interactions
Quest System
- AI-generated quests based on actual fortress state
- Grounded in real DF mechanics (squad sizes, siege thresholds, temple values)
- Narrative-driven — quests drive the story, not just task lists
- Difficulty tiers: Easy, Medium, Hard, Legendary
- Category filters: Military, Construction, Religious, Crafting, Exploration, Social, Chaos
- Completion narratives feed into future chronicles
Visualization
- Relationship Web — interactive force-directed graph of fortress connections
- Pantheon — deity worship bar chart with sphere descriptions from legends
- Combat Log — blow-by-blow fight details with color-coded strikes, injuries, outcomes
- Lore Browser — searchable world history with hover tooltips showing rich detail (kill counts, battle forces, relationships, artifact descriptions)
- Tabbed Character Sheets — Notes, Biography, and Diary tabs per dwarf
Infrastructure
- Multi-fortress support with isolated story storage
- Per-fortress persistence: chronicles, bios, diaries, quests, gazette, battle reports, sagas
- DF mechanics reference grounding all AI output
- Thinking model support for Ollama (gpt-oss, deepseek-r1)
- Setup guide banner for first-time users
- Specific error messages (Ollama not running, invalid API key, token limit)
- 52 automated tests
Full Documentation
See the Wiki for setup guides, feature documentation, and architecture details.