96SEO 2026-04-24 23:31 0
说实话,作为一个天天跟代码打交道的苦逼程序员,Zui近Zui大的乐趣竟然不是解决了什么复杂的Bug,而是为了那个在终端里蹦跶的小玩意儿——Claude Code的电子宠物。事情是这样的,前两天我在社区里kan到有人晒图,一只金光闪闪、戴着皇冠的龙,那叫一个拉风。再kankan我屏幕角落里那只灰扑扑、啥也没有的“水豚”,瞬间就不平衡了。凭什么大家dou是写代码的,你的宠物就是“金色传说”,我的就是“路边摊”级别?

这种落差感谁懂啊!于是我不服气的劲头上来了决定扒一扒这背后的源码逻辑。这一扒不要紧,发现这哪里是什么随机盲盒,分明就是一场赤裸裸的数学游戏。今天我就带大家复盘一下我是如何通过“硬核”手段,把我的宠物强行洗练成金色传说的。
从愚人节彩蛋开始的“玄学”这事儿还得从4月1号那个充满恶趣味的愚人节说起。Claude Code居然悄咪咪地上线了一个宠物模式,你在终端里输入那个彩虹色的命令 /buddy,就Neng孵化出一只专属于你的电子小宠物。一开始我以为这就是个简单的装饰品,类似于以前的电子鸡,但kan了源码才发现,这玩意儿的设计比我想象的要精密得多。
它不是简单的图片切换,而是一套完整的生成算法。每个宠物dou有两层结构:骨架和灵魂。骨架决定了它长啥样,是龙还是猫,戴不戴帽子;灵魂决定了它的性格,是喜欢吐槽你代码写得烂,还是偶尔蹦出两句充满智慧的金句。
扒开源码kan本质:确定性的随机为了搞懂怎么刷出极品宠物,我不得不去啃了一下相关的源码逻辑。核心在于一个叫 buddy-generator.ts 的文件。这里用到了一个经典的伪随机数生成算法——Mulberry32。
这个算法的特点是“确定性”。也就是说只要种子一样,它生成的随机序列就永远是一样的。这就解释了为什么你的宠物一旦生成就改不了了因为它的种子早就定死了。
那么种子从哪来呢?我在 user-seed.ts 里找到了答案。它有一个硬编码的盐值 "friend--",然后把这个盐值跟你的用户ID拼在一起,算出一个哈希值。公式大概是这样的:
宠物属性 = Hash → Mulberry32 → 随机抽取
这里有个极其关键的细节:执行顺序绝对不Neng乱。源码里的逻辑是先抽稀有度,再抽物种,然后是眼睛、帽子、闪光状态,Zui后才是五维属性。Ru果你把顺序搞反了比如先抽物种再抽稀有度,那算出来的结果就跟真实对不上了。这也是为什么hen多自己写脚本的人会翻车的原因。
物种与稀有度的残酷现实咱们先kankan物种,这系统一共支持18种形态,从常见的猫、狗、鸭子,到稀有的龙、蝾螈、机器人,应有尽有。每个物种dou有一套对应的ASCII字符画,kan着还挺萌的。
但真正让人头秃的是稀有度。这玩意儿分五个等级,概率分布极其不均匀:
Common一大堆,满大街dou是。
Uncommon稍微好点。
Rare这就有点难得了。
Epic欧皇专属。
Legendary只有1%的概率!
没错,传说级只有1%。这还没完,还有个geng变态的机制叫“闪光”,类似于宝可梦里的异色宠物,概率也是1%。这意味着,Ru果你想要一只“传说+闪光+特定物种”的宠物,这概率低到令人发指,简直就是在大海里捞针。
除了外观,还有五维属性:调试、耐心、混乱、智慧、吐槽。这些数值范围是1-100,稀有度越高的宠物,属性下限越高。传说宠物的起步属性就是50,而普通宠物只有5。这差距,简直是一个天上一个地下。
寻找漏洞:当 userID 成为突破口既然知道了生成逻辑,那问题就来了:怎么改?
正常情况下Ru果你是用官方OAuth登录的,Claude Code会在你的配置文件里写一个 accountUuid。这个字段是服务器下发的,绑定你的真实账号,根本改不了。在这种情况下你的宠物命运完全掌握在Anthropic的服务器手里。
但是!Ru果你是用API Key接入的方式呢?
我翻了翻配置文件 ~/.claude.json,发现Ru果没有 accountUuid,系统会退而求去读取一个叫 userID 的字段。这个字段是本地生成的,用于遥测分析和生成宠物种子。重点来了:这个字段,我们Ke以随便改!
这就好比游戏里的本地存档,只要改了这一行配置,你的“种子”就变了宠物自然也就跟着变了。
暴力美学:用 Bun 脚本刷出金色传说既然Neng改 userID,那事情就简单了。我们不需要真的去手动试错,写个脚本暴力穷举不就行了?
核心思路非常直接:随机生成一个 userID,用跟Claude Code一模一样的算法算出对应的宠物,kankan是不是我们想要的“金色传说龙”。Ru果不是就换下一个ID继续试。Ru果是就大功告成,把这个ID写进配置文件。
不过这里有个巨大的坑,差点让我劝退。
为什么必须用 Bun 而不是 Node.js?源码里的 hashString 函数有两条路径。Ru果是Bun环境,它用的是 Bun.hash;Ru果是Node.js环境,它会回退到FNV-1a算法。
问题就在这:这两个算法算出来的哈希值完全不一样!
Claude Code的二进制文件是用 Bun 打包的,所以它走的是 Bun.hash 的逻辑。Ru果你手贱用 Node.js 写脚本,就算你算出了“传说龙”,写入配置后重启Claude Code,开出来的可Neng是一只普通的“团子”。因为算法对不上,结果南辕北辙。
所以切记,一定要用 Bun 来跑脚本。而且Zui好把 Bun 升级到Zui新版,免得底层实现有细微差异导致翻车。
bun upgrade
脚本逻辑复现
我们要Zuo的,就是把源码里的 Mulberry32 算法、getUserSeed 逻辑、以及属性抽取的顺序完整地复刻下来。
比如我们要找一只“传说、龙、闪光”的宠物,脚本大概会长这样:
for {
// 1. 随机生成一个符合格式的 userID
const uid = randomBytes.toString;
// 2. 用 Bun.hash 计算种子
const seed = hashString;
// 3. 初始化随机数生成器
const rng = mulberry32;
// 4. 按顺序抽取属性
const rarity = rollRarity; // 必须先抽稀有度
const species = pick; // 再抽物种
// ... 其他属性
// 5. 检查是否符合目标
if {
console.log;
break;
}
}
听着挺复杂,其实跑起来极快。因为全是纯数学运算,没有网络请求,也没有文件读写,现代CPU每秒Neng处理几十万次循环。基本上一眨眼的功夫,脚本就Neng帮你刷出一只极品宠物。
实操指南:如何安全地“换”宠物好了理论讲完了咱们来点实际的。整个操作过程非常安全,完全不用担心封号或者数据丢失,因为这只是修改本地配置文件。
第一步:准备环境确保你安装了 Bun,并且你的 Claude Code 是通过 API Key运行的,而不是官方OAuth登录。Ru果是OAuth登录,你需要先退出或者处理掉那个 accountUuid。
你Ke以自己写脚本,也Ke以用现成的工具,比如社区里大佬们Zuo的 cc-buddy 或者 any-buddy。这些工具把复杂的逻辑dou封装好了只需要你点点鼠标,选择你想要的物种、稀有度、帽子样式,它就会自动帮你搜索对应的 userID。
比如我就想要一只“戴皇冠的闪光龙”。设置好目标,点击开始,不到一秒钟,工具就告诉我找到了。
第三步:修改配置拿到新的 userID 后打开你的配置文件 ~/.claude.json。
把旧的 userID 删掉,把新的粘贴进去。Ru果文件里有 companion 字段,也建议删掉,让它重新生成。
# 1. 编辑配置文件
vim ~/.claude.json
# 2. 替换 userID 字段
# "userID": "这里填脚本生成的那个十六进制字符串"
# 3. 保存退出
第四步:见证奇迹
重启 Claude Code,
输入 /buddy。恭喜你!一只金光闪闪、戴着皇冠的传说龙就会出现在你的屏幕左下角。那种成就感,简直比修好一个Bug还爽。
写到这肯定有同学会问:这样暴力修改本地文件,会不会把我的搞崩了?会不会被Anthropic封号?
这里统一解答一下大家放心。
1. 会不会损坏本地文件?
完全不会。脚本只动了一个字段 userID。这个配置文件本身就存的是主题色、遥测ID这些无关紧要的信息。就算你手滑改错了大不了把 ~/.claude.json 删了Claude Code 下次启动会自动重新生成一个新的,跟重装软件一样干净。你的对话记录、项目文件dou在别的地方,完全不受影响。
2. 会不会被封号?
想多了。这完全是离线操作,不发送任何网络请求,Anthropic 的服务器根本不知道你跑了脚本。而且 userID 本质上就是个本地标识符,跟你的API额度、账单没有任何关系。它不是你的账号密码,改它就像改一下编辑器的背景色一样安全。
3. 过程可逆吗?
当然可逆。Ru果你不喜欢新宠物,或者想回原来的,只要把旧的 userID 改回去就行。或者干脆删掉配置文件,让它随机生成一个新的。
折腾完这一圈,kan着屏幕里那只威风凛凛的金色龙,心里还是挺满足的。虽然这本质上只是愚人节的一个小彩蛋,没有任何生产力加成,也不会帮我多写一行代码。但是在一个人对着黑漆漆的终端Debug到凌晨两点的深夜,旁边蹲着一只会冒爱心、偶尔还会吐槽你的小动物,那种孤独感似乎真的减轻了不少。
技术有时候是冰冷的,但技术带来的小确幸是温暖的。Ru果你也是 Claude Code 的用户,不妨也试试这个“炼金术”,去刷一只属于你自己的传说宠物吧。毕竟谁不想在枯燥的代码世界里当一次“欧皇”呢?
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback