# Opus Orchestrator AI > A comprehensive AI-powered book generation system with LangGraph, CrewAI, and AutoGen.

Python MiniMax KDP Docker/k3s

## 🎯 What is Opus? Opus is an AI-powered book generation system that creates professional manuscripts. It supports **fiction** and **nonfiction** with intelligent purpose classification, multiple export formats, and professional publishing workflows. ## ✨ Features ### Core Capabilities - **Multi-Framework Orchestration**: LangGraph, CrewAI, and AutoGen - **Intelligent Purpose Classification**: Automatically determines reader purpose - **100+ Content Frameworks**: From textbooks to RPG modules - **Checkpoint/Resume**: Long generations can resume from failure ### Input Sources - **GitHub Repository**: Ingest from any public/private repo - **S3/Backblaze**: Cloud storage ingestion - **Local Files**: Direct file input ### Output Formats - **Scrivener Export**: Chapter-by-chapter with `binder.json` - **LaTeX**: 31 professional templates - **HTML**: Styled web output - **PDF**: Via LaTeX compilation ### Publishing - **KDP Templates**: 5 trim sizes (5x8, 5.5x8.5, 6x9, 8x8, 8.5x11) - **31 LaTeX Templates**: Novel, memoir, academic, RPG, cookbook, etc. - **ISBN/Metadata**: Full publishing metadata support ### Deployment - **Docker Compose**: Full local stack - **k3s/Helm**: Production Kubernetes - **REST API**: Programmatic access ## πŸš€ Quick Start ```bash # Install pip install opus-orchestrator # Generate a book (fiction) opus generate --concept "A robot who dreams of being human" --genre sci-fi # Generate a book (nonfiction) opus generate --book-type nonfiction --purpose learn "How to build an AI app" # Serve API opus serve --port 8000 ``` ## πŸ“š Framework Library Opus supports **100+ frameworks** organized by content type: ### Nonfiction | Category | Frameworks | Purpose | |----------|-----------|---------| | **Tutorial/How-To** | Tutorial, Howto, Minimalist How-To | Learn to do | | **Explanation** | Concept Explainer, Socratic Method | Understand | | **Transformation** | Transformation Journey, Atomic Habits | Personal change | | **Decision** | Big Idea, Case Study | Make decisions | | **Reference** | Technical Manual, Quick Reference | Look up info | ### Fiction | Category | Frameworks | |----------|-----------| | **Snowflake** | One-page to novel | | **Three-Act** | Classic structure | | **Hero's Journey** | Mythic structure | | **Save the Cat** | Screenwriting | | **Story Circle** | Dan Harmon's 8-part | ### RPG/Game Books | Category | Frameworks | |----------|-----------| | **Rulebook** | Core rules, system | | **Adventure** | Dungeon module, campaign | | **CYOA** | Choose Your Own Adventure | ## πŸ“„ Output Formats ### Scrivener Export ```python from opus_orchestrator import export_to_scrivener result = export_to_scrivener( manuscript, "My Book", split_chapters=True, branch="draft/chapter-1", push_to_remote=True, ) ``` Output: Individual `.md` files + `binder.json` ### LaTeX Templates (31) ```python from opus_orchestrator import export_to_latex export_to_latex(manuscript, "My Book", "out.tex", template="kdp-trade") ``` **Templates:** - **KDP**: pocket, trade, 6x9, square, large - **Genre**: novel, memoir, romance, thriller, sci-fi - **Academic**: textbook, academic, cleanthesis, classicthesis - **Specialty**: poetry, cookbook, screenplay, RPG ### HTML Export ```python from opus_orchestrator import export_to_html html = export_to_html(manuscript, "My Book", template="memoir") ``` ## 🏭 Deployment ### Docker Compose ```bash # Quick start cp .env.example .env # Add your MINIMAX_API_KEY and GITHUB_TOKEN docker-compose -f deployments/docker-compose.yml up -d ``` ### k3s/Helm ```bash # Install Opus API helm install opus deployments/k3s/opus-orchestrator/ # Install TeX Live API (for PDF compilation) helm install texlive deployments/k3s/texlive-api/ ``` ## πŸ”Œ REST API ```bash # Start server opus serve # Generate (blocking) curl -X POST http://localhost:8000/generate \ -H "Content-Type: application/json" \ -d '{"concept": "Your book idea", "book_type": "fiction"}' # Generate (streaming) curl -X POST http://localhost:8000/generate/stream \ -H "Content-Type: application/json" \ -d '{"concept": "Your book idea"}' ``` ## βš™οΈ Configuration ### Environment Variables ```bash export MINIMAX_API_KEY="your-key" # Primary export GITHUB_TOKEN="your-token" ``` ### Config File ```yaml agent: provider: minimax model: MiniMax/MiniMax-M2.5 temperature: 0.7 output: format: markdown save_to_file: true split_chapters: true ``` ## 🧠 Architecture ``` User Input β†’ Intent Classification β†’ Framework Selection ↓ Purpose Detection (learn/understand/transform/decide) ↓ FrameworkεŒΉι… (100+ frameworks) ↓ Agent Selection (purpose-specific) ↓ Generation (LangGraph/CrewAI/AutoGen) ↓ Output (Scrivener/LaTeX/HTML/PDF) ``` ## πŸ“ Project Structure ``` opus_orchestrator/ β”œβ”€β”€ orchestrator.py # Main orchestration β”œβ”€β”€ server.py # REST API β”œβ”€β”€ cli.py # CLI β”œβ”€β”€ langgraph_workflow.py # LangGraph pipeline β”œβ”€β”€ nonfiction/ # Nonfiction system β”‚ β”œβ”€β”€ classifier.py # Purpose classifier β”‚ └── frameworks.py # 35+ frameworks β”œβ”€β”€ frameworks.py # Fiction frameworks β”œβ”€β”€ scrivener_export.py # Scrivener output β”œβ”€β”€ latex_compile.py # LaTeX export β”œβ”€β”€ html_export.py # HTML output β”œβ”€β”€ texlive_client.py # TeX Live API β”œβ”€β”€ templates/ β”‚ └── latex/ # 31 templates └── deployments/ β”œβ”€β”€ docker-compose.yml └── k3s/ ``` ## πŸ“¦ Test Suite ```bash # Run tests pytest tests/ -v # Test categories tests/ β”œβ”€β”€ test_github_ingest.py # GitHub ingestion β”œβ”€β”€ test_s3_ingest.py # S3/Backblaze β”œβ”€β”€ test_generation.py # Document generation β”œβ”€β”€ test_output_push.py # Output push └── test_e2e.py # End-to-end ``` ## πŸ”— Links - [GitHub](https://github.com/mrhavens/opus-orchestrator-ai) - [Issues](https://github.com/mrhavens/opus-orchestrator-ai/issues) - [BECOMINGONE](https://github.com/mrhavens/becomingone) ## πŸ“œ License MIT ## πŸ‘€ Author Mark Havens --- *Built with β™₯ using MiniMax M2.5*