Panduan Pengubahsuaian Claude Code Buddy: Cara Mendapatkan Haiwan Peliharaan Legenda Berkilau

4/2/2026
5 min read

Panduan Pengubahsuaian Claude Code Buddy: Cara Mendapatkan Haiwan Peliharaan Legenda Berkilau

Pada 1 April 2026, Anthropic secara senyap melancarkan satu fungsi Easter egg dalam versi Claude Code 2.1.89 — sistem haiwan peliharaan /buddy. Dengan memasukkan /buddy dalam terminal, seekor haiwan kecil gaya ASCII akan "menetas" di sebelah kotak input anda, menemani anda menulis kod dan mengadu tentang bug.

Setiap Buddy dihasilkan berdasarkan ID akaun melalui algoritma deterministik, yang bermaksud akaun yang sama akan sentiasa mendapatkan haiwan peliharaan yang sama. Namun, dengan mengubah suai userID dalam fail konfigurasi, kita boleh "roll semula" haiwan peliharaan yang diingini. Artikel ini akan menerangkan secara terperinci prinsip algoritma dan skrip pengubahsuaian yang lengkap.

I. Gambaran Keseluruhan Sistem Buddy

18 Jenis Spesies

Sistem ini kini mengandungi 18 spesies comel:

  • duck - Itik (Debugging Rubber Duck yang klasik)

  • goose - Angsa (nakal dan mengacau)

  • blob - Jeli (lembut dan tidak berbentuk)

  • cat - Kucing (dingin dan sombong)

  • dragon - Naga (pelindung yang berkuasa)

  • octopus - Sotong (berfikir dalam pelbagai benang)

  • owl - Burung Hantu (mentor yang bijaksana)

  • penguin - Penguin (hadir dengan pakaian rasmi)

  • turtle - Penyu (stabil dan boleh dipercayai)

  • snail - Siput (kerja perlahan tetapi berkualiti)

  • ghost - Hantu (muncul dan hilang)

  • axolotl - Axolotl (comel dan menyembuhkan)

  • capybara - Capybara (guru yang tenang)

  • cactus - Kaktus (tumbuhan yang menyentuh hati)

  • robot - Robot (rasional yang utama)

  • rabbit - Arnab (aktif dan ceria)

  • mushroom - Cendawan (memerhati dengan tenang)

  • chonk - Gemuk (bulat dan comel)

5 Tahap Keterujaan

  • Common (Biasa) - 60% kemungkinan, tanpa hiasan topi

  • Uncommon (Jarang) - 25% kemungkinan, membuka kunci topi

  • Rare (Langka) - 10% kemungkinan, lebih banyak hiasan

  • Epic (Epik) - 4% kemungkinan, hiasan eksklusif

  • Legendary (Legenda) - 1% kemungkinan, hiasan teratas
Selain itu, terdapat 1% kemungkinan berkilau (Shiny) yang berasingan, haiwan peliharaan berkilau mempunyai animasi cahaya pelangi! Kemungkinan haiwan peliharaan legenda berkilau adalah 1% × 1% = 0.01%, kira-kira satu dalam sepuluh ribu.

II. Analisis Mendalam Prinsip Algoritma

Penghasilan Buddy menggunakan algoritma acak deterministik, aliran utama adalah seperti berikut:

1. Penggabungan String Benih

const SALT = "friend-2026-401"; // Easter egg April 1 const key = userId + SALT;

Nilai Salt friend-2026-401 di mana 401 mewakili 1 April — satu Easter egg April Fool yang direka dengan teliti.

2. Hash 32-bit FNV-1a

Menukarkan string benih kepada integer 32 bit:

function hashString(s) { let h = 2166136261; // Asas offset FNV for (let i = 0; i < s.length; i++) { h ^= s.charCodeAt(i); h = Math.imul(h, 16777619); // FNV prime } return h >>> 0; }

3. PRNG Mulberry32

Menggunakan nilai hash untuk menginisialisasi penghasil nombor rawak pseudo: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 adalah PRNG ringan yang sering digunakan dalam pembangunan permainan, sesuai untuk penghasilan secara programatik dan jadual jatuhan loot.

4. Pengambilan Rarity (Kunci!)

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; }

// PRNG Mulberry32 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" ];[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]]

  • Mengubah Suai Konfigurasi
# Edit ~/.claude.json cat ~/.claude.json | jq '.userID = "userID baru anda" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json

  • Mulakan semula Claude Code,masukkan /buddy untuk melihat haiwan peliharaan baru anda!

Lima, Prinsip Reka Bentuk Anti-Penipuan

Reka bentuk Claude Code sangat bijak, menggunakan pemisahan antara rangka (Bones) dan jiwa (Soul):

  • Bones(rangka):spesies, tahap kelangkaan, penampilan, atribut——setiap kali dikira semula dari userID, tidak pernah disimpan secara kekal

  • Soul(jiwa):nama, deskripsi watak——disimpan secara kekal dalam konfigurasi tempatan
Ini bermakna walaupun anda mengedit medan rarity dalam fail konfigurasi, sistem akan menimpa hasil dengan roll(userID) semasa membaca. Komen ditulis dengan jelas: editing config.companion can't fake a rarity.

Tetapi userID itu sendiri boleh diubah, inilah prinsip kaedah dalam artikel ini.

Enam, Kesimpulan

Claude Code Buddy adalah fungsi easter egg yang direka dengan teliti, menggabungkan:

  • Kebolehan Rawak yang Pasti:gabungan klasik FNV-1a + Mulberry32

  • Mekanisme Tarik Kad:tahap kelangkaan 5 + 1% bersinar, intipati permainan Gacha

  • Reka Bentuk Anti-Penipuan:pemisahan rangka/jiwa, memastikan keadilan

  • Easter Egg April Fool:nilai garam menyembunyikan cap waktu 1 April
Cuba sekarang! Semoga anda mendapat Buddy legenda bersinar yang anda inginkan!

Rujukan

  • Kebocoran Sumber Claude Code 2.1.89(kemalangan peta sumber npm)

  • Juejin:《Mendalami Mod Claude Code Buddy: Algoritma Rawak Pasti di Sebalik Kaktus》- DEV.to: Saya Mengoyakkan Kode Sumber Claude
Published in Technology

You Might Also Like