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即可查看。
这是Anthropic的工程师文化的一个侧写——主业是12层harness、上下文压缩、多agent编排,但顺手做了一个完整的宠物系统带3帧ASCII动画、156词灵感词库、LLM生成名字和性格。顶级工程团队的小趣味。