AB
AiBoss站
project

ai-novel-studio - 带世界构建与角色状态校验的 AI 互动小说创作平台

ai-novel-studio 是一个用 Next.js 与 Go 构建的 AI 互动小说应用,由 weike-zhang 维护,MIT 许可。项目自述其核心设计在于生成文本与已存事实之间的边界:模型可以提出行动,但不能通过状态补丁改写已确立的角色设定。本文介绍其维护状态、主要能力、使用入口与许可限制。

ai-novel-studio(AI 小说创作台)是一个 AI 互动小说应用,采用 Next.js 与 Go 构建。按项目自述,使用方式是先创建一个世界,然后开始一段私人旅程,再选择接下来发生什么。它想解决的问题落在生成式叙事的一个常见痛点上:模型写出来的文字与故事里已经确立的事实之间容易脱节。据项目说明,服务器会在把模型提出的改动提交进故事之前先做校验,因此模型可以提出一个行动,却不能通过状态补丁把已经确立的角色改名。它适合正在构建叙事游戏或有状态 AI 应用的开发者,也适合想研究「生成文本」与「存储事实」之间边界如何落地的人。

维护者与状态

该仓库由 weike-zhang 维护,仓库地址为 github.com/weike-zhang/ai-novel-studio。事实表显示,仓库创建时间为 2026-10-03,最后提交时间同为 2026-10-03,也就是说这是一个刚建立不久、提交记录还很集中的项目。最新 release 一栏为「尚无正式 release」,因此目前没有可引用的正式版本号,使用时应以仓库当前代码为准。星标数为 225,数据读取时间为 2026-10-10,即截至 2026-10-10 获得 225 个星标。许可证为 MIT。

主要能力

以下能力均来自项目自述,属于维护者对自身实现的描述,不是第三方评测结论。

  • Web 应用:据 README,包含世界发现、创作、私人旅程、账号流程与任务进度等部分。
  • 故事引擎:项目自述其负责冻结的世界快照、已提交上下文,以及角色与场景校验。
  • Go API 与 worker:据项目说明,负责排队生成、模型提案、校验与事务性持久化。
  • 数据与契约:README 中列出 MySQL 迁移、合成开发数据以及一个 OpenAPI 客户端。
  • 模型集成:项目自述支持 OpenAI 兼容的请求、可配置的端点以及回退处理。

关于一次回合如何进入故事,README 给出的流程是:玩家行动进入 API 与任务预留,再经 Outbox 与 RabbitMQ 交给 Go worker;worker 结合冻结的世界与已提交状态,产出模型提案,经过校验后写入 MySQL 事务,最后回到 Web 端的任务进度。项目说明指出,架构指南会把每个决策与其实现和测试对应起来,而独立的演示程序走的是内存提交路径,完整应用才走 worker 加数据库的路径。

项目还提供了一个可运行的演示,用于观察「一次合法回合提交成功、一次非法改动失败」。据 README,在 Go 1.26 或更新版本下,从仓库根目录执行 cd services/server 后运行 go run ./cmd/demo 即可。该演示使用真实的故事引擎,配合内存仓库与确定性的假 provider,不需要 API key、数据库或 Docker;Go 可能在首次使用时下载模块元数据。演示会提交一个港口场景,尝试修改某个角色的名字,然后检查被拒绝的提案是否让已提交版本保持原样。项目明确说明,这展示的是校验行为,并不衡量真实模型的叙事质量。

README 同时说明了公开版本的内容边界:公开版包含合成开发内容,但不包含托管站点的目录、原创封面美术、用户数据与生产配置;与支付相关的代码并不代表存在真实的支付集成。

使用入口

仓库地址为 ai-novel-studio,安装与运行说明以仓库内文档为准。

据项目说明,Web 应用需要 Node.js 22 或更新版本。从仓库根目录可依次执行:

npm ci
npm run build:api-client
npm run test:web
npm run test:api-client
npm run tokens:check

Go 包则进入服务端目录后运行测试:

cd services/server
go test ./...

项目提醒,数据库、Redis、RabbitMQ 与真实模型的集成测试需要显式设置各自的测试环境变量;默认的 go test 运行并不能证明这些集成是可用的。在启动完整应用之前,建议先阅读开发环境搭建说明与验证记录。

许可与限制

许可证为 MIT。项目说明中补充,依赖项各自的许可证仍然适用,需查看第三方声明。

已知限制与前置条件方面,据 README:Web 应用需要 Node.js 22 或更新版本;演示程序需要 Go 1.26 或更新版本;完整应用依赖 MySQL、Redis、RabbitMQ 等组件,相关集成测试必须配置显式环境变量才会运行;公开版不含托管站点的目录、原创封面美术、用户数据与生产配置,支付相关代码不构成真实支付集成。此外,仓库尚无正式 release,事实表中也没有给出性能、参数量或基准分数等信息,因此本文不对这些方面作任何描述。