inkos-multi-agent-novel-writing

安装量: 97
排名: #8491

安装

npx skills add https://github.com/aradotso/trending-skills --skill inkos-multi-agent-novel-writing

InkOS Multi-Agent Novel Writing Skill by ara.so — Daily 2026 Skills collection InkOS is a multi-agent CLI system that autonomously writes, audits, and revises novels. Agents handle the full pipeline: Writer → Validator → Auditor → Reviser, with human review gates at configurable checkpoints. Installation npm install -g @actalk/inkos

or run directly

npx @actalk/inkos --version Requirements: Node.js ≥ 20.0.0 Quick Start

Create a new novel project

inkos book create --title "吞天魔帝" --genre xuanhuan

Write the next chapter

inkos write next 吞天魔帝

Audit a specific chapter

inkos audit 吞天魔帝 --chapter 3

Run the full daemon (continuous production)

inkos daemon start Project Structure After inkos book create , the project directory contains: story/ outline.md # Story outline (architect agent input) book_rules.md # Per-book custom rules and audit dimensions chapter_summaries.md # Auto-generated per-chapter summaries subplot_board.md # Subplot progress tracking (A/B/C lines) emotional_arcs.md # Per-character emotional arc tracking character_matrix.md # Character interaction matrix + info boundaries parent_canon.md # Spinoff only: imported canon constraints style_profile.json # Style fingerprint (if style import used) style_guide.md # LLM-generated qualitative style guide chapters/ ch001.md ch002.md ... Core Commands Book Management inkos book create --title "Title" --genre xuanhuan

genres: xuanhuan | xianxia | dushi | horror | general

inkos book list inkos book status 吞天魔帝 Writing Pipeline inkos write next 吞天魔帝

Write next chapter (auto-loads all context)

inkos write chapter 吞天魔帝 5

Write specific chapter

inkos audit 吞天魔帝 --chapter 3

Audit chapter (33 dimensions)

inkos revise 吞天魔帝 --chapter 3

Revise based on audit results

inkos revise 吞天魔帝 --chapter 3 --mode spot-fix

Point fix only (default)

inkos revise 吞天魔帝 --chapter 3 --mode rewrite

Full rewrite (use cautiously)

inkos revise 吞天魔帝 --chapter 3 --mode polish

Polish (no structural changes)

Genre System inkos genre list

List all built-in genres

inkos genre show xuanhuan

View full rules for a genre

inkos genre copy xuanhuan

Copy genre rules to project for customization

inkos genre create wuxia --name 武侠

Create new genre from scratch

Style Matching inkos style analyze reference.txt

Analyze style fingerprint

inkos style import reference.txt 吞天魔帝

Import style into book

inkos style import reference.txt 吞天魔帝 --name "某作者" Spinoff (Prequel/Sequel/IF-branch) inkos book create --title "烈焰前传" --genre xuanhuan inkos import canon 烈焰前传 --from 吞天魔帝

Import parent canon constraints

inkos write next 烈焰前传

Writer auto-reads canon constraints

AIGC Detection inkos detect 吞天魔帝 --chapter 3

Detect AIGC markers in chapter

inkos detect 吞天魔帝 --all

Detect all chapters

inkos detect --stats

View detection history statistics

Daemon (Continuous Production) inkos daemon start

Start scheduler (default: 15 min/cycle)

inkos daemon stop inkos daemon status Configuration Global Config ( ~/.inkos/config.json ) { "llm" : { "provider" : "openai" , "model" : "gpt-4o" , "apiKey" : "sk-..." , "temperature" : 0.8 } , "daemon" : { "intervalMinutes" : 15 , "dailyChapterLimit" : 10 , "parallelBooks" : 2 } , "webhook" : { "url" : "https://your-server.com/hooks/inkos" , "secret" : "your-hmac-secret" , "events" : [ "chapter-complete" , "audit-failed" , "pipeline-error" ] } , "aigcDetection" : { "provider" : "gptzero" , "apiKey" : "..." , "endpoint" : "https://api.gptzero.me/v2/predict/text" } } Per-Book Rules ( story/book_rules.md )

Book Rules: 吞天魔帝

禁忌 (Forbidden)

主角不得主动求饶

不得出现「命运」「天意」等宿命论表述

高疲劳词

震撼, 惊骇, 恐惧, 颤抖

additionalAuditDimensions

数值系统一致性: 战力数值不得前后矛盾

角色成长节奏: 主角突破间隔不少于3章

写手特别指令

战斗场面优先感官描写,禁止数值报告 Agent Architecture InkOS runs five specialized agents in sequence: ArchitectAgent → outline.md, book_rules.md ↓ WriterAgent → ch00N.md (reads: outline, summaries, arcs, matrix, style_guide, canon) ↓ ValidatorAgent → 11 deterministic rules, zero LLM cost ↓ (error found → trigger spot-fix immediately) AuditorAgent → 33 LLM dimensions, temperature=0 for consistency ↓ ReviserAgent → spot-fix | rewrite | polish | anti-detect Post-Write Validator Rules (Deterministic, No LLM) Rule Condition Forbidden patterns 不是……而是…… constructs Em-dash ban —— character Transition word density 仿佛/忽然/竟然≤1 per 3000 chars High-fatigue words Per-book list, ≤1 per chapter Meta-narrative Screenwriter-style narration Report terminology Analytical framework terms in prose Author moralizing 显然/不言而喻 etc. Collective reaction 「全场震惊」clichés Consecutive 了 ≥4 consecutive sentences with 了 Paragraph length ≥2 paragraphs over 300 chars Book-specific bans book_rules.md forbidden list Audit Dimensions (33 total, LLM-evaluated) Key dimensions include: Dims 1–23: Core narrative quality (plot, character, pacing, foreshadowing) Dim 24–26: Subplot stagnation, arc flatness, rhythm monotony (all 5 genres) Dim 27: Sensitive content Dim 28–31: Spinoff-specific (canon conflicts, future info leakage, world rule consistency, foreshadowing isolation) Dim 32: Reader expectation management Dim 33: Outline deviation detection Code Integration Examples Programmatic Usage (TypeScript) import { BookManager } from '@actalk/inkos' import { WriterAgent } from '@actalk/inkos/agents' import { ValidatorAgent } from '@actalk/inkos/agents' // Create and configure a book const manager = new BookManager ( ) const book = await manager . createBook ( { title : '吞天魔帝' , genre : 'xuanhuan' , outlinePath : './my-outline.md' } ) // Run the write pipeline for next chapter const writer = new WriterAgent ( { temperature : 0.8 } ) const chapter = await writer . writeNext ( book ) // Run deterministic validation (no LLM cost) const validator = new ValidatorAgent ( ) const validationResult = await validator . validate ( chapter , book ) if ( validationResult . hasErrors ) { // Auto spot-fix triggered const reviser = new ReviserAgent ( { mode : 'spot-fix' } ) const fixed = await reviser . revise ( chapter , validationResult . errors , book ) console . log ( 'Fixed violations:' , validationResult . errors . length ) } Webhook Handler (Express) import express from 'express' import crypto from 'crypto' const app = express ( ) app . use ( express . raw ( { type : 'application/json' } ) ) app . post ( '/hooks/inkos' , ( req , res ) => { const sig = req . headers [ 'x-inkos-signature' ] as string const expected = crypto . createHmac ( 'sha256' , process . env . INKOS_WEBHOOK_SECRET ! ) . update ( req . body ) . digest ( 'hex' ) if ( sig !== sha256= ${ expected } ) { return res . status ( 401 ) . send ( 'Invalid signature' ) } const event = JSON . parse ( req . body . toString ( ) ) switch ( event . type ) { case 'chapter-complete' : console . log ( Chapter ${ event . chapter } of " ${ event . book } " complete ) // Trigger human review gate notifyReviewer ( event ) break case 'audit-failed' : console . log ( Audit failed: ${ event . criticalCount } critical issues ) break case 'pipeline-error' : console . error ( Pipeline error in " ${ event . book } ": , event . error ) break } res . status ( 200 ) . json ( { received : true } ) } ) Custom Genre Definition // genres/wuxia.ts import type { GenreConfig } from '@actalk/inkos/types' export const wuxia : GenreConfig = { id : 'wuxia' , name : '武侠' , chapterTypes : [ '江湖相遇' , '武功切磋' , '恩怨纠葛' , '门派争斗' , '武林大会' ] , forbiddenPatterns : [ '内力值' , '战力' , '等级提升' , // No numerical power system '系统' , '面板' , '属性点' ] , fatiguedWords : [ '震惊' , '无敌' , '碾压' , '秒杀' ] , languageRules : [ { bad : '内力增加了100点' , good : '一股暖流沿经脉漫开,指尖的颤抖渐渐平息' } ] , auditDimensions : [ '武功描写感官化' , '江湖规则内部一致性' , '恩怨情仇弧线完整性' ] } Style Import Pipeline import { StyleAnalyzer } from '@actalk/inkos/style' const analyzer = new StyleAnalyzer ( ) // Analyze reference text const profile = await analyzer . analyze ( './reference-novel.txt' ) console . log ( profile ) // { // avgSentenceLength: 18.3, // ttr: 0.42, // Type-Token Ratio // rhetoricalDensity: 0.15, // paragraphLengthDist: { p25: 45, p50: 89, p75: 156 }, // punctuationStyle: 'sparse' // } // Import into book (generates style_profile.json + style_guide.md) await analyzer . importToBook ( './reference-novel.txt' , '吞天魔帝' , { authorName : '某作者' } ) Audit Revision Loop The v0.4 hardened audit-revision loop prevents revision from introducing more AI markers: AuditorAgent (temp=0) ↓ critical issues found ReviserAgent spot-fix ↓ AI marker count comparison ↓ markers increased? YES → discard revision, keep original NO → accept revision ↓ Re-audit (temp=0) Key settings for audit consistency: Auditor always runs at temperature: 0 — eliminates 0–6 critical variance on same chapter Default revision mode is spot-fix (only modify problem sentences) rewrite mode is available but measured to introduce 6× more AI markers polish mode is boundary-locked: no paragraph add/delete, no name changes, no new plot Spinoff Canon Constraints When parent_canon.md is detected, 4 additional audit dimensions activate automatically:

parent_canon.md (auto-generated by inkos import canon)

正传世界规则

力量体系: 炼体→炼气→炼丹→炼神→炼虚

地理: 九州大陆,东海以东无人居住

阵营: 正道五宗 vs 魔道三门

关键事件时间线

第1章: 主角获得吞天诀

第45章: 正道五宗盟约成立 [分歧点]

角色快照 (分歧点时状态)

林天: 炼气期第三层,未知父母身世

剑宗宗主: 在世,尚未叛变

伏笔状态 (正传专属,番外禁止回收)

古剑残片: 未解

神秘老人身份: 未解 Troubleshooting Validator fires on every chapter Check book_rules.md fatigue word list — words listed there are enforced ≤1 per chapter. Remove infrequently used terms. Audit results wildly inconsistent between runs Confirm auditor temperature is locked to 0 in config. If using a proxy LLM API, ensure it respects temperature: 0 . Revision introduces more AI markers than original This is expected behavior — InkOS v0.4 automatically detects this and discards the revision. If it happens repeatedly, switch from rewrite to spot-fix mode explicitly. Spinoff audit incorrectly flags events Verify parent_canon.md has accurate divergence point timestamps. Events before the divergence point are canon-locked; events after are fair game for the spinoff. Daemon stops a book after repeated failures Check daemon status for the suspended book. After fixing the underlying issue (usually outline ambiguity or book_rules.md contradiction), run inkos daemon resume 书名 . Style guide not being applied by writer Run inkos style import again — if style_guide.md is missing or empty, the writer skips style injection silently. Check that the reference text is ≥5000 characters for reliable fingerprinting.

返回排行榜