一个基于Flask和OpenAI API的在线海龟汤推理游戏聊天室,支持多人实时互动、AI主持人和故事广场功能。
海龟汤是一种推理游戏,出题者给出不完整的"汤面"(题目),猜题者通过提问来推理出完整的故事。本应用将传统海龟汤游戏与AI技术结合,提供在线多人游戏体验,并支持故事分享和管理。
克隆项目
git clone https://github.com/mumuhaha487/Turtle_Soup.git
cd Turtle_Soup
安装依赖
pip install -r requirements.txt
配置设置
config.json 文件运行应用
python app.py
访问应用
打开浏览器访问 http://localhost:5000
上传题目(可选):
从故事广场加载:
管理游戏:
参与推理:
群聊交流:
查看在线用户:
/admin 路径海龟汤题目需要JSON格式,文件大小不能超过20MB。
示例:
{
"surface": "一个人走进餐厅,点了一份海龟汤,尝了一口后自杀了。为什么?",
"answer": "这个人以前在海上遇难,同伴为了生存而牺牲,他喝的海龟汤正是用同伴的肉做的。",
"victory_condition": "猜出这个人自杀的原因",
"additional": "这个人有特殊的经历背景"
}
或批量上传:
[
{
"surface": "题目1",
"answer": "答案1",
"victory_condition": "胜利条件1"
},
{
"surface": "题目2",
"answer": "答案2",
"victory_condition": "胜利条件2"
}
]
{
"preset": "AI主持人预设提示词",
"admin": {
"username": "admin",
"password": "admin123"
},
"story_counter": 1
}
upload/ ├── json/ ├── norelease/ # 待审核故事 └── release/ # 已发布故事
Turtle_Soup/ ├── app.py # Flask主应用 ├── config.json # 配置文件 ├── requirements.txt # Python依赖 ├── upload/ # 故事存储目录 │ └── json/ │ ├── norelease/ # 待审核故事 │ └── release/ # 已发布故事 ├── static/ │ └── main.js # 前端JavaScript └── templates/ ├── index.html # 主页面模板 ├── story_plaza.html # 故事广场页面 ├── admin_login.html # 管理员登录页面 └── admin_panel.html # 管理员后台页面
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
A: 访问 OpenAI官网 注册账号并生成API密钥。
A: 支持所有OpenAI提供的模型,推荐使用 o3-mini-2025-01-31 或 gpt-4o-mini。
A: 房间数据存储在内存中,服务器重启后会丢失。但故事广场的故事会永久保存。
A: 理论上无限制,但建议单房间不超过20人以保证性能。
A: 在故事广场页面填写故事名称,选择JSON文件上传,等待管理员审核。
A: 系统自动分配编号(如#00001),编号在config.json中维护,重启后继续递增。
A: 只支持JSON格式文件,文件大小不能超过20MB。
如有问题或建议,请通过以下方式联系:
享受你的海龟汤推理游戏! 🐢
Turtle_Soup 由 mumuhaha 构建