狼人杀 AI 游戏系统


文档摘要

狼人杀 AI 游戏系统 基于 LangChain/LangGraph v1.0.0 构建的 9 人狼人杀 AI 对局系统,用户以上帝视角观测完整游戏流程。 核心特性 上帝视角观测 - 您作为观察者,不参与游戏操作 AI 自动对局 - 9 个 AI 玩家自动进行完整对局 用户控制点 - 只需控制:开始游戏、开启投票、进入下一轮 实时输出 - 每个阶段都有详细的上帝旁白和 AI 决策过程 完整日志 - JSON 格式存储所有对局数据 随机身份分配 - 每局游戏角色随机分配,增加可玩性 准确身份认知 - AI 清楚自己的玩家编号和身份 快速开始 安装依赖 配置 LLM(兼容openai) 复制 为 并配置: 启动游戏 唯一入口: 游戏流程 用户控制的三个节点 开始游戏 - 按回车键开始 开启投票

狼人杀 AI 游戏系统

基于 LangChain/LangGraph v1.0.0 构建的 9 人狼人杀 AI 对局系统,用户以上帝视角观测完整游戏流程。

核心特性

  • 上帝视角观测 - 您作为观察者,不参与游戏操作
  • AI 自动对局 - 9 个 AI 玩家自动进行完整对局
  • 用户控制点 - 只需控制:开始游戏、开启投票、进入下一轮
  • 实时输出 - 每个阶段都有详细的上帝旁白和 AI 决策过程
  • 完整日志 - JSON 格式存储所有对局数据
  • 随机身份分配 - 每局游戏角色随机分配,增加可玩性
  • 准确身份认知 - AI 清楚自己的玩家编号和身份

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置 LLM(兼容openai)

复制 .env.example.env 并配置:

LLM_BASE_URL=https://api.deepseek.com/v1 LLM_API_KEY=your_api_key_here LLM_MODEL_NAME=deepseek-chat

3. 启动游戏

唯一入口:

python src/main.py

游戏流程

用户控制的三个节点

  1. 开始游戏 - 按回车键开始
  2. 开启投票 - 白天发言结束后,按回车开启投票
  3. 进入下一轮 - 每轮结束后,按回车继续或输入 q 退出

完整流程示例

============================================================ 【上帝】天黑请闭眼 ============================================================ -------------------------------------------------------------------- [上帝] 狼人请睁眼 -------------------------------------------------------------------- [信息] 存活狼人:天狼 (玩家 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 退出)

角色配置(9 人)

  • 狼人阵营(3 人): 天狼、星辰、明月
  • 村民阵营(3 人): 清风、流水、青山
  • 神职人员(3 人):
    • 预言家(1 人): 先知
    • 女巫(1 人): 灵巫
    • 猎人(1 人): 猎手

上帝旁白台词

游戏过程中,上帝会播报经典台词:

  • "天黑请闭眼"
  • "狼人请睁眼"
  • "预言家请睁眼"
  • "女巫请睁眼"
  • "天亮了"
  • "现在开始轮流发言"
  • "现在开始投票"
  • "游戏结束"

输出内容

实时输出包括:

  1. 上帝旁白 - 引导游戏流程
  2. 阶段信息 - 当前阶段的基本信息
  3. AI 决策 - AI 的最终选择
  4. AI 思路 - 解释 AI 选择的理由
  5. 进度提示 - 程序执行进度

日志文件:

游戏结束后,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 # 本文档

游戏目标

作为上帝视角的观察者,您可以:

  • ✅ 查看所有玩家的身份和阵营
  • ✅ 观看 AI 的完整决策过程
  • ✅ 了解每个阶段的详细进展
  • ✅ 获取完整的对局记录

发布者: 作者: 转发
评论区 (0)
U