Claude Code Buddy засварын гарын авлага: Гялалзсан домогт амьтан хэрхэн авах вэ
Claude Code Buddy засварын гарын авлага: Гялалзсан домогт амьтан хэрхэн авах вэ
2026 оны 4-р сарын 1-нд, Anthropic Claude Code 2.1.89 хувилбарт нууц функц - /buddy амьтны систем-ийг нам гүм нэвтрүүлсэн. Терминалд /buddy гэж оруулснаар, ASCII хэв маягийн жижиг амьтан таны оруулгын талбайн хажууд "төрнө", код бичихэд тань туслах, алдааг шүүмжлэх болно.
Бүх Buddy нь дансны ID-ээр тодорхой алгоритм ашиглан үүсгэгддэг, энэ нь нэг данс үргэлж нэг ижил амьтныг авахыг илэрхийлнэ. Гэвч конфигурацийн файлын userID-ийг засварласнаар, бид хүссэн амьтнаа "дахин гаргах" боломжтой. Энэ нийтлэлд алгоритмын зарчим болон бүрэн засварын скриптийг дэлгэрэнгүй танилцуулах болно.
Нэг. Buddy системийн тойм
18 төрлийн амьтан
Систем одоогоор 18 төрлийн хөөрхөн амьтдыг агуулж байна:
- duck - Үнэгүй (классик Rubber Duck Debugging)
- goose - Гус (дүрсгүй)
- blob - Желатин (зөөлөн, хэлбэргүй)
- cat - Муур (хүйтэн, ихэрхэг)
- dragon - Луу (бадрангуй хамгаалагч)
- octopus - Далайн могой (олон утасны бодол)
- owl - Шувуу (мэргэжлийн багш)
- penguin - Пингвин (албаны хувцастай)
- turtle - Хавч (бат бөх, найдвартай)
- snail - Хулгана (багшлахад удаан)
- ghost - Сүнс (гэнэтийн)
- axolotl - Салхин шувуу (хөөрхөн, эмчилгээ)
- capybara - Усны гахай (бодлогогүй мастер)
- cactus - Кактус (сэтгэл зөөлрүүлэгч ургамал)
- robot - Робот (логик дээд)
- rabbit - Хулгана (амьд, идэвхтэй)
- mushroom - Мөөг (нам гүм ажиглагч)
- chonk - Тарган (бөмбөгөр)
5 түвшний ховордол
- Common (Энгийн) - 60% магадлал, малгай чимэггүй
- Uncommon (Ховор) - 25% магадлал, малгай нээх
- Rare (Ховор) - 10% магадлал, илүү чимэг
- Epic (Түүхэн) - 4% магадлал, тусгай чимэг
- Legendary (Домогт) - 1% магадлал, дээд зэргийн чимэг
Хоёр. Алгоритмын зарчмын гүнзгий шинжилгээ
Buddy-ийг үүсгэхэд тодорхой санамсаргүй алгоритм ашигладаг, үндсэн процесс нь дараах байдалтай:
1. Үр тарианы утас холбох
const SALT = "friend-2026-401"; // 4-р сарын 1-ний шог заль const key = userId + SALT;
Salt утга friend-2026-401 доторх 401 нь 4-р сарын 1-ийг илэрхийлдэг - сайтар боловсруулсан шог заль.
2. FNV-1a 32-битийн хэш
Үр тарианы утсыг 32 битийн тоонд хөрвүүлэх:
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
Хэш утгыг псевдосанамсаргүй тоо үүсгэгчийг эхлүүлэх: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; }; }
Мулберри 32 нь тоглоомын хөгжүүлэлтэд өргөн хэрэглэгддэг хөнгөн PRNG бөгөөд програмчлалын аргаар үүсгэх болон шагналын уналтын хүснэгтэд тохиромжтой.
4. Ховордлын таталт (чухал!)
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; }
// Мулберри 32 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" ];const RARITIES = ["common", "uncommon", "rare", "epic", "legendary"]; const RARITYWEIGHTS = { common: 60, uncommon: 25, rare: 10, epic: 4, legendary: 1 }; const SALT = "friend-2026-401";
function pick(rng, arr) { return arr[Math.floor(rng() arr.length)]; }
function rollRarity(rng) { const total = Object.values(RARITYWEIGHTS).reduce((a, b) => a + b, 0); let roll = rng() total; for (const rarity of RARITIES) { roll -= RARITY_WEIGHTS[rarity]; if (roll < 0) return rarity; } return "common"; }
function testUserId(userId) { const key = userId + SALT; const seed = hashString(key); const rng = mulberry32(seed); const rarity = rollRarity(rng); const species = pick(rng, SPECIES); const shiny = rng() < 0.01; return { rarity, species, shiny }; }
function randomUserId() { let id = ""; for (let i = 0; i < 64; i++) { id += Math.floor(Math.random() 16).toString(16); } return id; }
// Гялалзсан домог хайх console.log("Гялалзсан домог Buddy... "); const targetSpecies = process.argv[2] || null;
while (true) { const userId = randomUserId(); const result = testUserId(userId);
if (result.rarity === "legendary" && result.shiny) { if (!targetSpecies || result.species === targetSpecies) { console.log("Бид оллоо!"); console.log("Төрөл:", result.species); console.log("Ховордол: Домог"); console.log("Гялалзсан: Тийм!" ); console.log("userID:", userId); break; } } }
Дөрөв, Ашиглах алхмууд
Скрипт хадгалах: Дээрх кодыгbuddy-reroll.jsнэртэйгээр хадгалаарай
Скрипт ажиллуулах:node buddy-reroll.js(төлөвлөгөөний төрөл зааж болно:node buddy-reroll.js dragon)
- userID хуулбарлах: Скрипт нь гялалзсан домог зэрэг Buddy-ийн userID-г гаргана.- Тохиргоог өөрчлөх:
# Засварлах ~/.claude.json cat ~/.claude.json | jq '.userID = "таны шинэ userID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json
- Claude Code-ыг дахин эхлүүлэх,/buddy гэж бичихэд шинэ тэжээвэр амьтдыг харах болно!
Тав. Шалгалт хийхээс сэргийлэх дизайны зарчим
Claude Code-ийн дизайн маш ухаалаг бөгөөд яс (Bones) ба сүнс (Soul) тусгаарлах архитектурыг ашиглаж байна:
- Bones(яс):төрөл, ховор байдал, дүр төрх, шинж чанар——бүх удаа userID-ээс дахин тооцоолно, хэзээ ч тогтмол биш
- Soul(сүнс):нэр, зан чанарын тайлбар——мэдээллийг локал тохиргоонд хадгална
Энэ нь та тохиргооны файлын rarity талбарыг шууд засварласан ч систем нь roll(userID)-ийн үр дүнгээр унших үед давхардаж байгааг илэрхийлж байна. Тайлбар нь маш тодорхой бичигдсэн: editing config.companion can't fake a rarity`。
Гэвч userID-ийг өөрчлөх боломжтой бөгөөд энэ нь энэхүү аргын үндэс юм.
Зургаан. Дүгнэлт
Claude Code Buddy нь маш сайн төлөвлөсөн нууц функц бөгөөд:
- Тодорхой санамсаргүй:FNV-1a + Mulberry32-ийн классик хослол
- Карт сугалааны механизм:5-р зэргийн ховор байдал + 1% гялалзсан, Gacha тоглоомын сүнс
- Шалгалт хийхээс сэргийлэх дизайн:яс/сүнс тусгаарлах, шударга байдлыг баталгаажуулах
- Тэнэгийн өдөр:salt утга 4-р сарын 1-ний цагийн тамгатай нуугдсан

