本期再来介绍一款开源、基于Web的AI动态沉浸式文字冒险游戏:《浮生十梦》,支持Docker一键部署。
文字游戏比较分人群,感觉比较极端:喜欢的人很上头,不喜欢的碰都不想碰。
这款我玩了一圈下来感觉很有趣,一个不注意就是「修为尽毁,神魂崩散,道消身殒」。

项目介绍
完整项目名:haorwen/TenCyclesofFate-docker,基于原项目:CassiopeiaCode/TenCyclesofFate,皆可于GitHub搜索。
《浮生十梦》 是一款基于 Web 的沉浸式文字冒险游戏。玩家在游戏中扮演一个与命运博弈的角色,每天有十次机会进入不同的“梦境”(即生命轮回),体验由 AI 动态生成的、独一无二的人生故事。游戏的核心在于“知足”与“贪欲”之间的抉择:是见好就收,还是追求更高的回报但可能失去一切?
功能特性
- 动态 AI 生成内容:每一次游戏体验都由大型语言模型(如 GPT)实时生成,确保了故事的独特性和不可预测性。
- 实时交互: 通过 WebSocket 实现前端与后端的实时通信,提供流畅的游戏体验。
- OAuth2 认证: 集成 Linux.do OAuth2 服务,实现安全便捷的用户登录。
- 精美的前端界面: 采用具有“江南园林”风格的 UI 设计,提供沉浸式的视觉体验。
- 互动式判定系统: 游戏中的关键行动可能触发“天命判定”。AI 会根据情境请求一次 D100 投骰,其“成功”、“失败”、“大成功”或“大失败”的结果将实时影响叙事走向,增加了游戏的随机性和戏剧性。
- 智能反作弊机制: 内置一套基于 AI 的反作弊系统。它会分析玩家的输入行为,以识别并惩罚那些试图使用“奇巧咒语”(如 Prompt 注入)来破坏游戏平衡或牟取不当利益的玩家,确保了游戏的公平性。
- 数据持久化: 游戏状态会定期保存,并在应用重启时加载,保证玩家进度不丢失。
部署流程
本次以威联通NAS为例,通过Docker Compose的方式进行部署。
部署代码如下:
services:
app:
image: docker.cnb.cool/haorwen/tencyclesoffate:latest
container_name: elysia-game
ports:
- "8573:8000" # 冒号左侧自行更换
volumes:
- /share/Container/tencyclesoffate/data:/workspace/data # 可自行更改路径
restart: always
environment:
# 服务配置
- HOST=0.0.0.0
- PORT=8000
- UVICORN_RELOAD=false
# Ai配置,兼容OPAI的都行,自行更改URL
- OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
- OPENAI_BASE_URL=https://api.siliconflow.cn/v1
- OPENAI_MODEL=deepseek-ai/DeepSeek-V3.2 # 文本对话模型,可自选
- OPENAI_MODEL_CHEAT_CHECK=deepseek-ai/DeepSeek-V3.2 # 反作弊/行为判定用,可自选
# 无用,默认关掉
- ENABLE_REDEMPTION=false
- ENABLE_LINUXDO_LOGIN=false
# OAuth 也可不设置
- SECRET_KEY=Kp3s9QeF7XbL2YwH8dZ4A6CTrmN5J0uVxR1iGSkEoPByMWcUahj
- ALGORITHM=HS256
- ACCESS_TOKEN_EXPIRE_MINUTES=30
# 采用sqlite,个人觉得没必要mysql
- DATABASE_URL=sqlite:///./data/veloera.db
其实完整部署,环境变量需要调用配置文件,但我给删除了个七七八八直接写出,需要完整配置请到项目页面查看。

打开威联通的Container Station,创建新的应用程序。

使用简介
部署完毕后,浏览器输入NAS_IP:8573即可开始游玩。输入名号,开启入梦之旅。

开始试炼。

和AI互动,推进剧情。

这里就触发了特性介绍里的「天命判定」。

游玩其实也没什么难度,跟AI勾心斗角~另外,主线故事到达结尾的时候确实会直接开下一把。
!!!!!道消身殒了。。。。

最后
感谢作者们的无私开源,让我们玩到有趣的项目。
感谢观看,本文完~
评论区