Claude Code Buddy Änderungsanleitung: Wie man ein schimmerndes legendäres Haustier erhält

4/2/2026
5 min read

Claude Code Buddy Änderungsanleitung: Wie man ein schimmerndes legendäres Haustier erhält

Am 1. April 2026 hat Anthropic heimlich ein Easter Egg-Feature in der Version 2.1.89 von Claude Code eingeführt – /buddy Haustiersystem. Wenn man /buddy im Terminal eingibt, "schlüpft" ein ASCII-Stil kleines Tierchen neben deinem Eingabefeld, um dir beim Programmieren zu helfen und Bugs zu kommentieren.

Jedes Buddy wird durch die Konto-ID mittels eines deterministischen Algorithmus generiert, was bedeutet, dass dasselbe Konto immer dasselbe Haustier erhält. Aber durch die Änderung der userID in der Konfigurationsdatei können wir unser gewünschtes Haustier "neu rollen". Dieser Artikel wird die Algorithmusprinzipien und das vollständige Änderungs-Skript detailliert erläutern.

I. Überblick über das Buddy-System

18 Arten von Spezies

Das System umfasst derzeit 18 niedliche Spezies:

  • duck - Ente (klassisches Rubber Duck Debugging)

  • goose - Gans (frech und schelmisch)

  • blob - Gelee (weich und formbar)

  • cat - Katze (cool und stolz)

  • dragon - Drache (mächtig und beschützend)

  • octopus - Oktopus (multithreaded Denken)

  • owl - Eule (weise Mentorin)

  • penguin - Pinguin (formell gekleidet)

  • turtle - Schildkröte (stabil und zuverlässig)

  • snail - Schnecke (langsame, aber präzise Arbeit)

  • ghost - Geist (schlüpfrig und unauffindbar)

  • axolotl - Axolotl (niedlich und heilend)

  • capybara - Wasserschwein (entspannter Meister)

  • cactus - Kaktus (herzliche Pflanze)

  • robot - Roboter (rational über alles)

  • rabbit - Kaninchen (lebhaft und spritzig)

  • mushroom - Pilz (still beobachtend)

  • chonk - dicker Kerl (rund und knuffig)

5 Stufen der Seltenheit

  • Common (gewöhnlich) - 60% Wahrscheinlichkeit, keine Hut-Dekoration

  • Uncommon (ungewöhnlich) - 25% Wahrscheinlichkeit, Hut freischalten

  • Rare (selten) - 10% Wahrscheinlichkeit, mehr Dekorationen

  • Epic (episch) - 4% Wahrscheinlichkeit, exklusive Dekorationen

  • Legendary (legendär) - 1% Wahrscheinlichkeit, Top-Dekorationen
Zusätzlich gibt es eine separate 1% Shiny-Wahrscheinlichkeit, schimmernde Haustiere haben eine regenbogenfarbene Glanzanimation! Die Wahrscheinlichkeit für ein schimmerndes legendäres Haustier beträgt 1% × 1% = 0,01%, also etwa eins zu zehntausend.

II. Tiefenanalyse der Algorithmusprinzipien

Die Generierung von Buddy verwendet einen deterministischen Zufalls-Algorithmus, der Kernprozess ist wie folgt:

1. Anfügen des Seed-Strings

const SALT = "friend-2026-401"; // 1. April, Aprilscherz-Easter Egg const key = userId + SALT;

Der Salt-Wert friend-2026-401 steht für den 1. April – ein sorgfältig gestaltetes Aprilscherz-Easter Egg.

2. FNV-1a 32-Bit Hash

Umwandlung des Seed-Strings in eine 32-Bit-Ganzzahl:

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

Initialisierung des Pseudo-Zufallszahlengenerators mit dem Hash-Wert: 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 ist ein häufig verwendeter leichter PRNG in der Spieleentwicklung, der sich gut für die prozedurale Generierung und Loot-Drop-Tabellen eignet.

4. Raritäts抽取(关键!)

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" ];- Speichern des Skripts: Speichern Sie den obigen Code als buddy-reroll.js

  • Skript ausführen: node buddy-reroll.js (Sie können die Art angeben: node buddy-reroll.js dragon)

  • Benutzer-ID kopieren: Das Skript gibt eine Benutzer-ID für einen schillernden legendären Buddy aus.- Ändern der Konfiguration
# Bearbeiten von ~/.claude.json cat ~/.claude.json | jq '.userID = "deine neue userID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json

  • Neustart von Claude Code,geben Sie /buddy ein, um Ihr neues Haustier zu sehen!

Fünf, Prinzipien des Betrugschutzes

Das Design von Claude Code ist sehr clever und verwendet eine Trennung von Skelett (Bones) und Seele (Soul):

  • Bones(Skelett):Spezies, Seltenheit, Aussehen, Eigenschaften——wird jedes Mal neu aus userID berechnet, niemals persistent

  • Soul(Seele):Name, Charakterbeschreibung——wird lokal in der Konfiguration gespeichert
Das bedeutet, dass selbst wenn Sie das rarity-Feld in der Konfigurationsdatei direkt bearbeiten, das System beim Lesen das Ergebnis von roll(userID) überschreibt. Der Kommentar ist sehr klar: editing config.companion can't fake a rarity.

Aber die userID selbst kann geändert werden, und das ist das Prinzip der Methode in diesem Artikel.

Sechs, Zusammenfassung

Claude Code Buddy ist eine sorgfältig gestaltete Easter Egg-Funktion, die Folgendes kombiniert:

  • Deterministische Zufälligkeit:Die klassische Kombination von FNV-1a + Mulberry32

  • Zufallskartenmechanismus:5-stufige Seltenheit + 1% Glanz, das Wesen von Gacha-Spielen

  • Betrugschutzdesign:Trennung von Skelett/Seele, um Fairness zu gewährleisten

  • Aprilscherz-Easter Egg:Der Salt-Wert verbirgt einen Zeitstempel vom 1. April
Probieren Sie es jetzt aus! Ich wünsche Ihnen viel Glück beim Ziehen Ihres gewünschten Glanz-Legenden-Buddys!

Referenzen:

  • Claude Code 2.1.89 Quellcode-Leck (npm Source Map Vorfall)

  • Juejin: 《Tiefenanalyse des Claude Code Buddy Modus: Ein deterministischer Zufallsalgorithmus hinter einem Kaktus》- DEV.to: Ich habe den Claude Quellcode auseinandergerissen
Published in Technology

You Might Also Like