Openwrite  by LiPu-jpg

AI agent for autonomous long-form novel writing

Created 5 months ago
290 stars

Top 90.6% on SourcePulse

GitHubView on GitHub
Project Summary

OpenWrite is an AI-driven CLI agent designed to automate and streamline the long-form novel writing process. It addresses the challenge of maintaining narrative consistency, character development, and plot coherence over extended works, offering authors a structured pipeline from initial concept to final export. The project targets authors and power users seeking to leverage AI for sustained, high-quality novel production, providing a robust framework that prevents authorial intent from degrading over dozens of chapters.

How It Works

OpenWrite employs a dual-agent architecture: Goethe for ideation, asset generation, and long-term planning, and Dante for continuous writing, review, and state management. It enforces a "single source of truth" (src/) for core assets like outlines, characters, and world rules, while runtime states and caches reside in data/. Each chapter is assembled from a "canonical packet" incorporating relevant context, rules, and previous states, ensuring continuity. Bounded chapter memory and a reliable commit system with rollback capabilities prevent data loss and maintain integrity throughout the writing lifecycle.

Quick Start & Requirements

  • Installation: Clone the repository, navigate to the directory, create and activate a Python 3.10 virtual environment (python3.10 -m venv .venv, source .venv/bin/activate), and install the package (pip install -e .).
  • Configuration: Set environment variables for LLM API key (LLM_API_KEY) and model (LLM_MODEL, e.g., glm-5). An optional LLM_BASE_URL can be set for OpenAI-compatible endpoints.
  • Initial Steps: For new projects, start with openwrite goethe to define assets. For ongoing work, use openwrite dante. The openwrite studio command launches a web UI for project management and collaboration.
  • Links: GitHub repository (via git clone URL).

Highlighted Details

  • Goethe and Dante agents for distinct planning and execution roles.
  • src/ directory as the definitive source for novel assets, preventing state drift.
  • Canonical packet assembly for context-rich chapter generation.
  • A 37-dimension review system for quality assurance.
  • Unified workflow across CLI and Studio interfaces.
  • author_intent.md and current_focus.md files guide long-term and short-term writing goals.

Maintenance & Community

The README provides version information (5.8.0) but does not detail specific community channels (e.g., Discord, Slack), active contributors, or a public roadmap.

Licensing & Compatibility

The project's license is not specified in the README. This omission requires further investigation for commercial use or integration into closed-source projects.

Limitations & Caveats

OpenWrite is exclusively focused on long-form novel writing, excluding other creative text formats. Its reliance on LLMs introduces inherent variability and potential for AI-generated errors. The strict separation of src/ (source of truth) and data/ (runtime) implies a learning curve for users accustomed to direct file manipulation, with manual edits strongly discouraged outside src/. A Python 3.10 environment is required.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.