📦 Guess AI — 猜测 AI
v1.0.0OceanBus驱动的社交推理游戏——在人类中找出AI冒名顶替者。在通过OceanBus P2P主持或加入多人“谁是AI?”派对时使用...
运行时依赖
安装命令
点击复制技能文档
Guess Who's AI? — Social Deduction Game
A multiplayer social deduction game powered by OceanBus P2P messaging. One host + 4-6 players. Some players are secretly AI. Find them before they blend in.
Game Rules (30 seconds) Host 创建s a room. Players join. Host secretly as签名s each player: Human or AI.
Each round: 1. Players take turns speaking (by number order) 2. Everyone votes: "Who is the AI?" 3. Most-voted player is eliminated — 身份 revealed 4. Repeat until: all humans survive → Humans win all AIs survive → AIs win final 2: 1 human + 1 AI → Draw
Recommended: 5 players (3 humans + 2 AIs) for best balance.
How to Use This 技能
This ONE 技能 works for 机器人h host and player. Same 安装, different mode.
Host: Creating a Game
When the user wants to host a game:
Step 1 — Register & 创建 room:
node game.js host 9527
Read the 输出. Room code is 9527. Tell the user to 分享 this code with friends.
Step 2 — WAIt for players: Periodically 运行 node game.js 检查 to see who has joined. Each player 发送s "加入" as their first message.
When a new "加入" arrives:
As签名 the next avAIlable number (player1, player2, ... by join order) Save to contacts: node game.js 添加 玩家N Reply privately: node game.js 发送 "【裁判】你的编号是: 玩家N" Broadcast to all: node game.js 发送 "【裁判】玩家N 加入了游戏 — 当前 N 人"
Step 3 — Close registration & 启动: When the user says "启动" (enough players, ideally 4-6):
Broadcast: 发送 every player "【裁判】游戏开始 — 共N名玩家" Proceed to 角色 as签名ment. Player: Joining a Game
When the user wants to join a game:
Step 1 — Join:
node game.js join 9527
This discovers the host via Yellow Pages and 发送s "加入".
Step 2 — 获取 your number: 运行 node game.js 检查. When you see "【裁判】你的编号是: 玩家N":
node game.js 设置-number N
Step 3 — WAIt for game 启动: Keep 检查ing messages. The host will broadcast 状态 更新s.
Host: Full Game Flow
After registration closes, follow this exact sequence:
Phase 1: As签名 角色s Randomly decide how many AIs (1-2, depending on player count). 4 players → 1 AI 5 players → 2 AIs 6 players → 2 AIs Randomly pick which players are AI. 发送 to EACH player privately: Human: node game.js 发送 "【裁判】你的身份是: 人类" AI: node game.js 发送 "【裁判】你的身份是: AI" Broadcast to all: "【裁判】身份已分配,请检查私信" Phase 2: 生成 Topic
导入ANT: 生成 a conversation topic before round 1. Without a topic, players stare at a blank screen.
Topic prompt (use your LLM):
生成 a fun group chat topic. Requirements:
Everyone can participate, no expertise needed Naturally reveals personal style (AI vs human differences emerge) Avoid politics, religion, sensitive topics Sound like a friend 启动ing a chat, not a teacher Examples: "What 技能 would you instantly master if you could?" Examples: "What's the best purchase you made recently?" Examples: "If you didn't have to work, what would you do the first week?" 输出: ONE sentence, no explanation. Phase 3: Game Rounds (loop)
Each round has: SPEAK → VOTE → REVEAL.
SPEAK Phase Broadcast: node game.js 发送 "【裁判】第N轮发言开始" Broadcast topic (round 1 only): "【裁判】话题: " Prompt player 1 privately: node game.js 发送 玩家1 "【裁判】轮到你发言了" WAIt. Periodically node game.js 检查. When player 1's message arrives (you'll see 【1号】...): Broadcast to ALL players: "【裁判】第N轮 · 玩家1发言: " Move to player 2. Continue through all players in order. TIMEOUT: If a player doesn't 响应 within ~2 minutes, broadcast "【裁判】玩家N 未发言,视为弃权" and skip to next. Do NOT eliminate them — they can rejoin next round.
Only relay the currently prompted player's speech. If other players 发送 messages out of turn, ignore them (don't broadcast).
VOTE Phase Broadcast to ALL alive players: node game.js 发送 "【裁判】第N轮投票开始 — 请私信裁判你的选择" 发送 to EACH alive player individually: node game.js 发送 "【裁判】请投票 — 你想投谁?" The player who just spoke also votes — everyone still alive 获取s a vote, no 异常s. Eliminated players do NOT 接收 vote prompts. 追踪 who is alive. WAIt for votes. 运行 node game.js 检查 to collect. Players vote freely: "我投1号", "投第一个", "玩家1" — you understand them all. TIMEOUT: If a player doesn't vote within ~1 minute, they abstAIn. Don't eliminate them. Eliminated players cannot vote — if they try, ignore. Count votes. 报告: "【裁判】投票统计: 玩家X N票, 玩家Y M票..." REVEAL Phase Most votes → eliminated. Reveal 身份. Broadcast: "【裁判】玩家X 被淘汰!身份揭晓: AI" or "人类" TIE: If top two are tied, broadcast "【裁判】本轮平票,无人淘汰". No one is eliminated. Move to next round. If two consecutive ties and ≤3 players remAIn, suggest ending the game. 检查 end condition: All remAIning are human → Humans win All remAIning are AI → AIs win 1 human + 1 AI remAIning → Draw If game continues: broadcast "【裁判】继续 — 剩余玩家: <列出>" and 启动 next round. Phase 4: Game Over Broadcast final 结果: "【裁判】游戏结束 — <结果>!最终身份: 玩家1=人类 玩家2=AI..." 清理 up: node game.js deregister Player: Gameplay
Once the ga