Claude Code Buddy Modifikasjonsguide: Hvordan få glitrende legendariske kjæledyr
Claude Code Buddy Modifikasjonsguide: Hvordan få glitrende legendariske kjæledyr
/buddy i terminalen, vil et ASCII-stil lite dyr "klække" ved siden av inndataboksen din, og holde deg med selskap mens du skriver kode og klager på feil.Hvert Buddy genereres av konto-ID gjennom en deterministisk algoritme, noe som betyr at den samme kontoen alltid får det samme kjæledyret. Men ved å endre bruker-ID i konfigurasjonsfilen, kan vi "re-roll" det kjæledyret vi ønsker. Denne artikkelen vil detaljere algoritmens prinsipper og den komplette modifikasjons-skriptet.
1. Buddy-systemoversikt
18 arter
Systemet inneholder for øyeblikket 18 søte arter:
- duck - And (den klassiske Gummiand Feilsøking)
- goose - Gås (litt rampete)
- blob - Gelé (myk og uformelig)
- cat - Katt (kald og stolt)
- dragon - Drage (meget beskyttende)
- octopus - Blekkulf (tenker i flere tråder)
- owl - Ugle (visdomsmentor)
- penguin - Pingvin (formelt antrekk)
- turtle - Skilpadde (stabil og pålitelig)
- snail - Snegle (langsomt arbeid gir fine resultater)
- ghost - Spøkelse (ubestemmelig)
- axolotl - Aksolotl (søt og helbredende)
- capybara - Kapibara (zen-mester)
- cactus - Kaktus (varm plante)
- robot - Robot (rasjonalitet først)
- rabbit - Kanin (livlig)
- mushroom - Sopp (stille observatør)
- chonk - Fete (rund og søt)
5 nivåer av sjeldenhet
- Common (Vanlig) - 60% sjanse, ingen hattedekorasjon
- Uncommon (Uvanlig) - 25% sjanse, låser opp hatter
- Rare (Sjelden) - 10% sjanse, flere dekorasjoner
- Epic (Episk) - 4% sjanse, eksklusive dekorasjoner
- Legendary (Legendarisk) - 1% sjanse, toppdekorasjoner
2. Dyp analyse av algoritmens prinsipper
Genereringen av Buddy bruker deterministisk tilfeldig algoritme, kjerneprosessen er som følger:
1. Sammenkobling av frøstrenger
const SALT = "friend-2026-401"; // 1. april aprilsnarr påskeegg const key = userId + SALT;
Saltverdien friend-2026-401 representerer 1. april - en nøye designet aprilsnarr påskeegg.
2. FNV-1a 32-bit hash
Konverter frøstrengen til et 32-bit heltall:
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
Bruk hashverdien til å initialisere en pseudorandom nummergenerator: 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 er en lettvekts PRNG som ofte brukes i spillutvikling, egnet for prosessgenerering og loot drop-tabeller.
4. Sjeldenhetsuttrekk (Viktig!)
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]]
- Endre konfigurasjon:
# Rediger ~/.claude.json cat ~/.claude.json | jq '.userID = "din nye userID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json
- Start Claude Code på nytt,skriv
/buddyfor å se ditt nye kjæledyr!
Fem, Prinsipper for juksbeskyttelse
Claude Code er designet på en veldig smart måte, med en arkitektur som separerer skjelett (Bones) og sjel (Soul):
- Bones (skjelett):Art, sjeldenhet, utseende, egenskaper——beregnes på nytt fra userID hver gang, aldri lagret
- Soul (sjel):Navn, personlighetbeskrivelse——lagres lokalt i konfigurasjonen
roll(userID) når det leses. Kommentaren er veldig klar: editing config.companion can't fake a rarity.
Men userID kan endres, og det er prinsippet bak metoden i denne artikkelen.
Seks, Oppsummering
Claude Code Buddy er en nøye designet påskeegg-funksjon som kombinerer:
- Deterministisk tilfeldig:Den klassiske kombinasjonen av FNV-1a + Mulberry32
- Korttrekksmekanisme:5 nivåer av sjeldenhet + 1% glitrende, essensen av Gacha-spill
- Juksbeskyttelsesdesign:Separasjon av skjelett/sjel, som sikrer rettferdighet
- Aprilspøk-påskeegg:salt-verdien skjuler tidsstempelet fra 1. april
Referanser:
- Claude Code 2.1.89 kildekode lekkasje (npm source map hendelse)
- Juejin: "Dypdykk i Claude Code Buddy-modus: Den deterministiske tilfeldige algoritmen bak en kaktus"- DEV.to: Jeg rev i stykker Claude kildekoden

