Claude Code Buddy modificavimo vadovas: kaip gauti blizgantį legendinį augintinį
Claude Code Buddy modificavimo vadovas: kaip gauti blizgantį legendinį augintinį
2026 m. balandžio 1 d., Anthropic tyliai pristatė kiaušinių funkciją Claude Code 2.1.89 versijoje — /buddy augintinių sistemą. Į terminalą įvedus /buddy, ASCII stiliaus mažas gyvūnas "išsiris" šalia jūsų įvedimo lango, lydėdamas jus rašant kodą, komentuojant klaidas.
Kiekvienas Buddy generuojamas pagal paskyros ID naudojant deterministinį algoritmą, tai reiškia, kad ta pati paskyra visada gaus tą patį augintinį. Tačiau pakeitus konfigūracijos faile userID, galime "perridenti" norimą augintinį. Šiame straipsnyje bus išsamiai aprašyta algoritmo principas ir pilnas modifikavimo skriptas.
I. Buddy sistemos apžvalga
18 rūšių augintiniai
Sistema šiuo metu apima 18 mielų rūšių:
- duck - antis (klasikinis Rubber Duck Debugging)
- goose - žąsis (šmaikštus ir išdykęs)
- blob - želė (minkštas ir neapibrėžtas)
- cat - katė (aukštas ir pasipūtęs)
- dragon - drakonas (galingas sargas)
- octopus - aštuonkojis (daugiagijis mąstymas)
- owl - pelėda (išmintingas mokytojas)
- penguin - pingvinas (formalioje aprangoje)
- turtle - vėžlys (patikimas ir stabilus)
- snail - sraigė (lėtas, bet kruopštus)
- ghost - vaiduoklis (nepastebimas)
- axolotl - aksolotlis (mielas ir gydantis)
- capybara - kapybara (ramus meistras)
- cactus - kaktusas (širdį šildantis augalas)
- robot - robotas (racionalumas pirmiausia)
- rabbit - triušis (judrus ir energingas)
- mushroom - grybas (ramiai stebintis)
- chonk - storulis (apvalus ir mielas)
5 lygio retumas
- Common (įprastas) - 60% tikimybė, be skrybėlės dekoracijų
- Uncommon (retas) - 25% tikimybė, atrakina skrybėlę
- Rare (retas) - 10% tikimybė, daugiau dekoracijų
- Epic (epinis) - 4% tikimybė, išskirtinės dekoracijos
- Legendary (legendinis) - 1% tikimybė, aukščiausios klasės dekoracijos
II. Algoritmo principo gili analizė
Buddy generavimas naudoja deterministinį atsitiktinumą algoritmą, pagrindinis procesas yra toks:
1. Sėklos eilutės sujungimas
const SALT = "friend-2026-401"; // balandžio 1 d. pokštas const key = userId + SALT;
Sūrusis vertė friend-2026-401 401 žymi balandžio 1 d. — kruopščiai sukurta pokšto funkcija.
2. FNV-1a 32-bitų hash
Paverčiame sėklos eilutę į 32 bitų sveikąjį skaičių:
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
Naudojame hash vertę pseudoatsitiktinių skaičių generatoriaus inicializavimui: 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 yra lengvas PRNG, dažnai naudojamas žaidimų kūrime, tinkantis programiniam generavimui ir grobio kritimo lentelėms.
4. Retumo Ištrauka (Svarbu!)
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]] [[HTMLPLACEHOLDER2]]
- Konfigūracijos keitimas:
# Redaguoti ~/.claude.json cat ~/.claude.json | jq '.userID = "tavo naujas userID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json
- Perkrauti Claude Code,įveskite
/buddyir pamatysite naują augintinį!
Penkta, sukčiavimo prevencijos dizaino principai
Claude Code dizainas yra labai išradingas, jis naudoja skeleto (Bones) ir sielos (Soul) atskyrimo architektūrą:
- Bones(skeleto):rūšis, retumas, išvaizda, savybės——kiekvieną kartą perskaičiuojama iš userID, niekada neperrašoma
- Soul(sielos):vardas, charakterio aprašymas——išsaugoma vietiniame konfigūracijos faile
roll(userID) rezultatą. Komentaras yra labai aiškus:editing config.companion can't fake a rarity.
Tačiau userID gali būti keičiamas, tai yra šio metodo principas.
Šešta, santrauka
Claude Code Buddy yra kruopščiai suprojektuota Velykų kiaušinių funkcija, sujungusi:
- Deterministinį atsitiktinumą:FNV-1a + Mulberry32 klasikinė kombinacija
- Kortelių traukimo mechanizmą:5 lygio retumas + 1% blizgesys, Gacha žaidimų esmė
- Sukčiavimo prevencijos dizainą:skeleto/sielos atskyrimas, užtikrinantis sąžiningumą
- Kvailio dienos Velykų kiaušinį:druskos reikšmė slepia balandžio 1 d. laiko žymę
Šaltiniai:
- Claude Code 2.1.89 šaltinio kodas nutekėjo (npm source map incidentas)
- Juejin: „Išsamus Claude Code Buddy režimo tyrimas: už kaktuso slypi deterministinio atsitiktinumo algoritmas“- DEV.to: Aš Išardžiau Claude Kodo Šaltinį

