Bragi:一个能持续记住世界观的 AI 架空世界与互动故事引擎
最近在用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 这种“世界状态管理”的设计会越来越重要。
项目地址
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)