月影之刃(Werewolf Blade)
6 人狼人杀:1 个真人 + 5 个 AI。规则判定、技能结算、胜负计算全部由 game/engine.py 代码负责,LLM 只做决策与发言,杜绝判错/幻觉。
交互界面模拟文字版狼人杀的主持人风格:天黑请闭眼、狼人请睁眼、按座次发言、举手投票、放逐宣布——每个阶段只给你看到"你该看到的",逼真且不剧透。
> ✅ 本 Skill 为完整自包含包:根目录 SKILL.md + run.py 入口 + 完整 game/ 规则引擎(engine.py / config.py / state.py / ai_players.py / main.py / skill/run.py),安装后无需任何外部依赖即可运行。
快速开始
# 开局(新一局,随机分配身份)
python run.py start
# 查看当前状态(场景 + 座位表)
python run.py status
# 等价写法(从 skill 目录执行,走完整 game 包)
python -m game.skill.run start
python -m game.skill.run status
> 提示:在 SkillHub 安装后,请在 skill 安装目录内执行上述命令(run.py 会自动把自身目录加入 Python 路径,无需手动 cd 或设置 PYTHONPATH)。
指令表(每次只传一条最短指令)
| 指令 | 适用阶段 | 适用身份 | 说明 |
|---|---|---|---|
start / 开局 |
任意 | 任意 | 开始新一局,随机分配身份 |
status / 状态 |
任意 | 任意 | 当前场景与座位表 |
座位 / 座位表 |
任意 | 任意 | 查看座位表 |
身份 / whoami |
任意 | 任意 | 查看你的身份牌 |
刀 N号 |
夜晚 | 狼人阵营 | 给狼队刀人建议(AI 随机采纳,不保证听你的) |
验 N号 |
夜晚 | 预言家 | 查验一名存活玩家的阵营 |
救 |
夜晚 | 女巫 | 使用解药(首夜可自救) |
毒 N号 |
夜晚 | 女巫 | 使用毒药 |
过 |
夜晚 | 任意 | 无动作,直接天亮 |
发言 ... |
白天 | 任意 | 白天发言(按座次) |
投 N号 |
白天 | 任意 | 投票放逐 |
wolf / 狼人频道 |
任意 | 狼人阵营 | 查看狼人频道(建议与采纳情况) |
reset / 重置 |
任意 | 任意 | 重置存档 |
指令匹配规则(触发条件与边界)
> 设计对齐 SkillHub TRACE 评测体系的 A(适用性)/ C(规范性):精确前缀匹配,
> 避免无关文本误触发;触发前先校验「阶段 + 身份」,不满足时给出明确原因与下一步指引。
- 无参指令(
start/status/座位/身份/wolf/reset/过/救)整体精确匹配,多传参数无效:
- ✅过、救、status
- ❌救命、过来一下、救救我(不会误触发) - 带参指令(
刀/验/毒/投/发言)前缀 + 编号匹配,编号紧跟指令词(允许空格):
- ✅刀 3号、刀3号、验 2、投 4号、vote 4、verify 2
- ❌菜刀 3号、经验 2号、毒鸡汤、投票大家投4号(不会误触发) - 编号范围:仅接受 1~6 号(座位号),
0/9/99一律拦截并提示。 - 角色权限:狼人才能
刀、预言家才能验、女巫才能救/毒;越权指令返回🔒 你不是XX。 - 阶段限制:夜晚才能
刀/验/救/毒/过,白天才能发言/投;错阶段返回⏰ 现在不是XX阶段。
沉浸式界面(本期核心体验)
- 🎭 主持人旁白:
天黑请闭眼→狼人请睁眼…请闭眼→预言家请睁眼…→女巫请睁眼…→天亮了,全程有画面感 - 🙈 视角隔离:狼人讨论/预言家查验/女巫刀口只对你本人展开,其他人只有"动静",绝不剧透
- 🪑 座位表常驻:①你 ②阿岚 ③风吟 ④墨白 ⑤青栀 ⑥星野,出局自动带 ☠️
- 🐺 狼人频道:真人狼人可看到狼队讨论、队友提议、你建议是否被采纳(60% 概率,可调)
- 🗳️ 举手投票:
🙋 阿岚(2号)投给了 墨白(4号),放逐由主持人宣布身份 - 🔮 预言家带队:白天跳身份发查杀后,好人阵营会跟随你的目标投票(更贴近真实狼人杀)
输出约定(可解析性)
> 所有输出均为结构化文本,Agent 可直接播报,无需二次加工:
- 座位表:
座位表:① 你 ② 阿岚 ...,含编号 + 昵称 + ☠️(出局标记) - 狼人频道:
💬 玩家:内容 | ✅已采纳 / ❌未采纳,🔪 狼人队:内容 - 投票播报:
🙋 昵称(N号)投给了 昵称(N号),放逐⚖️ 主持人:... 身份是【角色】 - 终局:
🏁 游戏结束+🏆 胜利方:【阵营】+📜 身份揭晓(每人身份 + 存活/出局) - 错误提示:
❌(非法目标)、🔒(越权)、⏰(错阶段)、格式:...(参数缺失)
文件位置
- 规则引擎:
game/engine.py(含沉浸式旁白与视角隔离、输入净化兜底) - 运行器:
run.py(根目录入口,自动定位 game 包)+game/skill/run.py(指令匹配 + 参数提取) - AI 玩家:
game/ai_players.py - 配置(采纳率等):
game/config.py - 存档:
game/state/(含狼人频道secrets.json) - 测试:
tests/test_engine.py(触发逻辑/指令准确度/参数路径提取/输出解析/稳定性)
> 无需阅读规则细节即可游玩;若需了解完整玩法见 README.md。