狼人杀 AI 游戏系统 基于 LangChain/LangGraph v1.0.0 构建的 9 人狼人杀 AI 对局系统,用户以上帝视角观测完整游戏流程。 核心特性 上帝视角观测 - 您作为观察者,不参与游戏操作 AI 自动对局 - 9 个 AI 玩家自动进行完整对局 用户控制点 - 只需控制:开始游戏、开启投票、进入下一轮 实时输出 - 每个阶段都有详细的上帝旁白和 AI 决策过程 完整日志 - JSON 格式存储所有对局数据 随机身份分配 - 每局游戏角色随机分配,增加可玩性 准确身份认知 - AI 清楚自己的玩家编号和身份 快速开始 安装依赖 配置 LLM(兼容openai) 复制 为 并配置: 启动游戏 唯一入口: 游戏流程 用户控制的三个节点 开始游戏 - 按回车键开始 开启投票
基于 LangChain/LangGraph v1.0.0 构建的 9 人狼人杀 AI 对局系统,用户以上帝视角观测完整游戏流程。
pip install -r requirements.txt
复制 .env.example 为 .env 并配置:
LLM_BASE_URL=https://api.deepseek.com/v1 LLM_API_KEY=your_api_key_here LLM_MODEL_NAME=deepseek-chat
唯一入口:
python src/main.py
============================================================ 【上帝】天黑请闭眼 ============================================================ -------------------------------------------------------------------- [上帝] 狼人请睁眼 -------------------------------------------------------------------- [信息] 存活狼人:天狼 (玩家 1), 星辰 (玩家 2), 明月 (玩家 3) [AI] 狼人正在讨论击杀目标... [AI 决策] 狼人选择击杀:玩家 7 (先知) [AI 思路] 该玩家是预言家,必须除掉 [上帝] 狼人请闭眼 -------------------------------------------------------------------- [上帝] 预言家请睁眼 -------------------------------------------------------------------- [信息] 预言家:先知 (玩家 7) [AI] 预言家正在思考查验目标... [AI 决策] 预言家查验:玩家 1 (天狼) [AI 结果] 狼人 [上帝] 预言家请闭眼 -------------------------------------------------------------------- [上帝] 女巫请睁眼 -------------------------------------------------------------------- [信息] 女巫:灵巫 (玩家 8) [信息] 今晚狼刀目标:玩家 7 (先知) [AI] 女巫正在思考是否使用药剂... [AI 决策] 女巫使用解药:救了玩家 7 (先知) [上帝] 女巫请闭眼 ============================================================ [上帝] 天亮了 ============================================================ [上帝] 昨晚是平安夜 -------------------------------------------------------------------- [上帝] 现在开始轮流发言 -------------------------------------------------------------------- [1/9] 玩家 1 天狼 发言: ------------------------------------------------------------ 我是好人,昨晚我觉得没什么特别的... (逐字显示) [2/9] 玩家 2 星辰 发言: ------------------------------------------------------------ ... [上帝] 发言结束 ============================================================ [上帝] 发言结束,是否开启投票? ============================================================ (按回车键开启投票) ============================================================ [上帝] 现在开始投票 ============================================================ [1/9] 玩家 1 正在投票... -> 投票给:玩家 4 (清风) ... [上帝] 投票结果统计: ------------------------------------------------------------ 玩家 4 (清风): 2 票 玩家 1 (天狼): 2 票 玩家 2 (星辰): 1 票 [上帝] 平票,无人被放逐 ============================================================ [上帝] 本轮结束,是否进入下一夜? ============================================================ (按回车键继续,输入 q 退出)
游戏过程中,上帝会播报经典台词:
游戏结束后,logs/ 目录生成:
speeches.json - 发言记录speeches.md - Markdown 格式发言actions.json - 夜晚行动记录votes.json - 投票记录game_*.log - 游戏日志summary.json - 对局摘要狼人杀/ ├── src/ # 源代码 │ ├── llm/ # LLM 配置模块 │ ├── models/ # 数据模型 │ ├── graph/ # LangGraph 工作流 │ ├── agents/ # AI 智能体 │ ├── prompts/ # 提示词模板 │ ├── recorder/ # 记录模块 │ ├── rules/ # 规则引擎 │ ├── cli/ # CLI 交互 │ └── main.py # 主入口(唯一) ├── tests/ # 测试目录 ├── logs/ # 日志输出目录 ├── .env.example # 环境变量模板 ├── requirements.txt # Python 依赖 └── README.md # 本文档
作为上帝视角的观察者,您可以: