前言¶
在 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 環境中運行多人邏輯遊戲或模擬對抗場景的開發者。它提供了一個完整的遊戲循環,並支持人類玩家通過瀏覽器參與。使用前請檢查源碼與許可證。資產管線爲可選功能,不影響核心玩法。