中文 | English
--- Open-source multi-agent system that autonomously writes, audits, and revises novels — with human review gates that keep you in control. ## v0.4 Update Spinoff writing + style cloning + post-write validator + audit-revise hardening. ### Spinoff Writing Create prequels, sequels, side-stories, or what-if branches from existing books. Spinoffs share the parent's world and characters but have independent plot lines. ```bash inkos import canon my-prequel --from main-novel # Import parent canon inkos write next my-prequel # Writer auto-reads canon constraints ``` Generates `story/parent_canon.md` containing the parent's world rules, character snapshots (with information boundaries), key event timeline, and foreshadowing state. The auditor auto-activates 4 spinoff-specific dimensions: | Dimension | Checks | |-----------|--------| | Canon Event Conflict | Whether spinoff events contradict the parent's canon constraints | | Future Info Leak | Whether characters reference information revealed after the divergence point | | Cross-Book World Consistency | Whether the spinoff violates parent world rules (power systems, geography, factions) | | Spinoff Foreshadowing Isolation | Whether the spinoff oversteps by resolving parent foreshadowing | Auto-activates when `parent_canon.md` is detected. No extra configuration needed. ### Style Cloning Feed in a real novel excerpt. The system extracts a statistical fingerprint + generates a qualitative style guide, then injects both into every chapter's Writer prompt. ```bash inkos style analyze reference.txt # Analyze: sentence length, TTR, rhetorical features inkos style import reference.txt my-book --name "Author" # Import style into book ``` Produces two files: - `style_profile.json` — statistical fingerprint (sentence/paragraph length distribution, vocabulary diversity, rhetorical density) - `style_guide.md` — LLM-generated qualitative guide (rhythm, tone, word preferences, taboos) The Writer reads the style guide every chapter; the Auditor cross-checks against it in the style dimension. ### Post-Write Validator 11 deterministic rules, zero LLM cost, fires immediately after each chapter: - Banned sentence patterns, dash prohibition, transition word density limits - High-fatigue word caps, meta-narration detection, report terminology in prose - Author sermonizing, collective shock cliches, consecutive "le" (了) character runs - Paragraph length checks (mobile-reading friendly), book-level prohibitions When the validator finds error-level violations, it auto-triggers `spot-fix` mode for targeted repair before the LLM audit even runs. ### Audit-Revise Loop Hardening Real testing showed `rewrite` mode introduces 6x more AI markers than the original text. Now: - Auto-revise mode changed from `rewrite` to `spot-fix` (only fixes flagged sentences, leaves everything else untouched) - Post-revise AI marker guard: if revision increases AI tell count, the revision is discarded - Re-audit temperature locked to 0 (deterministic pass/fail gating) - `polish` mode boundaries strengthened (no adding paragraphs, renaming entities, or changing causality) ### Other v0.4 Changes - Audit dimensions expanded from 26 to 32 (+4 spinoff dims + sensitive word check + reader expectation management) - Auditor web search: era-research genres can verify real events/people/geography online (native search) - Scheduler rewrite: AI-paced (15min cycles), parallel book processing, immediate retry, daily cap - New `spot-fix` revise mode (targeted repair) - `additionalAuditDimensions` in `book_rules.md` now supports name-string matching --- ## v0.3 Update Three-layer rule separation + cross-chapter memory + AIGC detection + Webhook. ### Cross-Chapter Memory & Writing Quality The Writer auto-generates chapter summaries, updates subplot/emotion/character matrices — all appended to truth files. Subsequent chapters load full context, so long-term foreshadowing never gets lost. | Truth File | Purpose | |------------|---------| | `chapter_summaries.md` | Per-chapter summaries: characters, key events, state changes, hook dynamics | | `subplot_board.md` | Subplot progress board: A/B/C line status tracking | | `emotional_arcs.md` | Emotional arcs: per-character emotion, triggers, arc direction | | `character_matrix.md` | Character interaction matrix: encounter records, information boundaries | ### AIGC Detection | Feature | Description | |---------|-------------| | AI-Tell Audit | Pure rule-based detection (no LLM): paragraph uniformity, hedge word density, formulaic transitions, list-like structure — auto-merged into audit results | | AIGC Detection API | External API integration (GPTZero / Originality / custom endpoints), `inkos detect` command | | Style Fingerprint | Extract StyleProfile from reference text (sentence length, TTR, rhetorical features), inject into Writer prompt | | Anti-Detect Rewrite | ReviserAgent `anti-detect` mode, detect → rewrite → re-detect loop | | Detection Feedback Loop | `detection_history.json` records each detection/rewrite result, `inkos detect --stats` for statistics | ```bash inkos style analyze reference.txt # Analyze reference text style inkos style import reference.txt my-book # Import style into book inkos detect my-book --all # Detect all chapters inkos detect --stats # Detection statistics ``` ### Webhook + Smart Scheduler Pipeline events POST JSON to configured URLs (HMAC-SHA256 signed), with event filtering (`chapter-complete`, `audit-failed`, `pipeline-error`, etc.). Daemon mode adds quality gates: auto-retry on audit failure (with temperature ramp), pause book after consecutive failures. ### Genre Customization 5 built-in genres, each with a complete set of writing rules: chapter types, prohibition lists, fatigue words, language rules, and audit dimensions. | Genre | Built-in Rules | |-------|---------------| | Xuanhuan (Fantasy) | Numerical system, power scaling, same-type absorption decay formula, face-slap/upgrade/payoff pacing | | Xianxia (Cultivation) | Cultivation/enlightenment pacing, artifact system, heavenly dao rules | | Urban | Era research, business/social-driven plot, era-matched legal terminology, no numerical system | | Horror | Atmosphere progression, fear levels, restrained narration, no power scaling audit | | General | Minimal fallback | Specify a genre when creating a book and matching rules activate automatically: ```bash inkos book create --title "Devouring Emperor" --genre xuanhuan ``` View, copy, or create genre rules: ```bash inkos genre list # List all genres inkos genre show xuanhuan # View full xuanhuan rules inkos genre copy xuanhuan # Copy to project for customization inkos genre create wuxia --name Wuxia # Create a new genre from scratch ``` After copying to your project, add/remove prohibitions, adjust fatigue words, modify pacing rules, customize language rules — changes take effect on the next chapter. Each genre has dedicated language rules (with bad → good examples), enforced by both writer and auditor: - **Xuanhuan**: ✗ "Fire essence increased from 12 to 24 wisps" → ✓ "His arm felt stronger than before, knuckles tightening into a fist" - **Urban**: ✗ "Quickly analyzed the current debt situation" → ✓ "Flipped through the stack of wrinkled IOUs three times" - **Horror**: ✗ "Felt a wave of fear" → ✓ "The hairs on the back of his neck stood up one by one" ### Per-Book Rules Each book has its own `book_rules.md`, auto-generated by the Architect agent when creating a book — also editable anytime. Rules here are injected into every chapter's prompt: ```yaml protagonist: name: Lin Jin personalityLock: ["ruthlessly calm", "patient but lethal", "smart, not reckless"] behavioralConstraints: ["no mercy, no hesitation", "warm to allies but never sentimental"] numericalSystemOverrides: hardCap: 840000000 resourceTypes: ["particles", "bloodline density", "spirit stones"] prohibitions: - protagonist goes soft at critical moments - pointless harem romance dragging the plot - side characters stealing the spotlight fatigueWordsOverride: ["pupils constricted", "disbelief"] # Override genre defaults ``` Protagonist personality lock, numerical caps, custom prohibitions, fatigue word overrides — each book's rules are independent, without affecting the genre template. ### 32-Dimension Audit Auditing is broken down into 32 dimensions, with genre-appropriate subsets auto-enabled: OOC check, timeline, setting conflicts, foreshadowing, pacing, writing style, information leaking, vocabulary fatigue, broken interest chains, side character intelligence drops, side character tool-ification, hollow payoffs, dialogue authenticity, padding detection, knowledge base contamination, POV consistency, power scaling collapse, numerical verification, era research, paragraph uniformity, hedge word density, formulaic transitions, list-like structure, subplot stagnation, flat emotional arc, monotonous pacing Dims 20-23 (AI-tell detection) + dim 27 (sensitive words) use a pure rule engine — no LLM calls. Dims 28-31 (spinoff) auto-activate when `parent_canon.md` is detected. Dim 32 (reader expectation management) is always on. ### De-AI-ification 5 universal rules + genre-specific language rules to control AI marker word density and narration habits: - AI marker word frequency limit: "as if" / "suddenly" / "unexpectedly" / "couldn't help but" — max 1 per 3,000 words - Narrator never draws conclusions for the reader, only writes actions - No analytical report language ("core motivation", "information gap" never appear in prose) - Same imagery rendered no more than twice - Methodology jargon stays out of prose Vocabulary fatigue audit + AI-tell audit (dims 20-23) provide dual detection. Style fingerprint injection further reduces AI text characteristics. ### Other - Supports OpenAI + Anthropic native + all OpenAI-compatible endpoints - Reviser supports polish / rewrite / rework / anti-detect / spot-fix modes - Genres without numerical systems skip resource ledger generation - All commands support `--json` structured output for OpenClaw / external agent integration - Auto-detect book-id when project has only one book - `inkos update` for self-updating, `inkos init` supports current directory - API errors include diagnostic hints, `inkos doctor` includes connectivity test --- ## Why InkOS? Writing a novel with AI isn't just "prompt and paste." Long-form fiction breaks down fast: characters forget things, items appear from nowhere, the same adjectives repeat every paragraph, and plot threads silently die. InkOS treats these as engineering problems. - **Canonical truth files** — track the real state of the world, not what the LLM hallucinates - **Anti-information-leaking** — characters only know what they've actually witnessed - **Resource decay** — supplies deplete and items break, no infinite backpacks - **Vocabulary fatigue detection** — catches overused words before readers do - **Auto-revision** — fixes math errors and continuity breaks before human review ## How It Works Each chapter is produced by five agents in sequence: