基于 Trss-Yunzai 的海龟汤(情境猜谜)游戏插件,AI 生成谜题并担任裁判。
在 Yunzai 根目录下执行:
git clone --depth=1 https://github.com/Cat-bl/soupbubble-plugin plugins/soupbubble-plugin| 指令 | 说明 |
|---|---|
#海龟汤 / #发起海龟汤 |
群内发起游戏 |
#加入海龟汤 |
加入游戏 |
#退出海龟汤 |
退出游戏(仅等待阶段) |
#开始海龟汤 / #开始海龟汤 类型 |
发起人开始游戏,可选指定谜题类型(如「校园」「悬疑」) |
#海龟汤结束 |
强制结束(发起人/主人) |
#海龟汤状态 |
查看当前状态图(含积分榜) |
#提问 xxx |
提出一个推理问题,AI 裁判回答「是」「不是」「无关」 |
#猜汤底 xxx |
提交最终猜测,AI 评判是否猜对 |
#海龟汤帮助 |
查看帮助(图片) |
- 群内发送
#海龟汤,其他玩家#加入海龟汤(2~20 人) - 发起人发
#开始海龟汤(可附加谜题类型,如#开始海龟汤 校园) - AI 生成谜题,群内公布汤面(简短悬疑情境)
- 玩家轮番
#提问 问题,AI 裁判回答「是」「不是」「无关」 - 任何玩家可随时
#猜汤底 答案,猜对即获胜 - 无人猜对且超时(默认 10 分钟),自动揭晓汤底
无需私聊,全程群内互动。
#开始海龟汤 支持指定谜题主题范围:
- 附加参数:
#开始海龟汤 悬疑/#开始海龟汤 校园— 传给 AI 限定出题方向 - 不带参数:机器人会询问发起人,15 秒内回复类型;回复「跳过」或超时则让 AI 自由出题
每个群的生成历史(最近 20 条)会单独记录,传给 AI 避免重复出题。历史仅保存在内存中,重启后清空。
- 猜出汤底:+5 分
- 仅第一个猜对的玩家得分,游戏即结束
- 多局累计积分,
#海龟汤状态可查看积分榜
| 阶段 | 配置项 | 默认值 | 说明 |
|---|---|---|---|
| 等待阶段 | waitTimeout |
300s | 发起后迟迟未开始,自动结束 |
| 游戏阶段 | gameTimeout |
600s | 开始后总限时,超时自动揭晓汤底 |
| 预警提醒 | warnBefore |
30s | 超时前 @ 提醒,设为 0 关闭 |
首次启动会自动生成 config/config.yaml,修改后自动热更新,无需重启。
# 谜题来源:ai(纯 AI)| mix(AI 优先,失败降级本地)
puzzleSource: mix
ai:
apiUrl: https://openai/v1/chat/completions # OpenAI 兼容接口
apiKey: "" # 必填
model: gemini-2.5-flash # 模型名
timeout: 120 # 请求超时(秒)
retryCount: 3 # 失败重试次数
temperature: 1.1 # 随机度
puzzleSystemPrompt: ... # 出题系统提示词
puzzleUserPrompt: ... # 出题用户提示词
judgeSystemPrompt: ... # AI 裁判提示词
guessSystemPrompt: ... # AI 猜底判断提示词
game:
minPlayers: 2 # 最少玩家数
maxPlayers: 20 # 最多玩家数
waitTimeout: 300 # 等待阶段总超时(秒)
gameTimeout: 600 # 游戏总超时(秒)
warnBefore: 30 # 超时前多少秒提醒,0 关闭
maxMessages: 40 # 渲染图最多保留的消息数
solveScore: 5 # 猜对得分
maxQuestionsPerPlayer: 0 # 单人提问次数上限,0 不限- 问题应为是/否形式:
#提问 死者是自杀的吗? - 避免开放式问题(AI 只会回答是/不是/无关)
- 先确认大框架(人物关系、动机、手法),再逐步细化
- 多个小问题比一个大问题更有效
- 善用答案中的「无关」来排除干扰方向
