by Narcooo
Autonomous novel writing AI Agent — agents write, audit, and revise novels with human review gates
# Add to your Claude Code skills
git clone https://github.com/Narcooo/inkosLast scanned: 4/19/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-04-19T06:02:35.363Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}AI Agent 自主写小说——写、审、改,全程接管。覆盖玄幻、仙侠、都市、科幻等多种风格,支持续写、番外、同人、仿写等创作形式。人工审核门控确保你始终掌控全局。已发布为 OpenClaw skill。
InkOS Studio 2.0 正式发布! — 直接运行 inkos 启动本地 Web 工作台。书籍管理、章节审阅编辑、实时写作进度、市场雷达、数据分析、AI 检测、文风分析、题材管理、守护进程控制、真相文件编辑——CLI 能做的,Studio 全部可视化。
InkOS TUI 正式发布! — 运行 inkos tui 进入全屏交互仪表盘。对话式创作、自然语言操作书籍、slash 命令补全、主题动效——TUI、Studio、OpenClaw 共享同一套交互内核。
v1.3.10 建书 platform 热修 — 修复网页和命令行建书时 sub_agent.platform 别名输入触发 schema 校验失败的问题;Studio、CLI、TUI、agent 建书链路都会把平台参数归一化为合法值。
Native English novel writing now supported! Set --lang en to write in English. See English README for details.
当前更新相对频繁,后续会持续新增功能与优化写作效果。 欢迎加群反馈问题、提出需求,也欢迎关注项目动态 — 我们的目标是做最强的基于小说的内容生态创作 AI Agent。
npm i -g @actalk/inkos
InkOS 已发布为 OpenClaw Skill,可被任何兼容 Agent(Claude Code、OpenClaw 等)直接调用:
clawhub install inkos # 从 ClawHub 安装 InkOS Skill
通过 npm 安装或克隆本项目时,skills/SKILL.md 已包含在内,🦞 可直接读取——无需额外从 ClawHub 安装。
安装后,Claw 应优先通过共享交互入口调用 InkOS:
inkos interact --json --message "继续当前书,但把节奏再收紧一点"
这条入口直接走和项目 TUI 相同的交互执行内核,因此 OpenClaw、TUI、Studio 共用同一套控制脑。返回的 JSON 包含:
No comments yet. Be the first to share your thoughts!
plan chapter / compose chapter / draft / audit / revise / write next 这些原子命令仍然保留,但更适合作为底层工具,而不是 OpenClaw 的首选入口。也可以在 ClawHub 搜索 inkos 在线查看。
InkOS 2.0 将 LLM 配置分成两条清晰路径:Studio 用可视化服务配置,CLI / daemon / 部署环境支持 env 覆盖。两者不会互相污染。
适合本地写作、Web 工作台和可视化管理。
inkos init my-novel
cd my-novel
inkos
打开 Studio 后进入「模型配置」:
Studio 运行时只使用:
provider bank 默认值
→ inkos.json 里的 services / 当前 service / defaultModel
→ .inkos/secrets.json 里的 service API Key
即使检测到 ~/.inkos/.env 或项目 .env,Studio 也只会展示提示,不会用 env 覆盖 service、model、baseUrl 或 API Key。API Key 存在项目内的 .inkos/secrets.json,不会写进 inkos.json。
适合终端批处理、服务器部署、CI、Docker、守护进程和一次性切模型。
全局 env:
inkos config set-global \
--provider <openai|anthropic|custom> \
--base-url <API 地址> \
--api-key <你的 API Key> \
--model <模型名>
也可以手动写 ~/.inkos/.env 或项目 .env:
INKOS_LLM_PROVIDER=custom
INKOS_LLM_BASE_URL=https://api.moonshot.cn/v1
INKOS_LLM_API_KEY=sk-...
INKOS_LLM_MODEL=kimi-k2.5
# 可选
INKOS_LLM_SERVICE=moonshot # 推荐写;不写时会尽量从 baseUrl 自动识别
INKOS_LLM_TEMPERATURE=0.7
INKOS_LLM_THINKING_BUDGET=0
INKOS_DEFAULT_LANGUAGE=zh
INKOS_LLM_EXTRA_top_p=0.9
CLI 合成顺序:
Studio/project service 配置
→ .inkos/secrets.json service key
→ global ~/.inkos/.env
→ project .env
→ 当前进程环境变量
→ CLI 参数
也就是说,CLI 默认可以复用 Studio 配好的服务和密钥;如果 env 里声明了 INKOS_LLM_SERVICE、INKOS_LLM_MODEL、INKOS_LLM_BASE_URL 或 INKOS_LLM_API_KEY,则作为覆盖层生效。旧 env 只写 baseUrl + model + apiKey 也能继续用,InkOS 会尽量从 baseUrl 反推 service。
一次性指定服务或模型:
inkos write next --service google --model gemini-2.5-flash
inkos write next --service moonshot --model kimi-k2.5 --no-stream
inkos agent "继续写下一章" --api-key-env MOONSHOT_API_KEY
inkos doctor --service minimaxCodingPlan --model MiniMax-M2.7
--service 会从 provider bank 自动推导 baseUrl、协议和兼容策略;--model 必须属于最终 service,否则会直接报错,避免把 Kimi 模型发到 Gemini 这类错配问题。
给不同 Agent 分配不同模型,按需平衡质量与成本:
# 给不同 agent 配不同模型/提供商
inkos config set-model writer <model> --provider <provider> --base-url <url> --api-key-env <ENV_VAR>
inkos config set-model auditor <model> --provider <provider>
inkos config show-models # 查看当前路由
未单独配置的 Agent 自动使用全局模型。
inkos doctor
doctor 会显示当前 effective config mode、service/model/API Key 来源,并尝试 API 连通性。常见模式:
| 模式 | 含义 |
|------|------|
| studio-project | Studio 运行时:只使用 Studio/project 配置和 secrets |
| cli-project | CLI 运行时:以 Studio 配置为基础,再叠加 env 和 CLI 参数 |
| legacy-env | 旧 env 模式:兼容老项目的纯 .env 配置 |
如果服务测试失败,优先检查服务商、模型和协议是否匹配。Google Gemini 的 AI Studio API Key 可用于 Gemini OpenAI-compatible endpoint;InkOS 会自动禁用 Google 不支持的 OpenAI store 参数。MiniMax / MiniMax CodingPlan 会优先使用可工作的非流式 transport,避免流式返回 usage 但无正文的问题。
.inkos/secrets.json;CLI、daemon、部署环境支持 env 覆盖和一次性命令参数。--service google --model kimi-k2.5 这类错配会直接报错,避免把请求发到错误服务商。store 参数。INKOS_LLM_BASE_URL + INKOS_LLM_MODEL + INKOS_LLM_API_KEY 仍可用于 CLI;没有 INKOS_LLM_SERVICE 时会尝试从 baseUrl 反推服务商。统一交互内核 + TUI 仪表盘 + Studio 助手
inkos interact、OpenClaw Skill 共用同一套自然语言理解 + 执行内核,支持 15+ 种意图(写作、修订、重写、改名、导出、切换书籍等)inkos 直接进入全屏交互式仪表盘(Ink + React),对话式创作体验,slash 命令自动补全,主题动效,i18n 双语把林烬改成张三 或 /rename 林烬 => 张三,全量扫描章节 + 真相文件,一次替换inkos interact:共享交互 JSON 入口,OpenClaw / 外部 Agent 可直接调用inkos book create --title "吞天魔帝" --genre xuanhuan # 创建新书
inkos write next 吞天魔帝 # 写下一章(完整管线:草稿 → 审计 → 修订)
inkos status # 查看状态
inkos review list 吞天魔帝 # 审阅草稿
inkos review approve-all 吞天魔帝 # 批量通过
inkos export 吞天魔帝 # 导出全书
inkos export 吞天魔帝 --format epub # 导出 EPUB(手机/Kindle 阅读)
连续性审计员从 33 个维度检查每一章草稿:角色记忆、物资连续性、伏笔回收、大纲偏离、叙事节奏、情感弧线等。内置 AI 痕迹检测维度,自动识别"LLM 味"表达(高频词、句式单调、过度总结),审计不通过自动进入修订循环。
去 AI 味规则内置于写手 agent 的 prompt 层——词汇疲劳词表、禁用句式、文风指纹注入,从源头减少 AI 生成痕迹。revise --mode anti-detect 可对已有章节做专门的反检测改写。
inkos style analyze 分析参考文本,提取统计指纹(句长分布、词频特征、节奏模式)和 LLM 风格指南。inkos style import 将指纹注入指定书籍,后续所有章节自动采用该风格,修订者也会用风格标准做审计。
inkos book create --brief my-ideas.md 传入你的脑洞、世界观设定、人设文档。建筑师 agent 会基于简报生成故事设定(story_bible.md)和创作规则(book_rules.md),而非凭空创作;同时把简报落盘到 story/author_intent.md,让这本书的长期创作意图不会只在建书时生效一次。
每本书现在都有两份长期可编辑的 Markdown 控制文档:
story/author_intent.md:这本书长期想成为什么story/current_focus.md:最近 1-3 章要把注意力拉回哪里写作前可以先跑:
inkos plan chapter 吞天魔帝 --context "本章先把注意力拉回师徒矛盾"
inkos compose chapter 吞天魔帝
这会生成 story/runtime/chapter-XXXX.intent.md、context.json、rule-stack.yaml、trace.json。其中 intent.md 给人看,其他文件给系统执行和调试。plan / compose 只编译本地文档和状态,不依赖在线 LLM,可在没配好 API Key 前先验证控制输入。
draft、write next、revise 现在共享同一套保守型字数治理:
--words 指定的是目标字数,系统会自动推导一个允许区间,不承诺逐字精确命中zh_chars 计数,英文默认按 en_words 计数inkos import chapters 从已有小说文本导入章节,自动逆向工程 7 个真相文件(世界状态、角色矩阵、资源账本、伏笔钩子等),支持 第X章 和自定义分割模式、断点续导。导入后 inkos write next 无缝接续创作。
inkos fanfic init --from source.txt --mode canon 从原作素材创建同人书。支持四种模式:canon(正典延续)、au(架空世界)、ooc(性格重塑)、cp(CP 向)。内置正典导入器、同人专属审计维度和信息边界管控——确保设定不矛盾。
不同 Agent 可以走不同模型和 Provider。写手用 Claude(创意强),审计用 GPT-4o(便宜快速),雷达用本地模型(零成本)。inkos config set-model 按 agent 粒度配置,未配置的自动回退全局模型。
inkos up 启动后台循环自动写章。管线对非关键问题全自动运行,关键问题暂停等人工审核。通知推送支持 Telegram、飞书、企业微信、Webhook(HMAC-SHA256 签名 + 事件过滤)。日志写入 inkos.log(JSON Lines),-q 静默模式。
支持任何 OpenAI 兼容接口(Studio 里新增自定义服务,或 CLI 使用 --provider custom / INKOS_LLM_PROVIDER=custom)。服务测试会尝试不同协议和流式开关组合,并保存或提示可用 transport。Fallback 解析器处理小模型不规范输出,流中断时自动恢复部分内容。
每章自动创建状态快照,inkos write rewrite 可回滚任意章节。写手动笔前输出自检表(上下文、资源、伏笔、风险),写完输出结算表,审计员交叉验证。文件锁防止并发写入。写后验证器含跨章重复检测和 11 条硬规则自动 spot-fix。
伏笔系统使用 Zod schema 校验——lastAdvancedChapter 必须是整数,status 只能是 open/progressing/deferred/resolved。LLM 输出的 JSON delta 在写入前经过 applyRuntimeStateDelta 做 immutable 更新 + validateRuntimeState 结构校验。坏数据直接拒绝,不会滚雪球。
模型输出上限由 provider bank 的模型卡管理;llm.extra / INKOS_LLM_EXTRA_* 中的保留键(max_tokens、temperature、model、messages、stream 等)会被自动过滤,防止意外覆盖核心请求参数。
每一章由多个 Agent 接力完成,全程零人工干预:
| Agent | 职责 | |-------|------| | 雷达 Radar |