最近在用AI写小说时,我发现一个很明显的问题:现在很多大模型都很会写一段故事,但没有办法写好一个长篇故事。

比如你让 AI 写一个奇幻世界,它一开始可能写得很惊艳:大陆、王国、神明、战争、主角命运,全都有。

但继续写几轮之后,问题就出现了:

角色前后性格不一致;
地点设定开始混乱;
之前埋下的伏笔被忘掉;
世界历史越写越像临时编的;
剧情推进越来越依赖当前上下文,而不是整个世界观。

所以我做了一个项目,叫 Bragi

它的目标不是单纯生成一篇小说,而是做一个能够持续管理世界观、角色、事件和剧情路径的 AI 架空世界与互动故事引擎

项目地址放在文末。

Bragi 是什么?

简单来说,Bragi 是一个可以从一句设定出发,自动生成并维护架空世界的 AI 项目。

你可以给它一个很简单的概念,比如:

一个被月亮潮汐撕裂的海上王国

或者:

一座建在巨兽背上的移动城市

它会根据这个概念生成世界概览、底层规则、历史脉络、空间结构、角色关系和故事开端。更重要的是,它不是生成完就结束,而是会把这些内容记录下来,后续继续写故事时可以继续使用这些世界信息。README 中也说明,Bragi 通过标准化的时空规范和人物事件记录,缓解普通小说 Agent 容易出现的短期记忆不足和设定冲突问题。

换句话说,它更像一个“小型世界观操作系统”,而不是普通的 AI 写作提示词。

为什么要做这个项目?

现在 AI 写作最大的问题,不是它不会写,而是它太容易“只看眼前”。

短篇故事还好,几百字、几千字的问题不大。但一旦你想写长篇、系列故事、互动小说、TRPG 战役、游戏世界观,就会遇到很麻烦的问题:

前面写过的历史,后面忘了;
角色经历过的事件,后面不认了;
地图越来越大,但没有结构;
人物越来越多,但关系没有系统管理;
每次续写都像重新开局。

Bragi 想解决的就是这个问题。

它把世界拆成可以追踪的 时间路径空间路径。比如用类似 1,2,3 这样的路径来定位一个历史阶段或者一个地点层级。这样,世界不是一次性全部塞进上下文,而是像树状结构一样按需展开。当前剧情需要哪里,就重点展开哪里;暂时不需要的地方,可以只保留摘要。README 中也明确提到,项目使用数字路径定位历史阶段和地点层级,并支持按需补全世界细节。

这对于长篇创作非常重要。

因为真正的长篇世界,不应该只是一大段提示词,而应该是一个可以不断生长、可以被查询、可以被更新的结构。

核心功能

1. 一句话生成架空世界

你只需要输入一个简单设定,Bragi 就可以生成一个基础世界,包括:


世界概览
底层规则
历史脉络
空间结构
角色设定
故事起点

这很适合用来快速搭建奇幻、科幻、诡异、废土、蒸汽朋克、魔法工业、架空历史等类型的世界。

2. 时间与空间双路径结构

Bragi 比较有意思的一点,是它不是简单把所有设定堆在一个文档里。

它会把世界拆成时间路径和空间路径。

时间路径可以理解为历史阶段,比如古代、王朝时期、战争时期、当前时代等。

空间路径可以理解为地理层级,比如大陆、国家、城市、街区、建筑等。

这样做的好处是:世界可以变得很大,但管理起来不会完全失控。

3. 角色和事件记录

长篇故事里,角色是最容易崩的。

Bragi 会记录角色信息、关系变化、状态变化和重要事件。故事继续推进时,这些信息可以继续参与后续生成。

比如一个角色受过伤、背叛过某人、知道某个秘密,后续剧情就不应该当作没发生过。

Bragi 的目的就是让这些信息尽量被保留下来。

4. 支持 CLI 和 Web UI

项目不仅可以在命令行中运行,也提供了本地 Web 可视化界面。

根据 README,Web UI 可以用来创建世界、初始化时间与空间、生成故事片段,并查看当前路径、节点摘要、角色变化、事件更新和管理器提示。

也就是说,你既可以把它当成开发者工具,也可以当成一个本地故事创作面板来用。

5. 支持 OpenAI 和 DeepSeek

Bragi 内置本地 Demo Agent,不配置外部 API 也可以先跑通流程。

如果想接入真实大模型,也支持 OpenAI 和 DeepSeek JSON Agent。README 中给出了 OpenAI API Key、DeepSeek API Key 的配置方式,并建议可以用更强模型生成世界,再用成本更适合的模型进行后续故事续写。

这个设计比较适合实际使用,因为世界观初始化通常更需要质量,而后续续写可能更关注成本和速度。

快速开始

项目要求 Python 3.10+。

克隆项目:

git clone https://github.com/wailers9/bragi.git
cd bragi

创建虚拟环境:

python3 -m venv .venv
source .venv/bin/activate

安装项目:

python -m pip install -U pip
python -m pip install -e .

不配置 API,也可以先用本地 Demo Agent 跑一遍:

PYTHONPATH=src python -m story_world.cli init-demo \
  --prompt "一个漂浮群岛上的魔法工业时代" \
  --time-id 2,1,3 \
  --space-id 1,2,2 \
  --protagonist "年轻的飞艇机械师"

如果想直接进入故事生成,可以使用:

PYTHONPATH=src python -m story_world.cli play \
  --agent deepseek \
  --model deepseek-chat \
  --prompt "一个被月亮潮汐撕裂的海上王国" \
  --protagonist "年轻的灯塔学徒"

启动本地 Web UI:

PYTHONPATH=src python3 -m story_world.web --host 127.0.0.1 --port 8765

然后打开:

http://127.0.0.1:8765

适合谁使用?

我觉得 Bragi 比较适合下面几类人:

第一类是小说作者,尤其是写长篇奇幻、科幻、群像故事的人。它可以帮助你快速生成世界骨架,并在后续创作中维护角色和事件。

第二类是 TRPG 主持人。你可以用它生成大陆、城市、势力、NPC、历史事件,然后围绕这些内容组织跑团剧情。

第三类是游戏剧情策划。如果你在做开放世界、文字冒险、互动叙事或者 RPG 原型,Bragi 可以作为一个早期世界观生成和剧情测试工具。

第四类是 AI Agent 开发者。这个项目不是单纯调用大模型,而是围绕“世界状态管理”“上下文压缩”“节点扩展”“事件记录”做了一套结构化尝试,适合学习 AI 写作类 Agent 的工程设计思路。

我觉得这个项目最有价值的地方

Bragi 最吸引我的地方,不是它能写出多华丽的句子,而是它试图把“AI 写故事”这件事工程化。

普通 AI 写作更像是:

输入提示词 -> 输出文本

而 Bragi 更像是:

创建世界 -> 建立时空结构 -> 生成角色 -> 推进事件 -> 更新世界状态 -> 继续生成故事

这个思路其实更接近真正的长篇创作。

因为一个长期故事不是靠单次灵感撑起来的,而是靠结构、记忆和持续更新。

如果未来 AI 真的要参与长篇小说、互动游戏、虚拟世界和开放叙事,类似 Bragi 这种“世界状态管理”的设计会越来越重要。

项目地址

wailers9/bragi: 一个面向架空世界故事创作者的 AI 架空世界与长篇故事引擎。它能从一句设定出发,自动生成层 层嵌套的历史、地理、角色关系与事件网络,并持续写出贴合世界观的剧情。支持 CLI 与可视化界面,可按时间和空间路径扩展世界,让故事像真实宇宙一样不断生长。项目用数字路径管理嵌套的时间、空间、 角色和事件节点,按需生成并补全世界资料,支持本地 Demo、OpenAI/DeepSeek JSON Agent、CLI 和黑白 Web 可视化界面,用于创建可持续展开的故事世界与剧情会话。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐