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