v0.1.0: Initial Release
Novel OS v0.1.0: Initial Release
Novel OS is a stateful, provider-agnostic, and auditable multi-agent fiction writing framework. It treats a novel like a build pipeline where discrete agents perform specialized passes, mutating a central state file with deterministic checks gating progression.
🌟 Key Features
🎭 The Five Specialized Agents (agents/)
- 🏗️ Architect: Handles story planning, 3-act structure mapping, narrative beats, and chapter outlines.
- ✍️ Scribe: Writes chapter drafts in deep POV, emitting structured updates for state capture.
- 🔍 Editor: Refines prose with support for line editing, developmental structuring, pacing calibration, dialogue polishing, and tension calibration.
- 🛡️ Continuity Guardian: Fact-checks and enforces consistency across character files, timelines, world rules, and active plot threads.
- 🎨 Style Curator: Ensures voice consistency, genre adherence, prose rhythm, and vocabulary targets.
⚙️ Robust Core Engine (core/)
- LLM Provider Layer (
llm_client.py): Native support for Anthropic, OpenAI, Azure, and Gemini. Integrates seamlessly with OpenAI-compatible endpoints like NVIDIA NIM, Kimi, Groq, Together, OpenRouter, DeepSeek, Mistral, and Fireworks. - Persistent State Manager (
state_manager.py): Centralizes the story bible, characters, plot threads, chapters, timeline, and style profile in a single JSON schema. - Parser & State Applier (
state_parser.py): Extracts machine-parseable blocks from agent outputs ([SCRIBE_STATE_UPDATE],[CONTINUITY_REPORT], etc.) to update the persistent state. - Deterministic Continuity Engine (
continuity_engine.py): Offers cost-free, instant validation checks (e.g., overdue/dormant plot threads, missing manuscripts, character absence). - CLI Orchestrator (
orchestrator.py): Directs the entire pipeline from project init, character tracking, and outline planning to iterative agent execution (drafting, editing, validation, approval, and manuscript exporting).
🚀 Quick Start
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables by copying
.env.exampleto.env. - Run the CLI pipeline:
python core/orchestrator.py init --title "My Novel" --genre "Sci-Fi" python core/orchestrator.py character add --name "Lena" --role protagonist python core/orchestrator.py plan outline --chapters 32 python core/orchestrator.py plan chapter --number 1 --pov "Lena" python core/orchestrator.py write --chapter 1