Claude Code Buddy Wijzigingsgids: Hoe je een Glanzend Legendarisch Huisdier Krijgt

4/2/2026
5 min read

Claude Code Buddy Wijzigingsgids: Hoe je een Glanzend Legendarisch Huisdier Krijgt

Op 1 april 2026 heeft Anthropic stilletjes een paasei-functie gelanceerd in versie Claude Code 2.1.89 - /buddy huisdier systeem. Door /buddy in de terminal in te voeren, zal er een ASCII-stijl klein dier "uitkomen" naast je invoerveld, dat je helpt met coderen en het uiten van frustraties over bugs.

Elk Buddy wordt gegenereerd door het account-ID via een deterministisch algoritme, wat betekent dat hetzelfde account altijd hetzelfde huisdier krijgt. Maar door de userID in het configuratiebestand te wijzigen, kunnen we ons gewenste huisdier "herrollen". Dit artikel zal de algoritmeprincipes en het volledige wijzigingsscript in detail uitleggen.

I. Overzicht van het Buddy Systeem

18 Soorten Huisdieren

Het systeem bevat momenteel 18 schattige soorten:

  • duck - Eend (de klassieke Rubber Duck Debugging)

  • goose - Gans (ondeugend)

  • blob - Jelly (zacht en amorf)

  • cat - Kat (koel en trots)

  • dragon - Draak (indrukwekkende beschermer)

  • octopus - Octopus (multithreading denken)

  • owl - Uil (wijze mentor)

  • penguin - Pinguïn (in formele kleding)

  • turtle - Schildpad (betrouwbaar en stabiel)

  • snail - Slak (langzame maar zorgvuldige arbeid)

  • ghost - Spook (onzichtbaar)

  • axolotl - Axolotl (schattig en genezend)

  • capybara - Capibara (zen meester)

  • cactus - Cactus (warmhartige plant)

  • robot - Robot (rationeel boven alles)

  • rabbit - Konijn (levendig)

  • mushroom - Paddenstoel (stil observerend)

  • chonk - Dikke (ronde en schattige)

5 Niveaus van Zeldzaamheid

  • Common (Gewoon) - 60% kans, zonder hoeddecoratie

  • Uncommon (Ongewoon) - 25% kans, ontgrendelt hoed

  • Rare (Zeldzaam) - 10% kans, meer decoraties

  • Epic (Episch) - 4% kans, exclusieve decoraties

  • Legendary (Legendarisch) - 1% kans, topdecoraties
Daarnaast is er een aparte 1% kans op Glanzend (Shiny), glanzende huisdieren hebben een regenboogkleurige glansanimatie! De kans op een glanzend legendarisch huisdier is 1% × 1% = 0.01%, ongeveer één op de tienduizend.

II. Diepgaande Analyse van het Algoritme

De generatie van Buddy maakt gebruik van een deterministische willekeurige algoritme, het kernproces is als volgt:

1. Samenvoegen van Zaadstring

const SALT = "friend-2026-401"; // 1 april, aprilgrap paasei const key = userId + SALT;

De zoutwaarde friend-2026-401 vertegenwoordigt 401 op 1 april - een zorgvuldig ontworpen aprilgrap paasei.

2. FNV-1a 32-bit Hash

Zet de zaadstring om in een 32-bits geheel getal:

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

Initialiseer de pseudo-willekeurige getallengenerator met de hashwaarde: 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 is een veelgebruikte lichte PRNG in game-ontwikkeling, geschikt voor procedurele generatie en loot drop tabellen.

4. Rariteit Extractie (Belangrijk!)

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" ];- Sla het script op: Sla de bovenstaande code op als buddy-reroll.js

  • Voer het script uit: node buddy-reroll.js (je kunt een soort opgeven: node buddy-reroll.js dragon)

  • Kopieer userID: Het script zal een userID van een shiny legendary Buddy uitgeven.- Configuratie Wijzigen
# Bewerk ~/.claude.json cat ~/.claude.json | jq '.userID = "je nieuwe userID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json

  • Herstart Claude Code,typ /buddy om je nieuwe huisdier te zien!

V. Ontwerpprincipes tegen Valsspelen

Het ontwerp van Claude Code is zeer ingenieus en maakt gebruik van een scheiding tussen Skelet (Bones) en Ziel (Soul):

  • Bones (Skelet):Soort, zeldzaamheid, uiterlijk, eigenschappen——wordt elke keer opnieuw berekend op basis van userID, nooit gepersistent

  • Soul (Ziel):Naam, karakterbeschrijving——wordt gepersistent opgeslagen in de lokale configuratie
Dit betekent dat zelfs als je het zeldzaamheidsveld in het configuratiebestand direct bewerkt, het systeem bij het lezen de resultaten van roll(userID) zal overschrijven. De opmerking is heel duidelijk: editing config.companion can't fake a rarity.

Maar de userID zelf kan worden gewijzigd, en dat is de basis van de methode in dit artikel.

VI. Samenvatting

Claude Code Buddy is een zorgvuldig ontworpen easter egg-functie, die het volgende combineert:

  • Deterministische Randomness:De klassieke combinatie van FNV-1a + Mulberry32

  • Kaart Trek Mechanisme:5-niveau zeldzaamheid + 1% glanzend, de essentie van Gacha-spellen

  • Anti-Valsspelen Ontwerp:scheiding tussen skelet/ziel, zorgt voor eerlijkheid

  • April Fools' Easter Egg:de salt-waarde bevat een timestamp van 1 april
Probeer het nu uit! We wensen je veel succes met het trekken van je gewenste glanzende legendarische Buddy!

Referenties:

  • Claude Code 2.1.89 broncode lek (npm source map-incident)

  • Juejin: "Diepgaande Analyse van Claude Code Buddy Mode: De deterministische random algoritme achter een cactus"- DEV.to: Ik heb de Claude codebroncode uit elkaar gehaald
Published in Technology

You Might Also Like