Local Adventure Engine 本地冒险引擎
一个受初代 AI Dungeon 启发的本地 LLM 文字冒险引擎:用 TOML 与 Markdown 编写世界,在终端游玩,模型只负责生成叙事与结构化事件,由引擎校验、归约并持久化到本地 SQLite,历史只追加不删除。
爱鲜报评分
0 人评分
1
星数
否
中文
Python
主语言
是
活跃
1
贡献者
人工分析
EDITORIAL推荐理由
它把「模型生成」与「游戏状态」严格分离,模型提出的叙事和事件必须经过引擎校验才会写入回合,避免了纯 LLM 跑团常见的状态漂移。会话采用只追加时间线,支持撤销、分支、检查点与导出,适合研究交互式叙事与本地 LLM 应用。全程离线、无遥测,隐私友好,代码量适中,便于二次开发。
适用场景
- 本地 LLM 文字冒险/跑团类游戏原型
- 交互式小说与叙事引擎研究
- LLM 结构化输出与状态机校验的工程示例
- 离线、隐私敏感的 AI 应用演示
- 自定义世界观的单人剧情体验
优点
- 模型只提议、引擎负责校验与落库,状态可控可复现
- 会话为只追加时间线,支持 undo、branch、checkpoint 与导出
- 完全本地运行,无遥测与云账号,隐私友好
- 世界用 TOML + Markdown 描述,编写门槛低、易版本管理
- 提供 doctor、validate-world、reindex 等工程化命令与单元测试
缺点
- 需自行部署 LM Studio 本地模型服务并配置模型标识
- 仅终端交互,无图形界面,新手需熟悉命令行
- 模型输出异常时依赖修复重试,仍可能中断自动游玩
- 项目较新、Star 少,生态与文档仍在完善中
项目简介
Local Adventure Engine 是一个本地运行、开源、对 Git 友好的交互式小说引擎,灵感来自初代 AI Dungeon。你用 TOML 与 Markdown 编写世界,在终端里游玩,权威状态与只追加的历史都保存在本地 SQLite 中。
核心设计是职责分离:模型只负责提出散文式叙事和带类型的事件,引擎负责校验、归约并持久化。这样既保留了 LLM 的想象力,又避免了状态被模型随意改写。
主要特性
- 本地优先:无遥测、无云账号,提示词与游戏内容只发送到
world.toml中配置的模型端点。 - 只追加时间线:每个有效行动自动保存,无需手动存档;撤销与恢复只移动当前位置,不删除历史。
- 分支与检查点:可在任意回合创建分支会话,或保存命名检查点随时回滚。
- 可导出:支持 Markdown / JSON 导出当前时间线与权威状态。
- 世界即文件:世界设定用 TOML + Markdown 编写,天然适合版本管理与分享。
快速上手
需要 Python 3.12+ 与本地运行的 LM Studio 服务。测试、世界校验、会话创建、回放、分支与导出均可离线完成。
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
在 LM Studio 中启动本地服务,并把 worlds/ember_hollow/world.toml 里的 model.name 设为 /v1/models 返回的准确标识。
python -m local_adventure doctor --world worlds/ember_hollow
python -m local_adventure validate-world --world worlds/ember_hollow
python -m local_adventure play --world worlds/ember_hollow --name "First Journey"
游玩内命令
进入游戏后可用斜杠命令管理会话:
/continue 不输入行动,推进一个模型主导的场景节拍
/history [N] 查看当前时间线最近 N 个回合
/undo 回退一回合,不删除后续历史
/branch NAME 在当前回合创建并切换到新会话
/checkpoint NAME 保存或替换当前回合的命名指针
/restore NAME 将当前会话恢复到命名检查点
/export markdown PATH
适用与注意
项目适合作为本地 LLM 文字冒险原型、交互式叙事研究以及「模型提议 + 引擎校验」工程范式的参考。需要注意的是:它依赖你自行部署本地模型服务;仅提供终端交互;模型输出异常时虽有修复重试,仍可能导致自动游玩中断。运行时数据默认位于 .local-adventure/,记得备份该目录以保留会话。
评论
- 暂无评论,来写第一条吧。