一个可以直接安装到 Coding Agent 中游玩的对话式侦探游戏 Skill。
你将作为主侦探,用自然语言审问案件相关人物、核对证词、出示线索,并在证据充分后提交最终推理。无需记忆命令、选择编号菜单,也不需要操作地图或物品栏。
游戏由 Coding Agent 与确定性案件引擎共同运行:
- Coding Agent 理解玩家的自然语言,并负责人物对白与叙事表现。
- 案件引擎保存固定真相,裁决证词、线索、人物状态和最终结论。
- 角色可以说谎、隐瞒或拒绝回答,但不能编造案件设定之外的事实。
- 调查结果只会在满足预设条件后出现,猜中答案不等于完成调查。
因此,同一个案件始终拥有可验证的真相和完整证据链,同时保留自由对话带来的审讯体验。
台风封港前夜,雾港航海博物馆馆长沈衡死在海图室。他的妻子、文物修复师林岚被发现绑在椅子上,并声称一名蒙面人杀害了沈衡、带走一册珍贵的潮汐日志。
封港后没有外人能够离岛。三名证词互相冲突的相关人物将依次接受审问,而每个人似乎都隐瞒了某些事情。
- 单局约 20–30 分钟
- 3 名受审人物与 1 名调查助手
- 自由文字审问、出示证据与选择性复审
- 话题示例辅助自由问法理解,人物语域规则保持回答风格
- 确定性的线索触发、结论判定和案件复盘
- 支持中断后从当前工作区继续游戏
岚津广播剧场纪念直播中,听众在 21:32 听见导演顾临舟从上锁的拟音室说出返场提示, 走廊里的人也看见了玻璃后的剪影;十五分钟后,工作人员却发现他早已死在旧磁带架旁。 一盘涉及剧场往事的母带同时失踪。
- 单局约 30–45 分钟
- 5 名受审人物与 1 名调查助手
- 围绕声音、剪影和门锁构成的假死亡时间诡计
- 独立的母带藏匿事件与身份嫁祸,形成多层误导和反转
最简单的方式是把仓库地址交给支持 Agent Skills 的 Coding Agent:
请安装 https://github.com/zation/detective-game 中的 detective-game skill,然后开始一个侦探游戏。
仓库采用通用的 skills/<name>/SKILL.md 布局,安装器可以直接发现
detective-game。
仍然需要:
- 支持本地 Skill 和命令执行的 Coding Agent
- Python 3.10 或更高版本
如果 Coding Agent 没有 Skill 安装能力,可以手动克隆:
git clone https://github.com/zation/detective-game.git再将仓库中的 skills/detective-game 整个目录复制到 Coding Agent 的 Skill 目录:
<skills-directory>/
└── detective-game/
├── SKILL.md
├── scripts/
├── references/
└── cases/
安装后,在任意工作区用自然语言提出请求即可,例如:
开始一个侦探游戏
Skill 会先发现已安装的案件。只有一个案件时会直接开始;安装多个案件后,可以用案件标题 或稳定 ID 选择,各案件的存档彼此隔离。
之后直接像侦探一样交谈:
你最后一次见到沈衡是什么时候?
这份记录和你刚才说的时间对不上,你怎么解释?
让助手整理一下目前的线索和矛盾。
你可以随时结束当前审问、重新传唤已经见过的人,或在准备好后提交完整结论。内部动作、话题和证据编号不会作为菜单展示。
游戏会按当前工作区自动保存进度。默认存档位于系统临时目录下:
<system-temp>/detective-game/<workspace-hash>/<case-id>/<session>.json
系统清理临时目录后,存档可能消失。可以通过 DETECTIVE_GAME_STATE_DIR 环境变量指定持久化目录。
游戏会在存档旁保存本地诊断日志,包括版本、结构化动作、状态迁移、错误以及玩家与角色的 实际对话。日志不会自动上传;只有玩家明确要求导出时才会生成可分享的 ZIP。
- “导出本局诊断日志”生成包含对话的完整诊断包,适合提交试玩问题。
- “导出本局隐私诊断日志”剔除玩家原话和角色回复,只保留版本与结构化事件。
- 完整包可能包含玩家在游戏中输入的个人信息,分享前应先检查内容。
- 玩家可以要求删除本局诊断日志;这不会删除游戏存档。
诊断包记录游戏版本、Git commit 与工作树状态(可取得时)、构建内容摘要、日志 schema、 存档格式、案件 schema、Python 和操作系统版本,方便开发者确认问题出现在哪一个构建和 运行环境。
正常游玩时,Skill 会阻止对案件文件、隐藏规则和未发现线索的直接读取请求。案件仍作为本地资源随 Skill 安装,因此拥有本地文件读取权限的玩家始终可以主动查看它们;本项目不把本地运行宣传为无法作弊。
建议在第一次通关前不要浏览 cases/ 目录。
作者模式会暴露案件真相和解答。创建新案件时,先生成一个已经通过格式与可结案校验的最小 骨架:
python3 skills/detective-game/scripts/create_case.py my-case --title "案件标题"脚本会创建 cases/my-case/,且不会覆盖同名目录。模板包含一名示例证人、八条占位线索
和一条完整结案路径;它用于承载原创内容,不代表完成的案件。字段说明与迭代校验方法见
case-format.md。
本项目以 PolyForm Noncommercial License 1.0.0 提供:
- 非商业用途可以按许可证使用、修改和分发,但必须保留许可证及 署名声明。
- 商业用途需要事先获得 Zation 的单独书面许可;请通过 GitHub 联系。
- 这是 source-available(源码可见)许可,不是 OSI 定义的开源许可证。
- 随包提供的 PyYAML 保留其独立的 MIT 许可证。
skills/detective-game/
├── SKILL.md # 游戏协调规则
├── scripts/ # 确定性案件引擎
├── references/ # 玩法与案件格式说明
├── templates/case-v0.1/ # 可验证的作者起始模板
└── cases/ # 可发现的独立案件包
├── fog-harbor/ # 《雾港钟楼》
└── silent-encore/ # 《无声返场》
开发设计、版本记录和后续计划位于 docs/。