101 lines
2.9 KiB
Markdown
101 lines
2.9 KiB
Markdown
---
|
||
tags: [buddy, 宠物, companion, 虚拟宠物, claude-code]
|
||
create time: 2026-06-09 22:30
|
||
---
|
||
|
||
# Buddy 宠物系统
|
||
|
||
## 概述
|
||
|
||
Buddy 是 Claude Code 内置的虚拟宠物系统。在 REPL 中通过 `/buddy` 命令可以孵化一只随机生成的宠物伴侣,它会出现在输入框旁边,陪伴你的编码过程。
|
||
|
||
> [!info]
|
||
> Feature Flag: `FEATURE_BUDDY=1`
|
||
|
||
## 正文
|
||
|
||
### 启用方式
|
||
|
||
```bash
|
||
FEATURE_BUDDY=1 bun run dev
|
||
```
|
||
|
||
> [!tip]
|
||
> 孵化窗口:2026 年 4 月 1-7 日期间启动时,会在 REPL 顶部显示彩虹色的 `/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% |
|
||
|
||
> [!question]
|
||
> 孵化时基于种子随机决定,存在极低概率出现 Shiny(闪光)变体。你的宠物是什么稀有度?
|
||
|
||
#### 属性值
|
||
|
||
每只宠物拥有 5 项属性(0-100):
|
||
|
||
- **DEBUGGING** — 调试能力
|
||
- **PATIENCE** — 耐心程度
|
||
- **CHAOS** — 混乱指数
|
||
- **WISDOM** — 智慧值
|
||
- **SNARK** — 毒舌度
|
||
|
||
#### 外观
|
||
|
||
每只宠物还有随机的外观配件:
|
||
|
||
- **眼睛**: `·` `✦` `×` `◉` `@` `°`
|
||
- **帽子**: none, crown, tophat, propeller, halo, wizard, beanie, tinyduck
|
||
|
||
### 数据存储
|
||
|
||
宠物信息存储在 `~/.claude.json` 的 `companion` 字段中。宠物的外观属性(物种、稀有度、属性值等)基于用户 ID 的哈希确定性生成,不可通过编辑配置文件来篡改稀有度。
|
||
|
||
### 相关源码
|
||
|
||
| 文件 | 说明 |
|
||
|---|---|
|
||
| `src/commands/buddy/index.ts` | `/buddy` 命令注册 |
|
||
| `src/commands/buddy/buddy.ts` | `/buddy` 命令处理 |
|
||
| `src/buddy/companion.ts` | 宠物生成与加载 |
|
||
| `src/buddy/companionReact.ts` | 宠物反应系统(REPL 每轮查询后触发) |
|
||
| `src/buddy/types.ts` | 类型定义(物种、稀有度、属性) |
|
||
| `src/buddy/sprites.ts` | 终端像素画渲染 |
|
||
| `src/buddy/CompanionSprite.tsx` | React 组件(输入框旁显示) |
|
||
| `src/buddy/CompanionCard.tsx` | 宠物信息卡片(`/buddy` 无参数时展示) |
|
||
| `src/buddy/useBuddyNotification.tsx` | 启动提示通知 |
|
||
| `src/buddy/prompt.ts` | 宠物相关 prompt 模板 |
|
||
|
||
## 关联笔记
|
||
|
||
- [[all-features-guide]]
|