Evolving-Werewolf:跨局进化的 AI 狼人杀引擎

前言

在 DeepSeek Harness (DSH) 插件生态中,构建具备复杂逻辑流和多智能体交互的应用,通常需要处理状态机维护和信息隔离。Evolving-Werewolf 插件提供了完整的 9 人局狼人杀引擎解决方案。它不依赖 LLM 作为游戏主持人,而是由引擎托管流程,并引入跨局知识积累机制,让 AI 玩家在多局游戏后通过复盘提炼经验,从而不断提升策略水平。

是什么

这是由 VegeFin 维护的 DSH 插件。其核心价值在于 AI 玩家会在每局游戏结束后通过复盘提炼经验,并将这些经验写入知识库,在下局游戏中通过角色人设注入,从而提升策略水平。目前插件包含完整的 9 人局配置(3 狼 / 1 预言家 / 1 女巫 / 1 猎人 / 3 村民)。

核心功能

  • 跨局知识积累与进化:游戏结束后,引擎自动提炼复盘经验,写入按角色分类的知识库。下局游戏时,AI 玩家会携带这些经验,避免已知错误。
  • 引擎托管:所有流程由状态机驱动,不消耗 LLM Token 作为游戏主持人,避免信息失真。
  • 完整角色能力:支持狼人双轮讨论投票、预言家查验、女巫救毒(首夜自救、每晚一瓶)、猎人遗言开枪等完整技能。
  • 标准白天流程:包含警长竞选、竞选演讲、退水、警长投票、警长定向发言、警长 1.5 倍票权(平票重投)等标准流程。
  • 信息隔离:狼刀目标仅狼人及女巫可见,死亡原因不公开,角色频道私有。
  • 防卡死机制:包含 60 秒催促、180 秒超时跳过、运行时感知(防止慢速玩家被误杀)及推进互斥锁。
  • 死亡冻结与复盘:出局玩家信息冻结,游戏结束后输出因果清晰的决策轨迹复盘。
  • 人类席位与面板:支持随机分配人类席位,通过浏览器面板进行操作,与 AI 竞争。
  • 资产管线:集成智谱 AI (GLM-4V-Flash / CogView-3-Flash),用于 UI 头像和角色素材生成。

安装与启用

确保已安装 Node.js >= 18 和 DSH,然后执行以下步骤:

# 1. 克隆仓库
git clone https://github.com/VegeFin/Evolving-Werewolf.git
cd Evolving-Werewolf

# 2. 安装依赖
pnpm install   # 或 npm install

# 3. 添加到 DSH web 配置
dsh plugin --profile web add ./

# 4. 启动 DSH Web
dsh web

启动后,插件会自动加载 werewolf_* 工具。

配置

插件依赖 image-config.json 来配置智谱 AI 的 API Key,以启用图片生成与识别功能。

cp image-config.example.json image-config.json

编辑 image-config.json,填入智谱开放平台注册的 API Key:

{
  "apiKey": "your-api-key",
  "baseURL": "https://open.bigmodel.cn/api/paas/v4",
  "visionModel": "glm-4v-flash",
  "drawModel": "cogview-3-flash",
  "drawSize": "1024x1024",
  "assetDir": "ui/assets"
}

knowledge.json 用于存放知识库种子,游戏结束后引擎会自动追加经验。

典型用法

主机视角工具

主机通过调用 DSH 工具来控制游戏流程:

  • werewolf_start:开始游戏,随机分配身份,生成 8 个 AI 玩家。如果不指定 humanSeat,系统会随机分配一个人类席位。
  • werewolf_act:玩家执行动作(18 种动作)。
  • werewolf_status:查看公共状态,主机可见完整角色表和复盘报告。
  • werewolf_ask_rule:查询规则或角色能力。
  • werewolf_abort:主机中止游戏。
  • werewolf_look / werewolf_draw:使用视觉或图生图模型分析/生成图片。

玩家动作 (werewolf_act)

主机调用 werewolf_act 时,需传入 action 和相关参数:

  • speech + text:发言(白天竞选发言或白天竞选后发言)。
  • vote + target:弃票(0 为弃票)。
  • sheriff_vote + target:警长投票。
  • sheriff_run / sheriff_not:竞选警长 / 不竞选。
  • direction + text=left/right:警长设置发言方向。
  • kill + target + text:狼人击杀目标。
  • seer + target:预言家查验。
  • witch_save / witch_poison + target / witch_none:女巫救人/毒人/不操作。
  • hunter + target:猎人开枪(0 为不开枪)。
  • alive:在线确认。
  • review + text:提交复盘。

人类玩家面板

游戏开始后,通过浏览器访问 http://127.0.0.1:<port>/werewolf/panel。面板显示身份卡、事件流、发言阶段及操作区。

目录结构

插件目录结构如下:

Evolving-Werewolf/
├── lib/
│   └── index.js          # 静态引擎主文件(v33)
├── ui/
│   ├── panel.html        # 人类玩家面板
│   ├── assets/           # UI 资源
│   └── protos/           # UI 原型
├── archive/              # 动态版本归档(开发调试用)
├── image-config.example.json
├── knowledge.example.json
├── package.json
└── cordis.patch.yml

适用场景与注意

该插件适合需要在 DSH 环境中运行多人逻辑游戏或模拟对抗场景的开发者。它提供了一个完整的游戏循环,并支持人类玩家通过浏览器参与。使用前请检查源码与许可证。资产管线为可选功能,不影响核心玩法。

目录

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜