Langrensha
这是一个基于大型语言模型(LLM)的狼人杀模拟器,旨在提供一个观察 AI 在复杂社交推理游戏中行为的平台。在这个游戏中,所有玩家角色都由可配置的 AI 模型扮演,用户可以作为观察者,观看 AI 之间的博弈过程。
Install / Use
/learn @Julian-cloud-max/LangrenshaREADME
AI 狼人杀观察游戏
这是一个基于大型语言模型(LLM)的狼人杀模拟器,旨在提供一个观察 AI 在复杂社交推理游戏中行为的平台。在这个游戏中,所有玩家角色都由可配置的 AI 模型扮演,用户可以作为观察者,观看 AI 之间的博弈过程。
✨ 功能特性
- 多模型支持: 可通过配置,接入多种遵循 OpenAI API 格式的大语言模型,例如 DeepSeek, Kimi, 豆包,通义千问等。
- 灵活的角色与模型分配: 用户可以为游戏中的每个角色(狼人、预言家、女巫、村民)分配不同的 AI 模型,观察不同模型在特定角色下的表现。
- 实时游戏观察: 游戏进程通过 WebSocket 实时推送到前端,用户可以清晰地看到每个角色的发言、投票以及游戏状态的每一次变化。
- 详细的事件与日志: 游戏中的所有关键事件,如夜晚行动、玩家发言、投票结果等,都会被记录并展示在界面上。
- 游戏历史追溯: 所有完成的游戏都会被记录下来,方便用户随时回顾和分析过往的对局。
- 动态视觉效果: 前端界面包含了一些视觉特效,以增强观看体验。
🚀 技术栈
-
后端:
- Python 3.9+
- FastAPI: 高性能的 Web 框架,用于构建 API 和 WebSocket 服务。
- Pydantic: 用于数据验证和模型定义。
- Uvicorn: ASGI 服务器。
-
前端:
- HTML5, CSS3, JavaScript (ES6+)
- Tailwind CSS: 一个功能类优先的 CSS 框架。
- DaisyUI: 基于 Tailwind CSS 的组件库。
- Alpine.js: 一个轻量级的 JavaScript 框架,用于构建交互式界面。
- Font Awesome: 提供图标。
🎮 如何开始
1. 环境准备
-
安装 Python 3.9 或更高版本。
-
(可选) 创建并激活一个 Python 虚拟环境。
python -m venv venv # Windows .\venv\Scripts\activate # macOS/Linux source venv/bin/activate
2. 安装依赖
进入 backend 目录,并安装所需的 Python 包:
cd backend
pip install -r requirements.txt
3. 运行后端服务
在 backend 目录下,启动 FastAPI 应用:
uvicorn main:app --reload
服务将在 http://127.0.0.1:8000 上运行。
4. 打开前端页面
直接在浏览器中打开项目根目录下的 index.html 文件。
5. 配置并开始游戏
-
模型配置:
- 在“模型配置” -> “模型供应商配置”页面,添加您想要使用的 LLM 的信息(API 地址、API 密钥、模型名称)。
- 添加后,点击“测试”按钮以确保 API 连接正常。状态变为
success才可用于游戏。 - 点击“保存配置”以保存您的供应商列表。
-
角色分配:
- 切换到“角色模型分配”标签页。
- 为每个游戏角色从下拉列表中选择一个已经测试成功的 AI 模型。
- 点击“保存角色分配”。
-
开始游戏:
- 导航到“开始游戏”页面。
- 点击“开始游戏”按钮,游戏将自动进行。
📝 开发说明
- 后端代码: 位于
backend目录。main.py: 核心应用逻辑,包含所有 API 端点和 WebSocket 处理。llm_adapters/: 包含用于与不同 LLM 提供商交互的适配器。*.json: 用于存储配置和游戏数据的文件。
- 前端代码:
index.html: 主页面结构。css/: 存放自定义样式表。js/main.js: 核心前端逻辑,使用 Alpine.js 编写。
🤝 贡献
欢迎对本项目进行贡献!如果您有任何想法或建议,请随时提出 Issue 或提交 Pull Request。
