Claude Code Buddy izmjena vodič: Kako dobiti sjajnog legendarno ljubimca

4/2/2026
5 min read

Claude Code Buddy izmjena vodič: Kako dobiti sjajnog legendarno ljubimca

  • aprila 2026. godine, Anthropic je tiho pokrenuo funkciju uskršnjeg jajeta u verziji Claude Code 2.1.89 — /buddy sistem ljubimaca. Kada u terminal unesete /buddy, mala životinja u ASCII stilu će "izlegnuti" pored vašeg ulaznog okvira, prateći vas dok pišete kod i komentarišete bugove.
  • Svaki Buddy se generiše putem determinističkog algoritma na osnovu ID-a računa, što znači da će isti račun uvijek dobiti istog ljubimca. Međutim, promjenom userID-a u konfiguracionoj datoteci, možemo "ponovo izabrati" željenog ljubimca. Ovaj članak će detaljno objasniti princip algoritma i kompletnu skriptu za izmjenu.

    I. Pregled Buddy sistema

    18 vrsta ljubimaca

    Sistem trenutno sadrži 18 simpatičnih vrsta:

    • duck - patka (klasično Rubber Duck Debugging)

    • goose - guska (nevaljalac)

    • blob - žele (mekan i neodređen)

    • cat - mačka (hladna i ponosna)

    • dragon - zmaj (moćna zaštita)

    • octopus - hobotnica (mnoštvo misli)

    • owl - sova (mudri mentor)

    • penguin - pingvin (formalno prisustvo)

    • turtle - kornjača (stabilna i pouzdana)

    • snail - puž (polako ali sigurno)

    • ghost - duh (neuhvatljiv)

    • axolotl - aksolotl (sladak i iscjeljujući)

    • capybara - kapibara (filozofski majstor)

    • cactus - kaktus (topla biljka)

    • robot - robot (racionalnost iznad svega)

    • rabbit - zec (živahno)

    • mushroom - gljiva (tiho posmatranje)

    • chonk - debeli (okrugli)

    5 nivoa rijetkosti

    • Common (običan) - 60% šanse, bez ukrasa

    • Uncommon (rijedak) - 25% šanse, otključava šešir

    • Rare (rijetko) - 10% šanse, više ukrasa

    • Epic (epičan) - 4% šanse, ekskluzivni ukras

    • Legendary (legendarno) - 1% šanse, vrhunski ukras
    Pored toga, postoji i nezavisna 1% šansa za sjaj (Shiny), sjajni ljubimci imaju animaciju u duginim bojama! Šansa za sjajnog legendarnog ljubimca je 1% × 1% = 0.01%, otprilike jedan od deset hiljada.

    II. Dubinska analiza principa algoritma

    Generisanje Buddy-a koristi deterministički slučajni algoritam, osnovni proces je sledeći:

    1. Spajanje seed stringa

    const SALT = "friend-2026-401"; // Uskršnje jaje za 1. april const key = userId + SALT;

    Salt vrednost friend-2026-401 sadrži 401 što predstavlja 1. april — pažljivo dizajnirano uskršnje jaje.

    2. FNV-1a 32-bitni hash

    Pretvaranje seed stringa u 32-bitni ceo broj:

    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

    Inicijalizacija generatora pseudo slučajnih brojeva sa hash vrednošću: 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 je često korišten lagani PRNG u razvoju igara, pogodan za proceduralno generisanje i padanje plijena.

    4. Izvlačenje rijetkosti (ključ!)

    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" ];[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]]- Izmjena konfiguracije# Uredi ~/.claude.json cat ~/.claude.json | jq '.userID = "tvojnoviuserID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json

    • Ponovno pokretanje Claude Code,upisivanje /buddy će prikazati novog ljubimca!

    Pet, princip dizajna protiv prevara

    Dizajn Claude Code-a je veoma pametan, koristi arhitekturu odvajanja kostura (Bones) i duše (Soul)

    • Bones(kostur):vrsta, rijetkost, izgled, atributi——svaki put se ponovo izračunava iz userID-a, nikada se ne čuva

    • Soul(duša):ime, opis karaktera——čuva se u lokalnoj konfiguraciji
    To znači da čak i ako direktno uređujete polje rarity u konfiguracijskoj datoteci, sistem će prilikom čitanja prebrisati rezultat sa roll(userID). Komentar je vrlo jasan: uređivanje config.companion ne može lažirati rijetkost.

    Ali userID se može mijenjati, što je suština metode u ovom članku.

    Šest, zaključak

    Claude Code Buddy je pažljivo dizajnirana easter egg funkcija, koja spaja:

    • Deterministička slučajnost:klasična kombinacija FNV-1a + Mulberry32

    • Mehanizam izvlačenja:5 nivoa rijetkosti + 1% sjaj, suština Gacha igara

    • Dizajn protiv prevara:odvajanje kostura/duše, osiguranje pravednosti

    • Aprilska šala:salt vrijednost skriva vremensku oznaku 1. aprila
    Sada probajte! Želim vam sreću da dobijete sjajnog legendarno Buddy-a!

    Reference:

    • Claude Code 2.1.89 izvorni kod procurio (npm source map incident)

    • Juejin: "Duboko istraživanje Claude Code Buddy moda: deterministički algoritam slučajnosti iza kaktusa"- DEV.to: Rasklopio sam izvorni kod Claude-a
    Published in Technology

    You Might Also Like