Open Adventure × LLM

CaveBridge自然语言背后,是一个真实的世界。

只管说人话,就能玩 1977 年的经典《巨洞冒险》。LLM 负责理解和叙述;原版确定性 C 引擎仍牢牢掌控每个房间、道具、谜题、死亡与分数。

CaveBridge:确定性文字冒险引擎上的自然语言界面
核心设计:把老引擎升格为可验证的世界模型,把 LLM 降格为语言接口。
2项受限 LLM 职责理解玩家意图,叙述引擎输出
100+项回归测试上游引擎回归测试保持通过
3个桌面平台提供 Windows、macOS、Linux 预编译版

开放交互,但不靠幻觉维持世界

LLM 游戏能让你随便说,却容易越玩越飘;传统剧情游戏有真实设计好的世界,却常把玩家锁进死板解析器或几个按钮。CaveBridge 把两边接起来。

01

直接说人话。

“拿起灯并点亮它”“把东西都拿上”“顺着小溪一直走到栅栏”都可以,不用猜解析器期待哪个精确的 动词 名词

02

世界绝不会漂移。

真正执行状态转移的是 C 引擎,不是 LLM。模型不能凭空编房间、变道具、改规则,也不能偷偷移动玩家。

03

每一步都能审计。

打开 /raw,每回合都能看到模型发出的规范指令,以及引擎返回的确切原文。

LLM 是门房,不是上帝。

CaveBridge 对 Open Adventure 做了一个编译期受控的小型接口改造,使外部程序能够读取权威状态、驱动命令并自动存档;默认引擎行为与原有测试套件保持不变。

出口、循环、物品变化、谜题结果与危险条件全部依据引擎状态判断——绝不靠猜。

玩家自由文本 · 任意语言
LLM 意图解析 → 规范 Adventure 指令
原版 C 引擎 → 权威状态转移
引擎原文 + 状态快照
LLM 叙述 → 有依据的地下城主文本

看看这座桥怎么工作

你可以问有哪些出口,把多个动作放进一句话,或者描述一个目标,让自动推进在引擎报告成功、危险或停滞时停止。

现代便利功能,全部可以关掉

项目现代化的是交互体验,而不会假装这些便利本来就是 1977 年规则的一部分。Purist 模式可以一键关闭它们。

任意语言叙述/lang 随时切换;内置玩法说明提供中英两版。
无惩罚存档每回合自动保存,也可用 /save/load 管理具名存档。
多步自然语言命令把一句自然请求转换成受约束的一组真实引擎动作。
自动推进朝描述目标继续行动,直到有依据的裁判检测到完成、危险或无进展。
提示必须经你同意/hint 单次索取,或显式开启 /hints on,不会擅自剧透。
Purist 原味模式/purist on 只保留翻译与叙述:每回合一个动作,无循环、无提示。

下载,然后直接开口

预编译版本不需要 Python 或编译器。首次启动时填入任意 OpenAI 兼容接口即可——本地 LM Studio、Ollama、vLLM 或在线服务都支持。

# Linux / macOS 从源码构建
make CFLAGS="-DADVENT_AUTOSAVE"
uv venv && uv pip install pyyaml openai
uv run python -m cavebridge

# 然后在游戏里
/lang zh
/raw on
拿起灯,点亮它,然后往北走
“原版引擎仍然是世界。LLM 只是帮你和它说话。

项目链接

CaveBridge 以 BSD-2-Clause 自由开源,并完整保留 Open Adventure 上游许可证与署名。