海龟汤 插件

April 27, 2026 · View on GitHub

基于 Trss-Yunzai 的海龟汤(情境猜谜)游戏插件,AI 生成谜题并担任裁判。

使用效果

效果图1

安装

在 Yunzai 根目录下执行:

git clone --depth=1 https://github.com/Cat-bl/soupbubble-plugin plugins/soupbubble-plugin

指令

指令说明
#海龟汤 / #发起海龟汤群内发起游戏
#加入海龟汤加入游戏
#退出海龟汤退出游戏(仅等待阶段)
#开始海龟汤 / #开始海龟汤 类型发起人开始游戏,可选指定谜题类型(如「校园」「悬疑」)
#海龟汤结束强制结束(发起人/主人)
#海龟汤状态查看当前状态图(含积分榜)
#提问 xxx提出一个推理问题,AI 裁判回答「是」「不是」「无关」
#猜汤底 xxx提交最终猜测,AI 评判是否猜对
#海龟汤帮助查看帮助(图片)

流程

  1. 群内发送 #海龟汤,其他玩家 #加入海龟汤(2~20 人)
  2. 发起人发 #开始海龟汤(可附加谜题类型,如 #开始海龟汤 校园
  3. AI 生成谜题,群内公布汤面(简短悬疑情境)
  4. 玩家轮番 #提问 问题,AI 裁判回答「是」「不是」「无关」
  5. 任何玩家可随时 #猜汤底 答案,猜对即获胜
  6. 无人猜对且超时(默认 10 分钟),自动揭晓汤底

无需私聊,全程群内互动。

谜题类型(可选)

#开始海龟汤 支持指定谜题主题范围:

  1. 附加参数#开始海龟汤 悬疑 / #开始海龟汤 校园 — 传给 AI 限定出题方向
  2. 不带参数:机器人会询问发起人,15 秒内回复类型;回复「跳过」或超时则让 AI 自由出题

每个群的生成历史(最近 20 条)会单独记录,传给 AI 避免重复出题。历史仅保存在内存中,重启后清空。

得分

  • 猜出汤底:+5 分
  • 仅第一个猜对的玩家得分,游戏即结束
  • 多局累计积分,#海龟汤状态 可查看积分榜

超时机制

阶段配置项默认值说明
等待阶段waitTimeout300s发起后迟迟未开始,自动结束
游戏阶段gameTimeout600s开始后总限时,超时自动揭晓汤底
预警提醒warnBefore30s超时前 @ 提醒,设为 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 只会回答是/不是/无关)
  • 先确认大框架(人物关系、动机、手法),再逐步细化
  • 多个小问题比一个大问题更有效
  • 善用答案中的「无关」来排除干扰方向