Claude Code Buddy Değiştirme Kılavuzu: Parlak Efsanevi Evcil Hayvan Nasıl Elde Edilir
Claude Code Buddy Değiştirme Kılavuzu: Parlak Efsanevi Evcil Hayvan Nasıl Elde Edilir
2026 yılının 1 Nisan'ında, Anthropic, Claude Code 2.1.89 sürümünde gizli bir özellik olan /buddy evcil hayvan sistemini sessizce başlattı. Terminale /buddy yazdığınızda, ASCII tarzında küçük bir hayvan "yumurtlayacak" ve kod yazarken, hata ayıklarken size eşlik edecek.
Her Buddy, hesap ID'si aracılığıyla belirleyici bir algoritma ile oluşturulur, bu da aynı hesabın her zaman aynı evcil hayvanı alacağı anlamına gelir. Ancak, yapılandırma dosyasındaki userID'yi değiştirerek, istediğimiz evcil hayvanı "yeniden ROLL" edebiliriz. Bu makalede, algoritmanın prensipleri ve tam değişiklik betiği detaylı bir şekilde açıklanacaktır.
I. Buddy Sistemi Genel Görünümü
18 Tür Evcil Hayvan
Sistem şu anda 18 sevimli tür içermektedir:
- duck - Ördek (klasik Rubber Duck Debugging)
- goose - Kaz (yaramaz)
- blob - Jelibon (yumuşak ve şekilsiz)
- cat - Kedi (soğuk ve gururlu)
- dragon - Ejderha (güçlü koruyucu)
- octopus - Ahtapot (çoklu iş parçacığı düşüncesi)
- owl - Baykuş (bilge rehber)
- penguin - Penguen (resmi katılım)
- turtle - Kaplumbağa (sağlam ve güvenilir)
- snail - Salyangoz (yavaş ama titiz)
- ghost - Hayalet (gizli ve aniden ortaya çıkan)
- axolotl - Aksolot (sevimli ve iyileştirici)
- capybara - Kapibara (buddha gibi usta)
- cactus - Kakteen (iç ısıtan bitki)
- robot - Robot (mantık öncelikli)
- rabbit - Tavşan (canlı ve hareketli)
- mushroom - Mantar (sessiz gözlemci)
- chonk - Şişman (yuvarlak ve sevimli)
5 Seviye Nadirlik
- Common (Ortak) - %60 olasılık, şapka süslemesi yok
- Uncommon (Nadir) - %25 olasılık, şapka açılır
- Rare (Nadir) - %10 olasılık, daha fazla süsleme
- Epic (Efsanevi) - %4 olasılık, özel süsleme
- Legendary (Efsane) - %1 olasılık, en üst düzey süsleme
II. Algoritma Prensiplerinin Derin Analizi
Buddy'nin oluşturulması belirleyici rastgele algoritma kullanır, ana süreç aşağıdaki gibidir:
1. Tohum Dizesi Birleştirme
const SALT = "friend-2026-401"; // 1 Nisan'da yapılan şaka const key = userId + SALT;
Salt değeri friend-2026-401 içindeki 401, 1 Nisan'ı temsil eder - özenle tasarlanmış bir şaka.
2. FNV-1a 32-bit Hash
Tohum dizesini 32 bit tamsayıya dönüştürme:
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
Hash değeri ile sahte rastgele sayı üreteci başlatma: 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, oyun geliştirmede yaygın olarak kullanılan hafif bir PRNG'dir ve programatik olarak oluşturma ve ganimet düşürme tabloları için uygundur.
4. Nadirlik Çekimi (Anahtar!)
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]]- Ayarları Değiştir: # ~/.claude.json dosyasını düzenle cat ~/.claude.json | jq '.userID = "yeniUserID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json
- Claude Code'u Yeniden Başlat,
/buddyyazarak yeni evcil hayvanı görebilirsin!
Beş, Hile Önleme Tasarım Prensibi
Claude Code'un tasarımı oldukça zekice, iskele (Bones) ve ruh (Soul) ayrımı mimarisini kullanıyor:
- Bones(iskele):Tür, nadirlik, görünüm, özellikler——her seferinde userID'den yeniden hesaplanır, asla kalıcı hale getirilmez
- Soul(ruh):İsim, karakter tanımı——yerel yapılandırmaya kalıcı olarak kaydedilir
roll(userID) sonucunu kullanarak üzerine yazacağı anlamına gelir. Yorum oldukça açık yazılmış: config.companion'ı düzenlemek nadirliği sahte hale getiremez.
Ancak userID kendisi değiştirilebilir, bu da bu makalenin yönteminin temelini oluşturuyor.
Altı, Özet
Claude Code Buddy, dikkatlice tasarlanmış bir yumurta işlevi olup, şunları birleştirir:
- Belirleyici Rastgelelik:FNV-1a + Mulberry32'nin klasik kombinasyonu
- Kart Çekme Mekaniği:5 seviyeli nadirlik + %1 parlaklık, Gacha oyunlarının özü
- Hile Önleme Tasarımı:iskele/ruh ayrımı, adaleti sağlamak için
- 1 Nisan Yumurta:salt değeri 1 Nisan zaman damgasını gizler
Kaynaklar:
- Claude Code 2.1.89 kaynak kodu sızıntısı(npm kaynak haritası kazası)
- Juejin:《Claude Code Buddy Modu'nu Derinlemesine İnceleme: Bir Kaktüsün Arkasındaki Belirleyici Rastgelelik Algoritması》[[HTMLPLACEHOLDER2]]
[[HTMLPLACEHOLDER4]]
[[HTMLPLACEHOLDER5]]

