DeepSeek Harness 插件

Evolving-Werewolf

9人局狼人杀多Agent游戏引擎(DeepSeek Harness 插件):自动主持、角色技能、警长竞选、投票、复盘、人类席位、跨局知识库、素材管线(英文原文)

跳到安装方式

来源信息

GitHub 仓库
VegeFin/Evolving-Werewolf
最近更新
2026年8月16日
分类
自动化与任务
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/VegeFin/Evolving-Werewolf
插件名:Evolving-Werewolf
作者:VegeFin

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

English | 简体中文

Evolving-Werewolf — 自进化狼人杀

> AI 玩家会越打越强。

跨局知识积累与进化:每一局结束后,引擎自动提炼复盘经验,按角色分区(狼人阵营 / 好人阵营 / 预言家 / 女巫 / 猎人策略等)写入知识库;下一局开局时,这些经验会以skill的形式注入到新一批玩家 agent 的 persona 中。AI 玩家会从每一局的失败和胜利中学习——学会更隐蔽的刀法、更精准的验人逻辑、更合理的投票策略。 局数越多,AI 越强。

它是如何进化的

第 1 局:AI 玩家凭规则和性格种子行事,可能犯初级错误
        ↓ 局末自动复盘 → 提炼经验条目写入 knowledge.json
第 2 局:新一批 AI 玩家携带上一局的经验开局,避免已知的坑
        ↓ 再次复盘 → 知识库累积
第 N 局:AI 玩家拥有数十局经验,发言逻辑更缜密、投票更精准、
         狼人刀法更隐蔽、好人推理更深入

人类玩家面对的不是固定策略的 AI,而是一个随着对局积累不断进化的对手群体

其他特性

除了进化机制,这是一个完整的 9 人局狼人杀引擎(3 狼人 / 1 预言家 / 1 女巫 / 1 猎人 / 3 平民),运行在 DeepSeek Harness (DSH) 上:

  • 引擎自动主持:无 LLM 上帝,全部流程由状态机驱动,省 token、零信息失真。
  • 完整角色技能:狼人两轮讨论 + 多数决、预言家查验、女巫救/毒(首夜自救、同夜单药)、猎人出局开枪。
  • 标准白天流程:警长竞选 → 警上发言 → 退水声明 → 警下投票 → 警长指定发言方向 → 按序发言 → 全员记名投票(警长 1.5 票,平票重投)。
  • 信息隔离:刀口仅狼人与女巫可见;夜晚死亡不公开死因;各角色频道私密;增量投递只发"该玩家未见过的信息"。
  • 防卡死机制:60s 催办 + 180s 超时跳过 + running 感知(慢玩家不误杀)+ 推进互斥锁。
  • 死亡冻结 + 快照复盘:出局玩家信息冻结,局末输出因果纯净的决策轨迹复盘。
  • 人类席位 + 浏览器面板humanSeat 随机分配人类座位,通过 HTTP 面板行动,与 agent 玩家完全同场竞技。
  • 素材管线:集成智谱 AI 读图(GLM-4V-Flash)+ 生图(CogView-3-Flash),免费额度即可为 UI 生成头像和角色贴图。
  • 性格种子:9 种性格随机分配,玩家风格多样化。

---

安装

前置条件

``bash npm install -g @deepseek-ai/dsh ``

安装插件到 DSH

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

# 2. 安装依赖(插件运行时依赖 @deepseek-ai/dsh-tools)
pnpm install   # 或 npm install

# 3. 安装到 DSH web profile
dsh plugin --profile web add ./

# 4. 重启 DSH
dsh web

重启后 werewolf_* 系列工具全局可用,插件随 profile 自动加载。

配置

#### image-config.json(素材管线 API Key)

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

编辑 image-config.json,填入智谱 API Key(在 open.bigmodel.cn 免费注册获取):

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

> 素材管线为可选功能。不配置只影响读图/生图工具,核心游戏功能不受影响。

#### knowledge.json(知识库种子)

cp knowledge.example.json knowledge.json

引擎每局结束后会自动提炼经验并写入 knowledge.jsonknowledge.example.json 提供 8 条初始种子知识。

---

使用

主持人视角

在 DSH agent 会话中调用工具:

工具用途调用者
werewolf_start开局:随机分配身份、生成 8 个玩家 agent、与人类玩家共同开始游戏。不传 humanSeat 则自动随机 1-9 分配人类座位。 'humanSeat'=0 时、生成 9 个玩家agent自迭代进化。主持人
werewolf_act玩家行动(18 种 action)玩家
werewolf_status查看公开状态;主持人可看完整身份表与复盘报告所有人
werewolf_ask_rule查询规则/角色能力所有人
werewolf_abort主持人终止游戏主持人
werewolf_look用视觉模型分析图片主持人
werewolf_draw用文生图模型生成图片主持人
werewolf_assets_status查看素材管线状态主持人

werewolf_start 返回值包含 hostGuide(主持人指引)和 panelUrl(人类玩家面板地址)。

玩家行动 (werewolf_act)

action说明阶段
speech + text发言day-speech / day-sheriff-speech
vote + target放逐投票(0=弃票)day-vote
sheriff_vote + target警下投票day-sheriff-vote
sheriff_run / sheriff_not上警 / 不上警day-sheriff-run
sheriff_stay / sheriff_quit不退水 / 退水day-sheriff-quit
direction + text=left/right警长指定发言方向day-direct
pass_sheriff + target警长出局处置警徽sheriff-pass
kill + target + text狼人刀人night-wolves
seer + target预言家查验night-seer
witch_save / witch_poison+target / witch_none女巫用药night-witch
hunter + target猎人开枪(0=不开枪)night/day-hunter
alive在线确认任意
review + text提交复盘review

人类玩家面板

开局后浏览器访问 http://127.0.0.1:<port>/werewolf/panel,面板提供:

  • 身份卡(座位、角色)
  • 事件流(按 kind 分类:wolf/seer/witch/death/sheriff/info)
  • 发言舞台(逐条展示)
  • 行动区(门禁驱动:只在轮到你时显示对应表单)

---

目录结构

Evolving-Werewolf/
├── lib/
│   └── index.js              # 固化版引擎主文件(v33,纯 host)
├── ui/
│   ├── panel.html            # 人类玩家面板(HTTP 路由提供)
│   ├── assets/               # 头像和角色贴图(PNG)
│   └── protos/               # UI 原型 HTML(开发参考)
├── archive/                  # 动态版源码存档(开发调试用,零重启迭代)
│   ├── dev/
│   │   ├── wwdev-engine.host.js    # 引擎动态版
│   │   ├── wwim6-assets.host.js    # 素材管线动态版
│   │   └── wwui10-panel.host.js    # 面板动态版
│   ├── v32.host.js           # v32 host 存档
│   ├── v32.client.js         # v32 client 存档
│   └── werewolf-v21.host.source.js  # v21 原始存档
├── cordis.patch.yml          # DSH bundle patch 配置
├── image-config.example.json # API Key 配置模板
├── knowledge.example.json    # 知识库种子模板
├── package.json
├── PROGRESS.md               # 版本历史与开发进度
└── .gitignore

公开 vs 私有

文件状态说明
lib/index.js公开引擎主代码
ui/公开面板、图片、原型
archive/公开动态版存档(开发参考)
*.example.json公开配置模板
package.json / cordis.patch.yml公开包元数据
*.md公开文档
knowledge.json公开运行时知识库数据
image-config.jsongitignore含真实 API Key
last-review.jsongitignore上一局复盘数据
review-processed.jsongitignore复盘处理标记
node_modules/gitignore依赖
.ww-tmp/gitignore子进程临时文件

---

架构

平面划分

宿主平面(Host)
├── werewolf 引擎(本插件)
│   ├── 状态机(game 对象,内存)
│   ├── 工具注册(werewolf_*,全局可见)
│   ├── timer 心跳(30s 检查超时/催办)
│   ├── webServer 路由(/werewolf/panel + /werewolf/api/* + /werewolf-assets/*)
│   └── 消息投递(subagents.followup / Agent.steer 回退)
└── DSH 基础设施(subagents / agents / tools / webServer / timer / fs / subprocess)

Agent 平面
├── 主持人(当前会话):werewolf_start / status / abort
└── 9 个玩家(continuable 子代理)
    ├── persona = 规则库 + 身份 + 性格种子 + 历史经验
    ├── toolFilter = 仅 werewolf_act / status / ask_rule
    └── 通过 werewolf_act 行动

状态机阶段

setup → night-wolves → night-seer → night-witch → night-settle
     → day-sheriff-run → day-sheriff-speech → day-sheriff-quit → day-sheriff-vote
     → day-direct → day-speech → day-vote → (night-*) 循环
     → gameover → review

关键服务依赖(inject 声明)

inject: ['subagents', 'agents', 'tools', 'webServer']

Cordis 服务驱动激活:等这四个服务就绪后再执行 apply(),避免路由注册早退。

---

规则实现

  • 身份:3 狼 + 1 预 + 1 女 + 1 猎 + 3 民,shuffle 随机分配。
  • 狼人:随机顺序两轮讨论,多数决裁决(平票取首票)。
  • 预言家:每晚验 1 名存活玩家,结果私密。
  • 女巫:解药/毒药各 1 次;首夜可自救;解药用后不再被告知刀口。
  • 猎人:被狼刀/被投出局可开枪(被毒不开枪)。
  • 警长:竞选产生,1.5 票权重,指定发言方向,出局时处置警徽。
  • 投票:记名公开;平票进第二轮限平票人重投。
  • 胜负:狼全灭 → 好人胜;神全灭或民全灭 → 狼胜(屠边)。

---

开发

固化版 vs 动态版

模式文件特点
固化版(生产)lib/index.js标准 Cordis 插件,dsh web 自动加载,重启生效
动态版(开发)archive/dev/*.host.jscordis_define 注入内存,改代码零重启,重启即失

开发迭代用动态版,改完固化到 lib/index.js。动态版用 harness.defineTool,固化版用 defineTool from @deepseek-ai/dsh-tools

---

已知限制

  • 一局约 15-40 分钟(9 玩家 × 每阶段 LLM 轮次)。
  • 游戏状态存插件内存,重启清空当前局。
  • 玩家 agent 会话为持久化冷存档,跨局累积(需手动清理或开局自动释放活跃层)。
  • 复盘知识库为内存级(进程内跨局有效,重启清空;可落盘 knowledge.json)。

---

License

MIT