01
直接说人话。
“拿起灯并点亮它”“把东西都拿上”“顺着小溪一直走到栅栏”都可以,不用猜解析器期待哪个精确的 动词 名词。
Open Adventure × LLM
只管说人话,就能玩 1977 年的经典《巨洞冒险》。LLM 负责理解和叙述;原版确定性 C 引擎仍牢牢掌控每个房间、道具、谜题、死亡与分数。
LLM 游戏能让你随便说,却容易越玩越飘;传统剧情游戏有真实设计好的世界,却常把玩家锁进死板解析器或几个按钮。CaveBridge 把两边接起来。
“拿起灯并点亮它”“把东西都拿上”“顺着小溪一直走到栅栏”都可以,不用猜解析器期待哪个精确的 动词 名词。
真正执行状态转移的是 C 引擎,不是 LLM。模型不能凭空编房间、变道具、改规则,也不能偷偷移动玩家。
打开 /raw,每回合都能看到模型发出的规范指令,以及引擎返回的确切原文。
CaveBridge 对 Open Adventure 做了一个编译期受控的小型接口改造,使外部程序能够读取权威状态、驱动命令并自动存档;默认引擎行为与原有测试套件保持不变。
出口、循环、物品变化、谜题结果与危险条件全部依据引擎状态判断——绝不靠猜。
你可以问有哪些出口,把多个动作放进一句话,或者描述一个目标,让自动推进在引擎报告成功、危险或停滞时停止。
项目现代化的是交互体验,而不会假装这些便利本来就是 1977 年规则的一部分。Purist 模式可以一键关闭它们。
/lang 随时切换;内置玩法说明提供中英两版。/save 与 /load 管理具名存档。/hint 单次索取,或显式开启 /hints on,不会擅自剧透。/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 上游许可证与署名。