BUDDY宠物系统——用于生成、互动、展示AI宠物的虚拟伴侣工具。用户可通过「摸摸宠物」「查看宠物」「孵化宠物」或指令「buddy」「/buddy pet」「/buddy card」「/buddy hatch」「/buddy mute」「/buddy unmute」等与宠物互动。
BUDDY 是一个拓麻歌子风格的虚拟宠物系统,为 AI 编程体验增添陪伴感和趣味性。完整参考 Claude Code src/buddy/ 实现。
命令功能hatch <userId>为用户生成新宠物pet <userId>展示抚摸动画(气泡对话)card <userId>显示宠物卡片(含完整属性)mute <userId>静音宠物unmute <userId>取消静音perfect <userId>生成完美宠物(演示用)prompt <userId>显示 AI 上下文注入提示
bash
cd /root/.openclaw/skills/buddy
bun scripts/buddy.ts <command> <userId>
完整 ASCII 精灵图,5行×12字符,3帧动画(idle/fidget/special)
物种英文物种英文🐙 章鱼octopus🐧 企鹅penguin🦆 鸭子duck🐢 乌龟turtle🐱 猫cat🐌 蜗牛snail🐉 龙dragon👻 幽灵ghost🦉 猫头鹰owl🦎 六角恐龙axolotl🪿 鹅goose🦫 水豚capybara🌵 仙人掌cactus🤖 机器人robot🐰 兔子rabbit🍄 蘑菇mushroom🐈 胖猫chonk🫧 果冻blob
稀有度概率星级颜色属性下限普通(Common)60%★灰色5非凡(Uncommon)25%★★绿色15稀有(Rare)10%★★★蓝色25史诗(Epic)4%★★★★紫色35传说(Legendary)1%★★★★★金色50
1% 概率,独立于稀有度
属性说明DEBUGGING调试能力PATIENCE耐心值CHAOS混乱指数WISDOM智慧值SNARK毒舌程度
宠物通过气泡说话:
text
┌──────────────────┐
│ 咕噜咕噜~ │
│ 好舒服! │
└──────────────────┘
当宠物存在且未静音时,可注入提示到 AI 上下文:
mute - 宠物不再显示气泡对话unmute - 恢复宠物互动/buddy hatch - 孵化宠物#text
🎉 恭喜!你获得了一只新宠物!
🐙 小墨 - ★★★★★
▄▄▄▄▄▄
(·◉·)
>( ═══ )<
══════
UU
/buddy pet - 抚摸宠物#text
🐙
(·◉·)
>( ═══ )<
══════
UU
✨ +1 爱心 ✨ +1 爱心 ✨ +1 爱心
↑ ↑ ↑
0.5s 1.0s 1.5s
┌──────────────────┐
│ 咕噜咕噜~ │
│ 好舒服! │
└──────────────────┘
小墨发出了满足的咕噜声~ 🐙✨
/buddy card - 查看卡片#text
╔══════════════════════════════════════════╗
║ 🐙 BUDDY PET CARD 🐙 ║
╠══════════════════════════════════════════╣
║ Name: 小墨 ║
║ Species: octopus ║
║ Rarity: ★★★★★ ║
║ Shiny: ✨ YES ✨ ║
║ Personality: 聪明、好奇、有点傲娇 ║
╠══════════════════════════════════════════╣
║ 📊 FIVE STATS ║
║ DEBUGGING: 150 ║
║ PATIENCE: 150 ║
║ CHAOS: 150 ║
║ WISDOM: 150 ║
║ SNARK: 150 ║
╚══════════════════════════════════════════╝
text
buddy/
├── SKILL.md # 本文件
├── scripts/
│ └── buddy.ts # 主执行脚本
└── references/
└── buddy/ # 核心模块
├── types.ts # 类型定义
├── companion.ts # 生成逻辑
├── sprites.ts # 18物种 ASCII 精灵
└── index.ts # 导出
确定性生成:userId + salt → FNV-1a 哈希 → Mulberry32 PRNG
防作弊:只有灵魂数据(name, personality, hatchedAt)持久化,骨架数据每次重新计算
动画:15帧序列 [0,0,0,0,1,0,0,0,-1,0,0,2,0,0,0]
当用户请求: