Claude Code Buddy módosítási útmutató: Hogyan szerezd meg a fénylő legendás szörnyet

4/2/2026
6 min read

Claude Code Buddy módosítási útmutató: Hogyan szerezd meg a fénylő legendás szörnyet

  • április 1-jén az Anthropic csendben bevezette a Claude Code 2.1.89 verziójában a /buddy szörny rendszer-t. A terminálba beírva a /buddy parancsot, egy ASCII stílusú kis állat "kibújik" a beviteli meződ mellett, hogy veled írjon kódot és panaszkodjon a hibákra.
  • Minden Buddy a fiók ID-jából egy determinisztikus algoritmus segítségével generálódik, ami azt jelenti, hogy ugyanaz a fiók mindig ugyanazt a szörnyet kapja. De a konfigurációs fájlban a userID módosításával "újra dobhatjuk" a kívánt szörnyet. Ez a cikk részletesen bemutatja az algoritmus elvét és a teljes módosító szkriptet.

    I. Buddy rendszer áttekintése

    18 fajta szörny

    A rendszer jelenleg 18 aranyos fajtát tartalmaz:

    • duck - kacsa (klasszikus Rubber Duck Debugging)

    • goose - lúd (csintalan)

    • blob - zselé (puha és formátlan)

    • cat - macska (hűvös és büszke)

    • dragon - sárkány (domináló védelmező)

    • octopus - polip (többszálú gondolkodás)

    • owl - bagoly (bölcs mentor)

    • penguin - pingvin (formális megjelenés)

    • turtle - teknős (megbízható és stabil)

    • snail - csiga (lassú, de precíz munka)

    • ghost - szellem (rejtélyes)

    • axolotl - axolotl (aranyos és gyógyító)

    • capybara - vízidisznó (buddhista mester)

    • cactus - kaktusz (meleg szívű növény)

    • robot - robot (racionális)

    • rabbit - nyúl (élénk és ugráló)

    • mushroom - gomba (csendes megfigyelő)

    • chonk - kövérke (kerek és aranyos)

    5 szintű ritkaság

    • Common (általános) - 60% esély, nincs sapka díszítés

    • Uncommon (ritka) - 25% esély, sapka feloldása

    • Rare (nagyon ritka) - 10% esély, több díszítés

    • Epic (epikus) - 4% esély, exkluzív díszítés

    • Legendary (legendás) - 1% esély, csúcs díszítés
    Ezen kívül van egy külön 1% fénylő (Shiny) esély, a fénylő szörnyek szivárvány színű animációval rendelkeznek! A fénylő legendás szörnyek esélye 1% × 1% = 0.01%, körülbelül tízezerből egy.

    II. Algoritmus elv mélyreható elemzése

    A Buddy generálása determinista véletlen algoritmust használ, a fő folyamat a következő:

    1. Magvető karakterlánc összefűzése

    const SALT = "friend-2026-401"; // április 1-i bolondok napi tojás const key = userId + SALT;

    A só érték friend-2026-401 401-je április 1-jét jelenti - egy gondosan megtervezett bolondok napi tojás.

    2. FNV-1a 32-bites hash

    A magvető karakterláncot 32 bites egész számmá alakítja:

    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

    A hash értéket használja a pszeudo véletlenszám-generátor inicializálásához: 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 egy könnyű PRNG, amelyet gyakran használnak a játékfejlesztésben, alkalmas programozott generálásra és a loot csepp táblákhoz.

    4. Ritkasági kiválasztás (kulcsfontosságú!)

    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" ];const RARITIES = ["common", "uncommon", "rare", "epic", "legendary"]; const RARITYWEIGHTS = { common: 60, uncommon: 25, rare: 10, epic: 4, legendary: 1 }; const SALT = "friend-2026-401";

    function pick(rng, arr) { return arr[Math.floor(rng() arr.length)]; }

    function rollRarity(rng) { const total = Object.values(RARITYWEIGHTS).reduce((a, b) => a + b, 0); let roll = rng() total; for (const rarity of RARITIES) { roll -= RARITY_WEIGHTS[rarity]; if (roll < 0) return rarity; } return "common"; }

    function testUserId(userId) { const key = userId + SALT; const seed = hashString(key); const rng = mulberry32(seed); const rarity = rollRarity(rng); const species = pick(rng, SPECIES); const shiny = rng() < 0.01; return { rarity, species, shiny }; }

    function randomUserId() { let id = ""; for (let i = 0; i < 64; i++) { id += Math.floor(Math.random() 16).toString(16); } return id; }

    // Keresés fényes legendákra console.log("Keresés fényes legenda Buddy... "); const targetSpecies = process.argv[2] || null;

    while (true) { const userId = randomUserId(); const result = testUserId(userId);

    if (result.rarity === "legendary" && result.shiny) { if (!targetSpecies || result.species === targetSpecies) { console.log("Megtaláltuk!"); console.log("Faj:", result.species); console.log("Ritkaság: legenda"); console.log("Fényes: Igen!"); console.log("userID:", userId); break; } } }

    Négy, Használati lépések

    • Script mentése: Mentse el a fenti kódot buddy-reroll.js néven

    • Script futtatása: node buddy-reroll.js (faj megadása: node buddy-reroll.js dragon)

    • userID másolása: A script kiír egy fényes legenda szintű Buddy userID-ját- Konfiguráció módosítása
    # Szerkeszd a ~/.claude.json fájlt cat ~/.claude.json | jq '.userID = "az új userID-d" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json

    • Indítsd újra a Claude Code-ot, írd be a /buddy parancsot, és máris láthatod az új kedvencedet!

    Öt, Csalás Elleni Tervezési Elvek

    A Claude Code tervezése rendkívül ügyes, a csontok (Bones) és lélek (Soul) elválasztásának architektúráját alkalmazza:

    • Bones (csontok): faj, ritkaság, megjelenés, attribútumok — minden alkalommal a userID alapján újraszámítva, soha nem tartósítva

    • Soul (lélek): név, személyiség leírás — tartósítva a helyi konfigurációban
    Ez azt jelenti, hogy még ha közvetlenül is szerkeszted a konfigurációs fájl ritkaság mezőjét, a rendszer a roll(userID) eredményével felülírja azt olvasáskor. A megjegyzés nagyon világosan fogalmaz: a config.companion szerkesztése nem tudja hamisítani a ritkaságot.

    De a userID maga módosítható, ez a cikk módszerének alapelve.

    Hat, Összegzés

    A Claude Code Buddy egy gondosan megtervezett húsvéti tojás funkció, amely ötvözi:

    • Determinista véletlenszerűség: FNV-1a + Mulberry32 klasszikus kombináció

    • Kártyahúzó mechanizmus: 5 szintű ritkaság + 1% fényes, a Gacha játékok esszenciája

    • Csalás elleni tervezés: csont/lélek elválasztás, a méltányosság biztosítása érdekében

    • Bolondok napja húsvéti tojás: a só érték 4. áprilisi időbélyeget rejt
    Most próbáld ki! Kívánom, hogy megkapd a kívánt fényes legendás Buddy-t!

    Hivatkozások:

    • Claude Code 2.1.89 forráskód kiszivárgása (npm forrás térkép baleset)

    • Juejin: "A Claude Code Buddy mód mélyreható elemzése: egy kaktusz mögötti determinista véletlenszerű algoritmus"- DEV.to: Szétszedtem a Claude forráskódját
    Published in Technology

    You Might Also Like