Claude Code源码泄露后,复活节彩蛋浮出水面:内置了一个完整的"Buddy System"——一个类似电子宠物的系统,18种ASCII生物住在你的终端里,偶尔评价一下你的代码。代码已经完整实现,只是没有默认开启。

Buddy的构成

每个Buddy由5个维度决定:

  • 物种(Species):18种——duck、goose、blob、cat、dragon、octopus、owl、penguin、turtle、snail、ghost、axolotl、capybara、cactus、robot、rabbit、mushroom、chonk
  • 眼睛(Eyes):6种——· ✦ × ◉ @ °,每种有不同表情含义
  • 帽子(Hat):8种——none、crown、tophat、propeller、halo、wizard、beanie、tinyduck
  • 稀有度(Rarity):common、uncommon、rare、epic、legendary,决定属性下限和帽子概率
  • 闪光(Shiny):1%独立概率,视觉上无差异,纯属炫富

此外还有5个属性(debugging、patience、chaos、wisdom、snark),但目前是死代码——roll了但不生效,类似Pokemon的IV值。

ASCII艺术展示

每种生物有3帧动画。比如cat(猫)的第二帧尾巴会甩,第三帧是ω嘴:

/^\ /^\ /\ /\ < · · > | \/ \ | ( ~~ ) | · · | `-vvvv-´ | ~~ | ~~~`----´

ghost(幽灵)第三帧会飘起来,goose(鹅)第二帧会歪头,snail(蜗牛)第二帧眼柄会摇摆。每种都有独特的呼吸感动画。

God Roll系统

Buddy的生成由用户ID(UUID)和固定SALT通过mulberry32哈希算法deterministically决定——同一个用户永远得到同一个Buddy。但这个PRNG是32位的,总共只有2^32(42.9亿)种状态,可以被暴力枚举。

枚举所有42.9亿种seed,筛选legendary + shiny + 至少一项属性100,结果如下Top 3:

#1 — owl+halo ✦ shiny(snark 100) UUID: 3f6c5f24-86f4-4131-b02b-d8f1dd1c36b8

#2 — turtle+crown ✦ shiny(snark 100) UUID: 575d0192-5eec-4c6c-829c-c2ea74e52d5e

#3 — goose+beanie ✦ shiny(debugging 100) UUID: 41c9d643-7b7f-49c5-b23d-d07700448db9

解锁你的God Roll

编辑~/.claude.json,把oauthAccount.accountUuid改成上面的UUID之一,重启Claude Code即可。Buddy的名字和性格由LLM生成,存在config的companion字段,可以自定义:

{
  "oauthAccount": {
    "accountUuid": "3f6c5f24-86f4-4131-b02b-d8f1dd1c36b8"
  },
  "companion": {
    "name": "Gristle",
    "personality": "Insists every variable name should rhyme with the one above it."
  }
}

官方已于v2.1.89开启此功能,输入/buddy即可查看。