Claude Code宠物系统悄悄上线,我把白板刷成了金色传说。 * { margin: 0; padding: 0; outline: 0; } body { font-family: “PingFang SC”, system-ui, -apple-system, BlinkMacSystemFont, “Helvetica Neue”, “Hiragino Sans GB”, “Microsoft YaHei UI”, “Microsoft YaHei”, Arial, sans-serif; line-height: 1.6; } .__page_content__ { max-width: 667px; margin: 0 auto; padding: 20px; text-size-adjust: 100%; color: rgba(0, 0, 0, 0.9); padding-bottom: 64px; } .title { user-select: text; font-size: 22px; line-height: 1.4; margin-bottom: 14px; font-weight: 500; } .__meta__ { color: rgba(0, 0, 0, 0.3); font-size: 15px; line-height: 20px; hyphens: auto; word-break: break-word; margin-bottom: 50px; } .__meta__ .nick_name { color: 576B95; } .__meta__ .copyright { color: rgba(0, 0, 0, 0.3); background-color: rgba(0, 0, 0, 0.05); padding: 0 4px; margin: 0 10px 10px 0; } blockquote.source { padding: 10px; margin: 30px 0; border-left: 5px solid ccc; color: #333; font-style: italic; word-wrap: break-word; } blockquote.source a { cursor: pointer; text-decoration: underline; } .item_show_type_0 > section { margin-top: 0; margin-bottom: 24px; } a { color: 576B95; text-decoration: none; cursor: default; } .text_content { margin-bottom: 50px; user-select: text; font-size: 17px; white-space: pre-wrap; word-wrap: break-word; line-height: 28px; hyphens: auto; } .picture_content .picture_item { margin-bottom: 30px; } .picture_content .picture_item .picture_item_label { text-align: center; } img { max-width: 100%; } .pay_subscribe_notice { margin: 30px 0; padding: 20px; background: fffbe6; border: 1px solid ffe58f; border-radius: 8px; } .pay_subscribe_badge { display: inline-block; padding: 4px 12px; background: faad14; color: fff; border-radius: 4px; font-size: 14px; font-weight: 500; margin-bottom: 12px; } .pay_subscribe_desc { font-size: 15px; line-height: 1.8; color: rgba(0, 0, 0, 0.7); margin-bottom: 12px; } .pay_subscribe_hint { font-size: 13px; color: rgba(0, 0, 0, 0.4); } .__bottom-bar__ { display: flex; justify-content: space-between; align-items: center; position: fixed; bottom: 0; left: 0; right: 0; height: 64px; padding: 8px 20px; background: white; box-sizing: border-box; border-top: 1px solid rgba(0, 0, 0, 0.2); } .__bottom-bar__ .left { display: flex; align-items: center; font-size: 15px; white-space: nowrap; } .__bottom-bar__ .right { display: flex; } .__bottom-bar__ .sns_opr_btn { display: flex; align-items: center; user-select: none; background: transparent; border: 0; color: rgba(0, 0, 0, 0.9); font-size: 14px; } .__bottom-bar__ .sns_opr_btn:not(:last-child) { margin-right: 16px; } .__bottom-bar__ .sns_opr_btn > img { margin-right: 4px; }

Claude Code宠物系统悄悄上线,我把白板刷成了金色传说。

原创 数字生命卡兹克 数字生命卡兹克 2026-04-01 17:21 北京

原文地址: https://mp.weixin.qq.com/s/HzOW1RdfzTCvNnLvFbiG9w

就在今天,Claude Code 悄悄上线了一个宠物模式。

输入/buddy,就会孵化出一只专属于你的小宠物,甚至连命令都是彩虹色的。

有物种、有属性、有性格,挺花哨的。

昨天,Anthropic 源码泄露,51万行代码全被扒了个底朝天。

从泄露代码的时间戳来看,今天这个Buddy宠物系统就是计划好的,4月1日首次亮相,如期而至。

而且后天就是复活节,别人藏彩蛋,Anthropic藏在了 /buddy 里。

在你输入命令之后,它有一个孵化过程,就像拆盲盒一样,你也不知道会蹦出来什么。

最骚的是,这玩意,是有稀有度机制的,跟泄露出来的一样。

另外的**Shiny(闪光)**独立1%概率,与稀有度无关。

我自己也直接敷了一下,然后,直接活生生的跳出来了一个。

白色普通仙人掌。

你要知道,我玩手游的时候,是那种标准的强度狗,甚至会刷初始的人,就是要刷初始到一个很牛逼的SSR,我才会开局的那种。

真的,看到这个白色仙人掌,我的心态当时差点是崩溃的。

开启之后,它就会待在输入框旁边,你写代码的时候它就在边上晃悠。

真的,作为一个强度狗,看着一个白板仙人掌在我的Claude Code里面做一些贱贱的表情,我真的接受不了。

最关键的是,它居然告诉我,没有办法重ROLL。

我扒了一下源码,一共有18种宠物,鸭子、蘑菇、猫头鹰、蜗牛、幽灵等等,甚至还有卡皮巴拉。

每一种都有自己独特的动画效果。

我们的小伙伴也试了一下,然后,好吧,果然一堆非酋。

整个Buddy系统用了一个双层架构设计,叫Bones + Soul。

骨架层(Bones),是决定你的宠物长什么样。

用你的账户userID加上一个固定值,由Mulberry32随机生成,来确定物种、眼睛、帽子、稀有度等所有外观属性。

因为绑定的是你的userID,所以不管你在哪台电脑上登录,不管你重装多少次 Claude Code,你的宠物永远是同一只。

灵魂层(Soul),是决定你的宠物是什么性格。

这个是可以roll的,存在本地,第一次孵化的时候,Claude会根据你宠物的物种和属性,给它取一个名字、写一段性格描述。

就是这东西。

每只宠物还有五大属性。

调试能力、耐心值、混乱值、智慧值、毒舌值。

稀有度越高,属性基础值越高。

每只宠物都有一个突出属性和一个短板属性。

每个 buddy 随机选一项当峰值、一项当废物,剩下三项普通。

因为我的白板数值太垃圾了,所以最高的只有62,最低的只有4。

属性也能够直接影响宠物跟你互动的风格。

作为一个强度党,我当然接受不了我的宠物是个白板废物仙人掌的设定。

于是我就去搜了下,有没有能重roll的方法。

没想到,还真找到了。

然后我自己试了一下,我的白板仙人掌。

立马变成了。

闪光传说卡皮巴拉!!!!!!!

金色传说!!!

爽爆了!!!!!!!!!!!!!!

我心情一下子都变好了。

这才是强度党的胜利!!!!!!

教程也巨简单。

我直接把这个帖子发给了Claude Code,告诉他,我想重roll我的buddy宠物。。。

帖子链接:https://linux.do/t/topic/1873901

然后他就给了我一段流程,我感觉有点不对,我就把帖子截图就发给了Claude Code。

它告诉我,直接告诉他,你想要什么就行了。

我就超级大声的来了一句:

我要传说闪光卡皮巴拉!!!

然后,Claude Code直接开干了。

然后我token还粘错了,瞎特么给了一个URL链接。

Claude Code说,这个Token也不是必须的,有更方便的方式能跳过,于是,自己就给自己改了。

然后就让我重启,重启完,我重新打开Claude Code,输入/buddy,我的金色传说闪光卡皮巴拉。

就直接出现了。

我后面又翻了下帖子,其实原理也挺简单的,因为UserID是唯一的随机值,所以。

改 userID = 改宠物。

因为我是Claude Max会员,在正常官方登录流程中,Claude Code会把你的accountUuid(Anthropic 账户唯一标识)写入 ~/.claude.json。

/buddy命令优先使用 accountUuid,作为种子,这个值绑定你的账户,无法伪造。     

但这哥们发现了一个非常骚的逻辑漏洞。

用 CLAUDE_CODE_OAUTH_TOKEN 这个环境变量登录的时候,Claude Code 不会把 accountUuid 写进 ~/.claude.json。

没有 accountUuid,/buddy 就会退而求其次,去读 ~/.claude.json里的userID字段。

而userID这个字段,你可以随便改。

你敢信???

先用 claude setup-token 搞到OAuth token,然后把 ~/.claude.json删了,清掉旧的accountUuid。再写一个最精简的配置文件进去,就留个 hasCompletedOnboarding和theme两个字段就够了。

然后用环境变量的方式启动 Claude Code,这一步的关键就在于,它不会往配置文件里写 accountUuid。

接下来就是暴力美学时间了。

这哥们写的那个叫buddy-reroll.js的脚本,干的事情其实特别简单粗暴,随机生成一个 32 字节的hex字符串当假userID,然后用跟Claude Code 完全一样的算法,hash一下,过Mulberry32,roll一下,算出来这个ID对应什么宠物。

循环5000万次,总能撞上你想要的那只传说闪光卡皮巴拉。

找到以后,把这个userID塞进 ~/.claude.json,重新打开Claude Code,输入/buddy。

白板仙人掌变传说闪光卡皮巴拉。

太牛逼了,我佩服的五体投地。

如果你没用官方登录的方式,用的是三方API的方式,也可以这么玩,原理差不多。

这个卡皮巴拉,会在你写代码的时候,跟你互动。

太好玩了。

我现在真的有点觉得,Anthropic跟很多AI公司最不一样的地方。

就是在于他们的创意和对员工想法的包容性。

做梦机制、Buddy,等等等等。

他们是真的在用做游戏的心态做开发者工具。

我以前玩宝可梦的时候,闪光宝可梦的概率是 1/4096。

为了刷一只闪光,有人能在同一片草丛里走上几百个小时。

你说这有什么意义吗?没有。

而跟概率较劲这件事,可能是人类最古老的浪漫之一。

现在,你在命令行里,跟Claude Code对话时,旁边蹲着一只闪光传说卡皮巴拉,做着贱贱的表情。

你说它有用吗?也一点用都没有。

但你就是忍不住看它一眼,然后嘴角上扬。

我觉得这就够了。

这就是强度党的胜利!!!

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。

>/ 作者:卡兹克、可达

>/ 投稿或爆料,请联系邮箱:wzglyay@virxact.com

数字生命卡兹克

![](data:image/svg+xml,%3Csvg xmlns=‘http://www.w3.org/2000/svg’ width=‘24’ height=‘24’ viewBox=‘0 0 24 24’%3E%3C!— Icon from Lucide by Lucide Contributors - https://github.com/lucide-icons/lucide/blob/main/LICENSE —%3E%3Cg fill=‘none’ stroke=‘%23888888’ stroke-linecap=‘round’ stroke-linejoin=‘round’ stroke-width=‘2’%3E%3Cpath d=‘M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0’/%3E%3Ccircle cx=‘12’ cy=‘12’ r=‘3’/%3E%3C/g%3E%3C/svg%3E) 阅读![](data:image/svg+xml,%3Csvg width=‘25’ height=‘24’ viewBox=‘0 0 25 24’ fill=‘none’ xmlns=‘http://www.w3.org/2000/svg’%3E%3Cpath fill-rule=‘evenodd’ clip-rule=‘evenodd’ d=‘M16.154 6.797l-.177 2.758h4.009c1.346 0 2.359 1.385 2.155 2.763l-.026.148-1.429 6.743c-.212.993-1.02 1.713-1.977 1.783l-.152.006-13.707-.006c-.553 0-1-.448-1-1v-8.58a1 1 0 0 1 1-1h2.44l1.263-.03.417-.018.168-.015.028-.005c1.355-.315 2.39-2.406 2.58-4.276l.01-.16.022-.572.022-.276c.074-.707.3-1.54 1.08-1.883 2.054-.9 3.387 1.835 3.274 3.62zm-2.791-2.52c-.16.07-.282.294-.345.713l-.022.167-.019.224-.023.604-.014.204c-.253 2.486-1.615 4.885-3.502 5.324l-.097.018-.204.023-.181.012-.256.01v8.218l9.813.004.11-.003c.381-.028.72-.304.855-.709l.034-.125 1.422-6.708.02-.11c.099-.668-.354-1.308-.87-1.381l-.098-.007h-5.289l.26-4.033c.09-1.449-.864-2.766-1.594-2.446zM7.5 11.606l-.21.005-2.241-.001v8.181l2.45.001v-8.186z’ fill=‘%23000’/%3E%3C/svg%3E) 赞 ![](data:image/svg+xml;charset=utf8,%3Csvg xmlns=‘http://www.w3.org/2000/svg’ width=‘24’ height=‘24’ viewBox=‘0 0 24 24’%3E %3Cg fill=‘none’ fill-rule=‘evenodd’%3E %3Cpath d=‘M0 0h24v24H0z’/%3E %3Cpath fill=‘%23576B95’ d=‘M13.707 3.288l7.171 7.103a1 1 0 0 1 .09 1.32l-.09.1-7.17 7.104a1 1 0 0 1-1.705-.71v-3.283c-2.338.188-5.752 1.57-7.527 5.9-.295.72-1.02.713-1.177-.22-1.246-7.38 2.952-12.387 8.704-13.294v-3.31a1 1 0 0 1 1.704-.71zm-.504 5.046l-1.013.16c-4.825.76-7.976 4.52-7.907 9.759l.007.287c1.594-2.613 4.268-4.45 7.332-4.787l1.581-.132v4.103l6.688-6.623-6.688-6.623v3.856z’/%3E %3C/g%3E%3C/svg%3E) 分享 ![](data:image/svg+xml;charset=utf8,%3Csvg xmlns=‘http://www.w3.org/2000/svg’ xmlns:xlink=‘http://www.w3.org/1999/xlink’ width=‘24’ height=‘24’ viewBox=‘0 0 24 24’%3E %3Cdefs%3E %3Cpath id=‘a62bde5b-af55-42c8-87f2-e10e8a48baa0-a’ d=‘M0 0h24v24H0z’/%3E %3C/defs%3E %3Cg fill=‘none’ fill-rule=‘evenodd’%3E %3Cmask id=‘a62bde5b-af55-42c8-87f2-e10e8a48baa0-b’ fill=‘%23fff’%3E %3Cuse xlink:href=‘%23a62bde5b-af55-42c8-87f2-e10e8a48baa0-a’/%3E %3C/mask%3E %3Cg mask=‘url(%23a62bde5b-af55-42c8-87f2-e10e8a48baa0-b)‘%3E %3Cg transform=‘translate(0 -2.349)‘%3E %3Cpath d=‘M0 2.349h24v24H0z’/%3E %3Cpath fill=‘%23576B95’ d=‘M16.45 7.68c-.954 0-1.94.362-2.77 1.113l-1.676 1.676-1.853-1.838a3.787 3.787 0 0 0-2.63-.971 3.785 3.785 0 0 0-2.596 1.112 3.786 3.786 0 0 0-1.113 2.687c0 .97.368 1.938 1.105 2.679l7.082 6.527 7.226-6.678a3.787 3.787 0 0 0 .962-2.618 3.785 3.785 0 0 0-1.112-2.597A3.687 3.687 0 0 0 16.45 7.68zm3.473.243a4.985 4.985 0 0 1 1.464 3.418 4.98 4.98 0 0 1-1.29 3.47l-.017.02-7.47 6.903a.9.9 0 0 1-1.22 0l-7.305-6.73-.008-.01a4.986 4.986 0 0 1-1.465-3.535c0-1.279.488-2.56 1.465-3.536A4.985 4.985 0 0 1 7.494 6.46c1.24-.029 2.49.4 3.472 1.29l.01.01L12 8.774l.851-.85.01-.01c1.046-.951 2.322-1.434 3.59-1.434 1.273 0 2.52.49 3.472 1.442z’/%3E %3C/g%3E %3C/g%3E %3C/g%3E%3C/svg%3E) 推荐 ![](data:image/svg+xml,%3Csvg width=‘25’ height=‘24’ viewBox=‘0 0 25 24’ fill=‘none’ xmlns=‘http://www.w3.org/2000/svg’%3E%3Cpath d=‘M22.242 7a2.5 2.5 0 0 0-2.5-2.5h-14a2.5 2.5 0 0 0-2.5 2.5v8.5a2.5 2.5 0 0 0 2.5 2.5h2.5v1.59a1 1 0 0 0 1.707.7l1-1a.569.569 0 0 0 .034-.03l1.273-1.273a.6.6 0 0 0-.8-.892v-.006L9.441 19.1l.001-2.3h-3.7l-.133-.007A1.3 1.3 0 0 1 4.442 15.5V7l.007-.133A1.3 1.3 0 0 1 5.742 5.7h14l.133.007A1.3 1.3 0 0 1 21.042 7v4.887a.6.6 0 1 0 1.2 0V7z’ fill=‘%23000’ fill-opacity=’.9’/%3E%3Crect x=‘14.625’ y=‘16.686’ width=‘7’ height=‘1.2’ rx=’.6’ fill=‘%23000’ fill-opacity=’.9’/%3E%3Crect x=‘18.725’ y=‘13.786’ width=‘7’ height=‘1.2’ rx=’.6’ transform=‘rotate(90 18.725 13.786)’ fill=‘%23000’ fill-opacity=’.9’/%3E%3C/svg%3E) 留言