Claude Code Buddy ਸੋਧ ਗਾਈਡ: ਕਿਵੇਂ ਚਮਕਦਾਰ ਪੁਰਾਣੀ ਪਾਲਤੂ ਪ੍ਰਾਪਤ ਕਰੀਏ
Claude Code Buddy ਸੋਧ ਗਾਈਡ: ਕਿਵੇਂ ਚਮਕਦਾਰ ਪੁਰਾਣੀ ਪਾਲਤੂ ਪ੍ਰਾਪਤ ਕਰੀਏ
2026年4月1日,Anthropic 在 Claude Code 2.1.89 版本中悄然上线了一个彩蛋功能——/buddy 宠物系统。在终端输入 /buddy 后,一只 ASCII 风格的小动物会"孵化"在你的输入框旁边,陪你写代码、吐槽 bug。
每只 Buddy 由账号 ID 通过确定性算法生成,意味着同一个账号永远获得同一只宠物。但通过修改配置文件中的 userID,我们可以"重ROLL"出心仪的宠物。本文将详细介绍算法原理和完整的修改脚本。
一、Buddy 系统概览
18 种物种
系统目前包含 18 种可爱的物种:
- duck - ਬਤਖ (ਕਲਾਸਿਕ ਰਬਰ ਬਤਖ ਡੀਬੱਗਿੰਗ)
- goose - ਹੰਸ (ਸ਼ਰਾਰਤੀ)
- blob - ਜੈਲੀ (ਨਰਮ ਅਤੇ ਅਸਥਿਰ)
- cat - ਬਿੱਲੀ (ਠੰਡਾ ਅਤੇ ਅਹੰਕਾਰ)
- dragon - ਡ੍ਰੈਗਨ (ਸ਼ਕਤੀਸ਼ਾਲੀ ਰਾਖੀ)
- octopus - ਆਕਟੋਪਸ (ਬਹੁ-ਥਰੇਡ ਸੋਚ)
- owl - ਉਲੂ (ਜਾਣਕਾਰ ਗੁਰੂ)
- penguin - ਪੇਂਗੁਇਨ (ਫਾਰਮਲ ਪਹੁੰਚ)
- turtle - ਕੱਛੂਆ (ਮਜ਼ਬੂਤ ਅਤੇ ਭਰੋਸੇਯੋਗ)
- snail - ਘੋੜਾ (ਧੀਰੇ ਕੰਮ ਨਾਲ ਸੁੰਦਰਤਾ)
- ghost - ਭੂਤ (ਅਚਾਨਕ ਆਉਣਾ ਜਾਂ ਜਾਣਾ)
- axolotl - ਐਕਸੋਲੋਟਲ (ਪਿਆਰਾ ਅਤੇ ਠੀਕ ਕਰਨ ਵਾਲਾ)
- capybara - ਵਾਟਰ ਬੋਆਰ (ਬੁੱਧੀਮਾਨ ਮਾਸਟਰ)
- cactus - ਕੈਕਟਸ (ਦਿਲ ਨੂੰ ਛੂਹਣ ਵਾਲਾ ਪੌਦਾ)
- robot - ਰੋਬੋਟ (ਤਰਕ ਦੇ ਅਧੀਨ)
- rabbit - ਖਰਗੋਸ਼ (ਜਿਊਂਦਾ ਅਤੇ ਚੁਸਤ)
- mushroom - ਖੁੰਭ (ਚੁੱਪ ਚਾਪ ਨਿਗਾਹ ਰੱਖਣਾ)
- chonk - ਮੋਟਾ (ਗੋਲ ਅਤੇ ਗੋਲਾਈ ਵਾਲਾ)
5 级稀有度
- Common(ਆਮ) - 60% ਸੰਭਾਵਨਾ, ਬਿਨਾਂ ਟੋਪੀ ਸਜਾਵਟ
- Uncommon(ਕਮਨ) - 25% ਸੰਭਾਵਨਾ, ਟੋਪੀ ਖੋਲ੍ਹਣਾ
- Rare(ਦੁਲਬ) - 10% ਸੰਭਾਵਨਾ, ਹੋਰ ਸਜਾਵਟ
- Epic(ਐਪੀਕ) - 4% ਸੰਭਾਵਨਾ, ਵਿਸ਼ੇਸ਼ ਸਜਾਵਟ
- Legendary(ਪੁਰਾਣੀ) - 1% ਸੰਭਾਵਨਾ, ਉੱਚਤਮ ਸਜਾਵਟ
二、算法原理深度解析
Buddy 的生成采用确定性随机算法,核心流程如下:
1. 种子字符串拼接
const SALT = "friend-2026-401"; // 4月1日愚人节彩蛋 const key = userId + SALT;
Salt 值 friend-2026-401 中的 401 代表 4月1日——一个精心设计的愚人节彩蛋。
2. FNV-1a 32-bit 哈希
将种子字符串转换为 32 位整数:
function hashString(s) { let h = 2166136261; // FNV offset basis for (let i = 0; i < s.length; i++) { h ^= s.charCodeAt(i); h = Math.imul(h, 16777619); // FNV prime } return h >>> 0; }
3. Mulberry32 PRNG
用哈希值初始化伪随机数生成器:function mulberry32(seed) { let a = seed >>> 0; return function() { a |= 0; a = (a + 0x6d2b79f5) | 0; let t = Math.imul(a ^ (a >>> 15), 1 | a); t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t; return ((t ^ (t >>> 14)) >>> 0) / 4294967296; }; }
Mulberry32 ਖੇਡ ਵਿਕਾਸ ਵਿੱਚ ਆਮ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਹਲਕਾ PRNG ਹੈ, ਜੋ ਪ੍ਰੋਗ੍ਰਾਮਿਕ ਤੌਰ 'ਤੇ ਬਣਾਉਣ ਅਤੇ ਲੂਟ ਡ੍ਰਾਪ ਟੇਬਲ ਲਈ ਉਚਿਤ ਹੈ।
4. ਵਿਲੱਖਣਤਾ ਨਿਕਾਸ (ਮਹੱਤਵਪੂਰਨ!)
const RARITIES = ["common", "uncommon", "rare", "epic", "legendary"]; const RARITYWEIGHTS = { common: 60, uncommon: 25, rare: 10, epic: 4, legendary: 1 };
function rollRarity(rng) { const total = 60 + 25 + 10 + 4 + 1; // = 100 let roll = rng() * total; for (const rarity of RARITIES) { roll -= RARITYWEIGHTS[rarity]; if (roll < 0) return rarity; } return "common"; }
重要:RARITIES 数组的顺序必须是从低到高,这是加权随机选择的标准实现。
三、完整 Reroll 脚本
以下脚本可以搜索并生成闪光传说级 Buddy 的 userID:
// Claude Code Buddy Reroll 脚本 // 基于 Claude Code 源码逆向分析
// FNV-1a 32-bit hash function hashString(s) { let h = 2166136261; for (let i = 0; i < s.length; i++) { h ^= s.charCodeAt(i); h = Math.imul(h, 16777619); } return h >>> 0; }
// Mulberry32 PRNG function mulberry32(seed) { let a = seed >>> 0; return function() { a |= 0; a = (a + 0x6d2b79f5) | 0; let t = Math.imul(a ^ (a >>> 15), 1 | a); t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t; return ((t ^ (t >>> 14)) >>> 0) / 4294967296; }; }
const SPECIES = [ "duck", "goose", "blob", "cat", "dragon", "octopus", "owl", "penguin", "turtle", "snail", "ghost", "axolotl", "capybara", "cactus", "robot", "rabbit", "mushroom", "chonk" ];- ਸਕ੍ਰਿਪਟ ਨੂੰ ਸੇਵ ਕਰੋ: ਉਪਰੋਕਤ ਕੋਡ ਨੂੰ buddy-reroll.js ਦੇ ਤੌਰ 'ਤੇ ਸੇਵ ਕਰੋ
- ਸਕ੍ਰਿਪਟ ਚਲਾਓ:
node buddy-reroll.js(ਨਿਸ਼ਚਿਤ ਪ੍ਰਜਾਤੀ ਦੇ ਲਈ:node buddy-reroll.js dragon)
- userID ਨਕਲ ਕਰੋ: ਸਕ੍ਰਿਪਟ ਇੱਕ ਚਮਕਦਾਰ ਪ੍ਰਸਿੱਧ Buddy ਦਾ userID ਪ੍ਰਦਾਨ ਕਰੇਗਾ- ਕਨਫਿਗਰੇਸ਼ਨ ਨੂੰ ਸੋਧੋ:
# ਸੰਪਾਦਨ ਕਰੋ ~/.claude.json cat ~/.claude.json | jq '.userID = "ਤੁਹਾਡਾ ਨਵਾਂ userID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json
- Claude Code ਨੂੰ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ,ਇਨਪੁਟ
/buddyਨਾਲ ਨਵਾਂ ਪਾਲਤੂ ਦੇਖ ਸਕਦੇ ਹੋ!
ਪੰਜ, ਧੋਖਾਧੜੀ ਰੋਕਣ ਦੇ ਡਿਜ਼ਾਈਨ ਦੇ ਸਿਧਾਂਤ
Claude Code ਦਾ ਡਿਜ਼ਾਈਨ ਬਹੁਤ ਹੀ ਚਤੁਰ ਹੈ, ਜਿਸ ਵਿੱਚ ਹੱਡੀਆਂ (Bones) ਅਤੇ ਆਤਮਾ (Soul) ਨੂੰ ਵੱਖਰਾ ਕਰਨ ਵਾਲਾ ਢਾਂਚਾ ਵਰਤਿਆ ਗਿਆ ਹੈ:
- Bones(ਹੱਡੀਆਂ):ਜਾਤੀ, ਵਿਰਲੇਪਨ, ਦਿੱਖ, ਗੁਣ——ਹਰ ਵਾਰੀ userID ਤੋਂ ਦੁਬਾਰਾ ਗਿਣਤੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਕਦੇ ਵੀ ਪੱਕੀ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ
- Soul(ਆਤਮਾ):ਨਾਮ, ਪਾਤਰ ਦਾ ਵਰਣਨ——ਸਥਾਨਕ config ਵਿੱਚ ਪੱਕੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ
roll(userID) ਦੇ ਨਤੀਜੇ ਨਾਲ ਢੱਕ ਦੇਵੇਗਾ। ਟਿੱਪਣੀ ਬਹੁਤ ਸਾਫ਼ ਹੈ: editing config.companion can't fake a rarity。
ਪਰ userID ਆਪ ਹੀ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਇਹ ਇਸ ਲੇਖ ਦੇ ਤਰੀਕੇ ਦਾ ਸਿਧਾਂਤ ਹੈ।
ਛੇ, ਨਿਸ਼ਕਰਸ਼
Claude Code Buddy ਇੱਕ ਚੰਗੀ ਤਰ੍ਹਾਂ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਐਗਗ ਫੰਕਸ਼ਨ ਹੈ, ਜੋ ਕਿ:
- ਨਿਸ਼ਚਿਤਤਾ ਯਾਦ੍ਰਿਤ:FNV-1a + Mulberry32 ਦਾ ਕਲਾਸਿਕ ਸੰਯੋਜਨ
- ਕਾਰਡ ਖਿੱਚਣ ਦੀ ਯੋਜਨਾ:5 ਪੱਧਰ ਦਾ ਵਿਰਲਾ + 1% ਚਮਕਦਾਰ,Gacha ਖੇਡਾਂ ਦੀ ਰੂਹ
- ਧੋਖਾਧੜੀ ਰੋਕਣ ਦਾ ਡਿਜ਼ਾਈਨ:ਹੱਡੀਆਂ/ਆਤਮਾ ਵੱਖਰਾ, ਨਿਆਂ ਦੀ ਯਕੀਨੀ ਬਣਾਉਣਾ
- ਮੂਲਾਂਕਣ ਦਾ ਐਗਗ:salt ਮੁੱਲ ਵਿੱਚ 4 ਅਪ੍ਰੈਲ 1 ਦੀ ਸਮਾਂ ਸਟੈਂਪ ਲੁਕਾਈ ਗਈ ਹੈ

