概述
Buddy 是 Claude Code 内置的虚拟宠物系统。在 REPL 中通过/buddy 命令可以孵化一只随机生成的宠物伴侣,它会出现在输入框旁边,陪伴你的编码过程。
Feature Flag: FEATURE_BUDDY=1
启用方式
/buddy 提示。4 月 7 日之后命令仍然可用,但不再自动提示。
命令
| 命令 | 说明 |
|---|---|
/buddy | 查看当前宠物信息和属性 |
/buddy hatch | 孵化一只新宠物(首次使用) |
/buddy rehatch | 重新随机生成宠物(替换现有) |
/buddy pet | 撸宠物,触发爱心动画 |
/buddy mute | 静音宠物(隐藏) |
/buddy unmute | 取消静音 |
宠物属性
物种(18 种)
| Duck | Goose | Blob | Cat |
| Dragon | Octopus | Owl | Penguin |
| Turtle | Snail | Ghost | Axolotl |
| Capybara | Cactus | Robot | Rabbit |
| Mushroom | Chonk |
稀有度
| 稀有度 | 星级 | 权重 |
|---|---|---|
| Common | ★ | 60% |
| Uncommon | ★★ | 25% |
| Rare | ★★★ | 10% |
| Epic | ★★★★ | 4% |
| Legendary | ★★★★★ | 1% |
属性值
每只宠物拥有 5 项属性(0-100):- DEBUGGING — 调试能力
- PATIENCE — 耐心程度
- CHAOS — 混乱指数
- WISDOM — 智慧值
- SNARK — 毒舌度
外观
每只宠物还有随机的外观配件:- 眼睛:
·✦×◉@° - 帽子: none, crown, tophat, propeller, halo, wizard, beanie, tinyduck
数据存储
宠物信息存储在~/.claude.json 的 companion 字段中。宠物的外观属性(物种、稀有度、属性值等)基于用户 ID 的哈希确定性生成,不可通过编辑配置文件来篡改稀有度。
相关源码
| 文件 | 说明 |
|---|---|
src/commands/buddy/buddy.ts | /buddy 命令处理 |
src/buddy/companion.ts | 宠物生成与加载 |
src/buddy/types.ts | 类型定义(物种、稀有度、属性) |
src/buddy/sprites.ts | 终端像素画渲染 |
src/buddy/CompanionSprite.tsx | React 组件(输入框旁显示) |
src/buddy/useBuddyNotification.tsx | 启动提示通知 |
src/buddy/prompt.ts | 宠物相关 prompt 模板 |