360 Secure SkillHub
360 安全技能中心

BUDDY 宠物系统

按 userId 确定性生成 18 种物种、5 级稀有度和五维属性的 ASCII 虚拟宠物,通过本地 bun 脚本提供孵化、抚摸气泡动画、宠物卡片、静音/取消静音和上下文注入提示等命令。

dxiaofeng0811-lgtm
dxiaofeng0811-lgtm
热度 39.57
最近更新 2026-05-11 17:39:46
分类:创作依赖:代码执行应用场景:图像生成 / 故事创作

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add buddy-pet
Metadata
name
buddy
description
BUDDY 宠物系统 - 一个虚拟宠物伴侣工具,用于生成、互动、展示 AI 宠物。当用户说"摸摸宠物"、"查看宠物"、"孵化宠物"、"buddy"、"/buddy pet"、"/buddy card"、"/buddy hatch"、"/buddy mute"、"/buddy unmute" 或任何与宠物互动相关的话题时触发此技能。

BUDDY 🐙 宠物伴侣系统

概述

BUDDY 是一个拓麻歌子风格的虚拟宠物系统,为 AI 编程体验增添陪伴感和趣味性。完整参考 Claude Code src/buddy/ 实现。

命令列表

命令 功能
hatch <userId> 为用户生成新宠物
pet <userId> 展示抚摸动画(气泡对话)
card <userId> 显示宠物卡片(含完整属性)
mute <userId> 静音宠物
unmute <userId> 取消静音
perfect <userId> 生成完美宠物(演示用)
prompt <userId> 显示 AI 上下文注入提示

执行方式

cd /root/.openclaw/skills/buddy
bun scripts/buddy.ts <command> <userId>

宠物生成机制

物种系统(18种)

完整 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

稀有度(5级)

稀有度 概率 星级 颜色 属性下限
普通(Common) 60% ★ 灰色 5
非凡(Uncommon) 25% ★★ 绿色 15
稀有(Rare) 10% ★★★ 蓝色 25
史诗(Epic) 4% ★★★★ 紫色 35
传说(Legendary) 1% ★★★★★ 金色 50

闪光系统

1% 概率,独立于稀有度

五维属性

属性 说明
DEBUGGING 调试能力
PATIENCE 耐心值
CHAOS 混乱指数
WISDOM 智慧值
SNARK 毒舌程度

功能特性

气泡对话

宠物通过气泡说话:

  ┌──────────────────┐
  │   咕噜咕噜~      │
  │   好舒服!        │
  └──────────────────┘

AI 上下文注入

当宠物存在且未静音时,可注入提示到 AI 上下文:

  • 告知宠物在旁边
  • 用户直接对宠物说话时,AI 保持简短回复
  • AI 不会模拟宠物说话

静音功能

  • mute - 宠物不再显示气泡对话
  • unmute - 恢复宠物互动

交互示例

/buddy hatch - 孵化宠物

🎉 恭喜!你获得了一只新宠物!
   🐙 小墨 - ★★★★★

   ▄▄▄▄▄▄   
  (·◉·)    
 >( ═══ )< 
  ══════   
    UU   

/buddy pet - 抚摸宠物

   🐙   
  (·◉·)  
 >( ═══ )<
  ══════ 
    UU   

  ✨ +1  爱心    ✨ +1  爱心    ✨ +1  爱心
     ↑           ↑           ↑
    0.5s        1.0s        1.5s

  ┌──────────────────┐
  │   咕噜咕噜~      │
  │   好舒服!        │
  └──────────────────┘

小墨发出了满足的咕噜声~ 🐙✨

/buddy card - 查看卡片

╔══════════════════════════════════════════╗
║         🐙 BUDDY PET CARD 🐙           ║
╠══════════════════════════════════════════╣
║  Name:     小墨                          ║
║  Species:  octopus                       ║
║  Rarity:   ★★★★★                       ║
║  Shiny:    ✨ YES ✨                    ║
║  Personality: 聪明、好奇、有点傲娇         ║
╠══════════════════════════════════════════╣
║           📊 FIVE STATS                 ║
║  DEBUGGING: 150                   ║
║  PATIENCE:  150                   ║
║  CHAOS:     150                   ║
║  WISDOM:    150                   ║
║  SNARK:     150                   ║
╚══════════════════════════════════════════╝

文件结构

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]
    • 0 = idle
    • 1 = fidget
    • -1 = idle with blink (眼睛替换为 -)
    • 2 = special

调用时机

当用户请求:

  • "摸摸我的宠物"
  • "查看宠物状态"
  • "孵化新宠物"
  • "/buddy pet"
  • "/buddy card"
  • "/buddy hatch"
  • "/buddy mute" / "/buddy unmute"
  • 任何与 BUDDY、小墨、宠物相关的问题