v0.5.0 — True Streaming & AI Controls
What's New
True LLM Streaming
All story generation now streams tokens directly from the AI as they're generated — no more waiting for the full response before text appears. Applies to chronicles, biographies, eulogies, diaries, sagas, quest completions, battle reports, and chat summaries.
Expanded Settings Page
Complete overhaul of the Settings page with organized subcategories:
- AI Provider — Configure Claude, OpenAI, or Ollama with model-specific options
- Generation Style — Temperature, Top P, and Repetition Penalty sliders for fine-tuning AI creativity. Custom Author Instructions textarea to guide the AI's tone and focus across all stories
- Output Lengths — Slider controls for every story type's token limit
- Ollama — Context window slider (was hardcoded to 2048, now configurable up to 128K+), VRAM-tiered model recommendations for 4GB to 24GB+ GPUs
Combat Log Fixes
- Single fights no longer split into multiple events when DF interleaves announcements (promotions, charges, knockbacks) mid-combat
- Repeated injury lines display as "x3" format matching DF's in-game display
- Combat events no longer duplicate between the Events feed and Combat Log
- Battle reports are now collapsible within each fight
- Chat summaries persist to disk and display in a collapsible "Chat Summaries" section
Gamelog Improvements
- Auto-detects
gamelog.txtfrom DF install path when not explicitly configured - Fixed deduplication that was stripping legitimate repeated combat lines
- Conversations now appear correctly in the Chat Log
Bug Fixes
- Fixed lore page crash when legends data is not loaded
- Fixed gazette section parser failing on markdown-formatted headers
- Fixed settings test overwriting real
config.toml - Error messages in streaming responses no longer leak internal file paths
Ollama Context Window
Previously Ollama defaulted to a 2048-token context window, silently truncating prompts. Now sends num_ctx with a sensible default of 32K, configurable up to 128K+ for models that support it.
Full Changelog: v0.4.0...v0.5.0