InkOS 网页版上线! 立刻体验
InkOS 是一个面向故事创作与多语言翻译的 AI Agent 系统:长篇连载、独立短篇、剧本剧作、同人番外、仿写续写、互动影游、开放世界和长文翻译,都可以从同一个工作台开始。支持 Studio、TUI、CLI 交互形式,把创意、设定、角色、记忆、审稿、修订、封面、互动状态和跨语言交付交给智能体统一管理。
🎉🎉 InkOS 入选首批 KIMI 开源合作伙伴 🎉🎉
感谢 Kimi 赞助本项目!Kimi K3 是 Moonshot AI 迄今能力最强的模型,也是全球首个开源 3T 级模型,拥有原生视觉能力与 100 万 Token 上下文。搭配 InkOS,K3 可以参与长短篇小说、剧本、互动影游与多语言内容的规划、写作、审稿和修订;InkOS 则持续管理角色、设定、伏笔与故事状态,让长篇创作更连贯、更可控。
kkaiapi|一个 Key 调模型,一个 MCP 接数据与工具。
支持 Claude、GPT、Gemini、DeepSeek 等主流模型,按量付费、共用余额,用于 InkOS 写作、审稿与封面生成。
查看模型与价格 → · InkOS 接入指南 → · MCP 接入 →
💡 写小说,先给 Agent 接一层专业数据 —— 写小说不只缺模型,更缺素材。推荐搭配 火花数据API(huohuaapi):按调用计费的小说 / 网文创作数据,让 Agent 动笔前先查小说正文、章节结构、人物设定、文风和创作方法等带来源素材,而不是只靠 Prompt 硬凑一份“剧情提纲”。
本分支为 2.0 开发版本,使用本地构建进行验证。旧项目先运行 inkos work migrate --json 查看升级清单,再运行 inkos work migrate --apply 导入统一创作库;原目录与早期版本清单备份会保留,冲突不会覆盖已有作品。
迁移会转换 1.x 的书籍默认配置、规则和状态快照,保留正文、原始目录及未填写的历史信息。旧写作控制字段保留在原件中,2.0 使用 Profile 的操作策略。缺少运行时状态的项目以草稿进入创作库,需完成状态重建后再继续生产。
本地开发与真实生产验收统一使用 kkaiapi(https://api.kkaiapi.com/v1):文字按 DeepSeek V4 Flash / Pro 分工,封面使用 gpt-image-2。在项目 llm.cover 中配置服务和模型,CLI 与 Studio 读取同一配置,封面可复用 kkaiapi 服务密钥。
已有短篇可以在作品对话中要求按审稿意见整篇修订,或运行 inkos short revise <story-id> --instruction "修复审稿指出的时间线与证据链问题"。系统会更新相关章节、大纲和销售包,再次审稿,并保留原稿版本。
InkOS 2.0 把“Chat Agent 调工具”和“各类作品管线”收敛成一套围绕 pi-agent 的生产 harness。模型负责理解、提议和调用能力;InkOS 负责确认、上下文、状态、原子落盘和产物真实性。长篇、短篇、剧本、分镜、互动影游、Play 与翻译继续保留各自的专业方法,但共享同一套执行、检索、观测和恢复基础设施。
inkos interact 与生产 worker 共用 pi-agent 工具循环和结构化 action/result;既有 pipeline 降为可直接调用、可中断、可观测的确定性能力,不再维护平行的自然语言决策内核。SKILL.md;各作品类型复用 Skill 架构,不复用不适合自己的长篇提示词。/new、/short、/play、/cover、/write 明确入口,结构化 /confirm / /cancel,会话级 /model 切换和明暗终端自适应配色;普通自由文本仍交给 Agent 理解。
长篇小说 — 从创作简报建书,生成世界观、角色、卷纲和章节意图;写作、审稿、修订、状态结算都是可独立调用、可追溯的 Harness action。上下文按 protected / compressible 分层组织,避免长书越写越乱。
剧情多线推演 — 在写下一章前,基于当前正史生成 2-5 条彼此隔离的未来分支,并在 Studio Chat 中横向比较章节节拍、人物决定、预计变化、风险和作者意图匹配度。采用分支只会保存 selected-branch-plan.md 候选计划,不会修改正文、大纲或正史状态;正史变化后旧推演会标记为过期。
InkOS Short — Studio Chat 和 CLI 可以直接产出独立短篇:完整正文、大纲记录、审稿记录、简介卖点、封面提示词,并在配置封面服务后生成封面图。
InkOS Play — 新增开放世界与分支互动。你可以用自然语言指定世界契约、时间推进方式、角色 agent、物品 / 证据 / 关系规则和视觉风格;系统维护世界状态、可点击选择、自由动作、HUD 和自动配图。
Studio Chat — 普通聊天、建书、短篇、封面、互动世界都走同一套 action surface。重动作先确认,生成物可预览,可通过聊天修改章节、封面提示词、世界状态和持久化文本产物。
Native English novel writing now supported! Set --lang en to write in English. See English README for details.
当前更新相对频繁,后续会持续新增功能与优化写作效果。 欢迎加群反馈问题、提出需求,也欢迎关注项目动态 — 我们的目标是做最强的基于小说的内容生态创作 AI Agent。
需要 Node.js 22.16 或更高版本。
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 输出包含 assistant 文本回复和 interaction session 信息;真正的执行结果以工具结果和落盘文件为准,不从模型口头声明推断完成。
底层规划、上下文组装、写作和审稿由同一 Harness action 调度,不再作为平行入口暴露。也可以在 ClawHub 搜索 inkos 在线查看。
InkOS 直接使用标准 SKILL.md 作为专业能力扩展,不再维护一套 InkOS 私有 Skill 协议。Skill 只向 Chat Agent 提供专业说明和静态参考资料,不会增加执行权限;创建、写入、编辑和生成图片仍然由 InkOS 工具与确认闸门控制。
可用方式:
skills/、.agents/skills/,或用户目录 ~/.agents/skills/、~/.openclaw/skills/。Studio 也可以导入包含 SKILL.md 的完整文件夹和静态参考资料;项目导入统一保存到 .agents/skills/。INKOS_SKILL_DIRS=/abs/path/to/skills,可指向单个 skill 目录,也可指向包含多个 skill 子目录的目录。多个目录按系统分隔符分隔。@skill-id 强制本轮使用,例如:@detective-play 做一个证据链驱动的开放世界。@skill-id 时,Chat Agent 根据用户当前意图决定是否调用 use_skill;不再通过 session 类型、关键词或字符串包含匹配机械启用。专业创作方法统一由 Skill 提供。要调整内置方法,可在 Studio 导入同 ID 的项目 Skill 作为覆盖;Agent 文件只保留动态任务、上下文和工具协议。
最小 SKILL.md 示例:
---
name: Detective Play
description: Detective evidence and suspect-board play.
---
Use evidence chains; do not turn clues into generic atmosphere.
当前 InkOS 将 LLM 配置分成两条清晰路径:Studio 用可视化服务配置,CLI / daemon / 部署环境支持 env 覆盖。两者不会互相污染。
适合本地写作、Web 工作台和可视化管理。
inkos init my-novel
cd my-novel
inkos
请从启动日志显示的本机地址打开 Studio。默认本地服务只接受同源浏览器请求;自定义嵌入或反向代理可通过服务启动参数 allowedOrigins 明确配置可信来源。
打开 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 运行时:只使用 Studi |
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|