inkos/README.md

18 KiB
Raw Blame History

InkOS Logo InkOS

自动化小说写作 CLI Agent

npm version License: MIT Node.js TypeScript

中文 | English


Agent 写小说。写、审、改,全程接管。

v0.3 更新

创作规则三层分离 + 跨章记忆 + AIGC 检测 + Webhook。

跨章记忆与写作质量

Writer 每章自动生成摘要、更新支线/情感/角色矩阵,全部追加到真相文件。后续章节加载全量上下文,长线伏笔不再丢失。

真相文件 用途
chapter_summaries.md 各章摘要:出场人物、关键事件、状态变化、伏笔动态
subplot_board.md 支线进度板A/B/C 线状态追踪
emotional_arcs.md 情感弧线:按角色追踪情绪、触发事件、弧线方向
character_matrix.md 角色交互矩阵:相遇记录、信息边界

AIGC 检测

功能 说明
AI 痕迹审计 纯规则检测(不走 LLM段落等长、套话密度、公式化转折、列表式结构自动合并到审计结果
AIGC 检测 API 外部 API 集成GPTZero / Originality / 自定义端点),inkos detect 命令
文风指纹学习 从参考文本提取 StyleProfile句长、TTR、修辞特征注入 Writer prompt
反检测改写 ReviserAgent anti-detect 模式,检测→改写→重检测循环
检测反馈闭环 detection_history.json 记录每次检测/改写结果,inkos detect --stats 查看统计
inkos style analyze reference.txt         # 分析参考文本文风
inkos style import reference.txt 吞天魔帝  # 导入文风到书
inkos detect 吞天魔帝 --all               # 全书 AIGC 检测
inkos detect --stats                      # 检测统计

Webhook + 智能调度

管线事件 POST JSON 到配置 URLHMAC-SHA256 签名),支持事件过滤(chapter-completeaudit-failedpipeline-error 等)。守护进程增加质量门控:审计失败自动重试(调高 temperature、连续失败暂停书籍。

题材自定义

内置 5 个题材,每个题材带一套完整的创作规则:章节类型、禁忌清单、疲劳词、语言铁律、审计维度。

题材 自带规则
玄幻 数值系统、战力体系、同质吞噬衰减公式、打脸/升级/收益兑现节奏
仙侠 修炼/悟道节奏、法宝体系、天道规则
都市 年代考据、商战/社交驱动、法律术语年代匹配、无数值系统
恐怖 氛围递进、恐惧层级、克制叙事、无战力审计
通用 最小化兜底

创建书时指定题材,对应规则自动生效:

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

题材规则可以查看、复制到项目中修改、或从零创建:

inkos genre list                      # 查看所有题材
inkos genre show xuanhuan             # 查看玄幻的完整规则
inkos genre copy xuanhuan             # 复制到项目中,随意改
inkos genre create wuxia --name 武侠   # 从零创建新题材

复制到项目后,增删禁忌、调整疲劳词、修改节奏规则、自定义语言铁律——改完下次写章自动生效。

每个题材有专属语言铁律(带 ✗→✓ 示例),写手和审计员同时执行:

  • 玄幻:✗ "火元从12缕增加到24缕" → ✓ "手臂比先前有力了,握拳时指骨发紧"
  • 都市:✗ "迅速分析了当前的债务状况" → ✓ "把那叠皱巴巴的白条翻了三遍"
  • 恐怖:✗ "感到一阵恐惧" → ✓ "后颈的汗毛一根根立起来"

单本书规则

每本书有独立的 book_rules.md,建筑师 agent 创建书时自动生成,也可以随时手改。写在这里的规则注入每一章的 prompt

protagonist:
  name: 林烬
  personalityLock: ["强势冷静", "能忍能杀", "有脑子不是疯狗"]
  behavioralConstraints: ["不圣母不留手", "对盟友有温度但不煽情"]
numericalSystemOverrides:
  hardCap: 840000000
  resourceTypes: ["微粒", "血脉浓度", "灵石"]
prohibitions:
  - 主角关键时刻心软
  - 无意义后宫暧昧拖剧情
  - 配角戏份喧宾夺主
fatigueWordsOverride: ["瞳孔骤缩", "不可置信"]   # 覆盖题材默认

主角人设锁定、数值上限、自定义禁令、疲劳词覆盖——每本书的规则独立调整,不影响题材模板。

26 维度审计

审计细化为 26 个维度,按题材自动启用对应的子集:

OOC检查、时间线、设定冲突、伏笔、节奏、文风、信息越界、词汇疲劳、利益链断裂、配角降智、配角工具人化、爽点虚化、台词失真、流水账、知识库污染、视角一致性、战力崩坏、数值检查、年代考据、段落等长、套话密度、公式化转折、列表式结构、支线停滞、弧线平坦、节奏单调

玄幻/仙侠全 26 维度,都市 24 维度(含年代考据),恐怖 22 维度。其中 dim 20-23AI 痕迹)由纯规则引擎检测,不消耗 LLM 调用。

去 AI 味

5 条通用规则 + 每个题材的专属语言规则,控制 AI 标记词密度和叙述习惯:

  • AI 标记词限频:仿佛/忽然/竟然/不禁/宛如/猛地,每 3000 字 ≤ 1 次
  • 叙述者不替读者下结论,只写动作
  • 禁止分析报告式语言("核心动机""信息落差"不入正文)
  • 同一意象渲染不超过两轮
  • 方法论术语不入正文

词汇疲劳审计 + AI 痕迹审计dim 20-23双重检测。文风指纹注入进一步降低 AI 文本特征。

其他

  • 支持 OpenAI + Anthropic 原生 + 所有 OpenAI 兼容接口
  • 修订者支持 polish / rewrite / rework / anti-detect 四种模式
  • 无数值系统的题材不生成资源账本
  • 所有命令支持 --json 结构化输出OpenClaw / 外部 Agent 可直接解析
  • book-id 自动检测:项目只有一本书时省略 book-id
  • inkos update 一键更新、inkos init 支持当前目录初始化
  • API 错误附带中文诊断提示,inkos doctor 含 API 连通性测试

为什么需要 InkOS

用 AI 写小说不是简单的"提示词 + 复制粘贴"。长篇小说很快就会崩角色记忆混乱、物品凭空出现、同样的形容词每段都在重复、伏笔悄无声息地断掉。InkOS 把这些当工程问题来解决。

  • 长期记忆 — 追踪世界的真实状态,而非 LLM 的幻觉
  • 反信息泄漏 — 确保角色只知道他们亲眼见证过的事
  • 资源衰减 — 物资会消耗、物品会损坏,没有无限背包
  • 词汇疲劳检测 — 在读者发现之前就捕捉过度使用的词语
  • 自动修订 — 在人工审核之前修复数值错误和连续性断裂

工作原理

每一章由五个 Agent 接力完成:

管线流程图

Agent 职责
雷达 Radar 扫描平台趋势和读者偏好,指导故事方向(可插拔,可跳过)
建筑师 Architect 规划章节结构:大纲、场景节拍、节奏控制
写手 Writer 根据大纲 + 当前世界状态生成正文
连续性审计员 Auditor 对照长期记忆验证草稿
修订者 Reviser 修复审计发现的问题 — 关键问题自动修复,其他标记给人工审核

如果审计不通过,管线自动进入"修订 → 再审计"循环,直到所有关键问题清零。

长期记忆

每本书维护 7 个真相文件作为唯一事实来源:

文件 用途
current_state.md 世界状态:角色位置、关系网络、已知信息、情感弧线
particle_ledger.md 资源账本:物品、金钱、物资数量及衰减追踪
pending_hooks.md 未闭合伏笔:铺垫、对读者的承诺、未解决冲突
chapter_summaries.md 各章摘要:出场人物、关键事件、状态变化、伏笔动态
subplot_board.md 支线进度板A/B/C 线状态、停滞检测
emotional_arcs.md 情感弧线:按角色追踪情绪变化和成长
character_matrix.md 角色交互矩阵:相遇记录、信息边界

连续性审计员对照这些文件检查每一章草稿。如果角色"记起"了从未亲眼见过的事,或者拿出了两章前已经丢失的武器,审计员会捕捉到。旧书无新真相文件时自动兼容。

长期记忆快照

创作规则体系

写手 agent 内置 ~25 条通用创作规则(人物塑造、叙事技法、逻辑自洽、语言约束、去 AI 味),适用于所有题材。

在此基础上,每个题材有专属规则(禁忌、语言铁律、节奏、审计维度),每本书有独立的 book_rules.md(主角人设、数值上限、自定义禁令)和 story_bible.md(世界观设定),由建筑师 agent 创建书籍时自动生成。

详见 v0.3 更新

三种使用模式

InkOS 提供三种交互方式,底层共享同一组原子操作:

1. 完整管线(一键式)

inkos write next 吞天魔帝          # 写草稿 → 审计 → 自动修订,一步到位
inkos write next 吞天魔帝 --count 5 # 连续写 5 章

2. 原子命令(可组合,适合外部 Agent 调用)

inkos draft 吞天魔帝 --context "本章重点写师徒矛盾" --json
inkos audit 吞天魔帝 31 --json
inkos revise 吞天魔帝 31 --json

每个命令独立执行单一操作,--json 输出结构化数据。可被 OpenClaw 等 AI Agent 通过 exec 调用,也可用于脚本编排。

3. 自然语言 Agent 模式

inkos agent "帮我写一本都市修仙,主角是个程序员"
inkos agent "写下一章,重点写师徒矛盾"
inkos agent "先扫描市场趋势,然后根据结果创建一本新书"

内置 9 个工具write_draft、audit_chapter、revise_chapter、scan_market、create_book、get_book_status、read_truth_files、list_books、write_full_pipelineLLM 通过 tool-use 决定调用顺序。

快速开始

安装

npm i -g @actalk/inkos

配置

方式一:全局配置(推荐,只需一次)

inkos config set-global \
  --provider openai \
  --base-url https://api.openai.com/v1 \
  --api-key sk-xxx \
  --model gpt-4o

配置保存在 ~/.inkos/.env,所有项目共享。之后新建项目不用再配。

方式二:项目级 .env

inkos init my-novel     # 初始化项目
# 编辑 my-novel/.env
# 必填
INKOS_LLM_PROVIDER=openai                        # openai / anthropic
INKOS_LLM_BASE_URL=https://api.openai.com/v1     # API 地址(支持中转站)
INKOS_LLM_API_KEY=sk-xxx                          # API Key
INKOS_LLM_MODEL=gpt-4o                            # 模型名

# 可选
# INKOS_LLM_TEMPERATURE=0.7                       # 温度
# INKOS_LLM_MAX_TOKENS=8192                        # 最大输出 token
# INKOS_LLM_THINKING_BUDGET=0                      # Anthropic 扩展思考预算

项目 .env 会覆盖全局配置。不需要覆盖时可以不写。

使用

inkos book create --title "吞天魔帝" --genre xuanhuan  # 创建新书
inkos write next 吞天魔帝      # 写下一章(完整管线)
inkos status                   # 查看状态
inkos review list 吞天魔帝     # 审阅草稿
inkos export 吞天魔帝          # 导出全书
inkos up                       # 守护进程模式

终端截图

命令参考

命令 说明
inkos init [name] 初始化项目(省略 name 在当前目录初始化)
inkos book create 创建新书(--chapter-words 设定字数)
inkos book update [id] 修改书设置(--chapter-words--target-chapters--status
inkos book list 列出所有书籍
inkos genre list/show/copy/create 查看、复制、创建题材
inkos write next [id] 完整管线写下一章(--words 覆盖字数,--count 连写)
inkos write rewrite [id] <n> 重写第 N 章(恢复状态快照,需确认)
inkos draft [id] 只写草稿(--words 覆盖字数)
inkos audit [id] [n] 审计指定章节
inkos revise [id] [n] 修订指定章节
inkos agent <instruction> 自然语言 Agent 模式
inkos review list [id] 审阅草稿
inkos review approve-all [id] 批量通过
inkos status [id] 项目状态
inkos export [id] 导出书籍为 txt/md
inkos radar scan 扫描平台趋势
inkos config set-global 设置全局 LLM 配置(~/.inkos/.env
inkos config show-global 查看全局配置
inkos config set/show 查看/更新项目配置
inkos doctor 诊断配置问题(含 API 连通性测试)
inkos detect [id] [n] AIGC 检测(--all 全部章节,--stats 统计)
inkos style analyze <file> 分析参考文本提取文风指纹
inkos style import <file> [id] 导入文风指纹到指定书
inkos update 更新到最新版本
inkos up / down 启动/停止守护进程

[id] 参数在项目只有一本书时可省略,自动检测。所有命令支持 --json 输出结构化数据。draft/write next/book create 支持 --context 传入创作指导,--words 覆盖每章字数OpenClaw 可逐章动态控制)。

实测数据

用 InkOS 全自动跑了一本玄幻题材的《吞天魔帝》:

生产数据

指标 数据
已完成章节 31 章
总字数 452,191 字
平均章字数 ~14,500 字
审计通过率 100%
资源追踪项 48 个
活跃伏笔 20 条
已回收伏笔 10 条

核心特性

状态快照 + 章节重写

每章自动创建状态快照。使用 inkos write rewrite <id> <n> 可以回滚并重新生成任意章节 — 世界状态、资源账本、伏笔钩子全部恢复到该章写入前的状态。

写入锁

基于文件的锁机制防止对同一本书的并发写入。

写前自检 + 写后结算

写手 agent 在动笔前必须输出自检表(上下文范围、当前资源、待回收伏笔、冲突概述、风险扫描),写完后输出结算表(资源变动、伏笔变动)。审计员对照结算表和正文内容做交叉验证。

可插拔雷达

雷达数据源通过 RadarSource 接口实现可插拔。内置番茄小说和起点中文网两个数据源也可以传入自定义数据源或直接跳过雷达。用户自己提供题材时agent 模式会自动跳过市场扫描。

守护进程模式

inkos up 启动后台循环,按计划写章。管线对非关键问题全自动运行,当审计员标记无法自动修复的问题时暂停等待人工审核。

通知推送

支持 Telegram、飞书、企业微信、Webhook。守护进程模式下写完一章或审计不通过都会推通知到手机。Webhook 支持 HMAC-SHA256 签名和事件过滤。

外部 Agent 集成

原子命令 + --json 输出让 InkOS 可以被 OpenClaw 等 AI Agent 调用。OpenClaw 通过 exec 工具执行 inkos draft/audit/revise,读取 JSON 结果决定下一步操作。

项目结构

inkos/
├── packages/
│   ├── core/              # Agent 运行时、管线、状态管理
│   │   ├── agents/        # architect, writer, continuity, reviser, radar, ai-tells, detector, style-analyzer
│   │   ├── pipeline/      # runner, agent (tool-use), scheduler, detection-runner
│   │   ├── state/         # 基于文件的状态管理器7 真相文件 + 快照)
│   │   ├── llm/           # OpenAI + Anthropic 双 SDK 接口 (流式)
│   │   ├── notify/        # Telegram, 飞书, 企业微信, Webhook
│   │   └── models/        # Zod schema 校验
│   └── cli/               # Commander.js 命令行 (18 条命令)
│       └── commands/      # init, book, write, draft, audit, revise, agent, review, detect, style...
└── (规划中) studio/        # 网页审阅编辑界面

TypeScript 单仓库pnpm workspaces 管理。

路线图

  • 完整管线(雷达 → 建筑师 → 写手 → 审计 → 修订)
  • 长期记忆 + 连续性审计
  • 内置创作规则体系
  • CLI 全套命令18 条)
  • 状态快照 + 章节重写
  • 守护进程模式
  • 通知推送Telegram / 飞书 / 企微)
  • 原子命令 + JSON 输出draft / audit / revise
  • 自然语言 Agent 模式tool-use 编排)
  • 可插拔雷达RadarSource 接口)
  • 外部 Agent 集成OpenClaw 等)
  • 题材自定义 + 单本书规则genre CLI + book_rules.md
  • 26 维度连续性审计(含 AI 痕迹检测)
  • 去 AI 味铁律 + 文风指纹注入
  • 多 LLM providerOpenAI + Anthropic + 兼容接口)
  • AIGC 检测 + 反检测改写管线
  • Webhook 通知 + 智能调度(质量门控)
  • 跨章节连贯性(章节摘要 + 支线/情感/角色矩阵)
  • packages/studio Web UI 审阅编辑界面
  • 多模型路由(不同 agent 用不同模型)
  • 自定义 agent 插件系统
  • 平台格式导出(起点、番茄等)

参与贡献

欢迎贡献代码。提 issue 或 PR。

pnpm install
pnpm dev          # 监听模式
pnpm test         # 运行测试
pnpm typecheck    # 类型检查

许可证

MIT