Claude Code Buddy შეცვლის სახელმძღვანელო: როგორ უნდა მიიღოთ ბრწყინვალე ლეგენდარული შინაური ცხოველი

4/2/2026
6 min read

Claude Code Buddy შეცვლის სახელმძღვანელო: როგორ უნდა მიიღოთ ბრწყინვალე ლეგენდარული შინაური ცხოველი

2026 წლის 1 აპრილს, Anthropic-მა Claude Code 2.1.89 ვერსიაში ნელა ჩართო ერთ-ერთი საიდუმლო ფუნქცია——/buddy შინაური ცხოველების სისტემა. ტერმინალში /buddy ჩაწერის შემდეგ, ASCII სტილის პატარა ცხოველი "გამოიჩნდება" თქვენს შესვლის ველში, რათა დაგეხმაროთ კოდის წერისას და ბაგების განხილვისას.

ყოველი Buddy გენერირდება ანგარიშის ID-ის მეშვეობით განსაზღვრული ალგორითმით, რაც ნიშნავს, რომ ერთი და იგივე ანგარიში ყოველთვის მიიღებს ერთსა და იმავე შინაურ ცხოველს. თუმცა, თუ ჩვენ შეცვლით კონფიგურაციის ფაილში userID-ს, შეგვიძლია "გადავახლებთ" სასურველი შინაური ცხოველი. ამ სტატიაში დეტალურად განვიხილავთ ალგორითმის პრინციპსა და სრულ შეცვლის სკრიპტს.

I. 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% ალბათობა, უმაღლესი დეკორაცია
ასევე არსებობს დამოუკიდებელი 1% ბრწყინვალე (Shiny) ალბათობა, ბრწყინვალე შინაური ცხოველები აქვთ ცისარტყელას მიკრო ანიმაცია! ბრწყინვალე ლეგენდარული ალბათობა არის 1% × 1% = 0.01%, დაახლოებით ათი ათასიდან ერთი.

II. ალგორითმის პრინციპის ღრმა ანალიზი

Buddy-ს გენერირება ხდება განსაზღვრული შემთხვევითი ალგორითმის გამოყენებით, ძირითადი პროცესი შემდეგნაირია:

1. თესლის სტრინგის შეერთება

const SALT = "friend-2026-401"; // 1 აპრილის ხუმრობა const key = userId + SALT;

Salt-ის მნიშვნელობა friend-2026-401 შეიცავს 401, რაც 1 აპრილს ნიშნავს——განსაზღვრული ხუმრობა.

2. FNV-1a 32-bit ჰეშირება

თესლის სტრინგის გადაქცევა 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

ჰეშის მნიშვნელობით ინიციალიზება pseudo-შემთხვევითი რიცხვების გენერატორი: 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 არის მსუბუქი 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; }

// 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" ];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...\n"); 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 თამაშის არსი

  • თაღლითობის საწინააღმდეგო დიზაინი:骨架/灵魂分离,确保公平性

  • April Fool's彩蛋:salt 值暗藏 4月1日的时间戳
ახლა სცადეთ!გისურვებთ, რომ მიიღოთ სასურველი ბრჭყვიალა ლეგენდარული Buddy!

წყაროები:

  • Claude Code 2.1.89源代码泄露(npm source map 事故)

  • 掘金:《深扒 Claude Code Buddy 模式:一只仙人掌背后的确定性随机算法》- DEV.to: მე გავხსენი კლოდ კოდის წყარო კოდი
Published in Technology

You Might Also Like

Obsidian გამოუშვა Defuddle, Obsidian Web Clipper ახალ დონეზე გადაიყვანაTechnology

Obsidian გამოუშვა Defuddle, Obsidian Web Clipper ახალ დონეზე გადაიყვანა

Obsidian გამოუშვა Defuddle, Obsidian Web Clipper ახალ დონეზე გადაიყვანა მე ყოველთვის ძალიან მომწონდა Obsidian-ის ძირითა...

OpenAI უცბად გამოაცხადა "სამი ერთში": ბრაუზერი + პროგრამირება + ChatGPT გაწვდილი, შიდა დონეზე აღიარეს, რომ გასული წელი შეცდომით გაიარესTechnology

OpenAI უცბად გამოაცხადა "სამი ერთში": ბრაუზერი + პროგრამირება + ChatGPT გაწვდილი, შიდა დონეზე აღიარეს, რომ გასული წელი შეცდომით გაიარეს

OpenAI უცბად გამოაცხადა "სამი ერთში": ბრაუზერი + პროგრამირება + ChatGPT გაწვდილი, შიდა დონეზე აღიარეს, რომ გასული წელი შ...

2026, აღარ უნდა აიძულო თავი "თვითკონტროლი"! გააკეთე ეს 8 პატარა საქმე, ჯანმრთელობა ბუნებრივად მოვაHealth

2026, აღარ უნდა აიძულო თავი "თვითკონტროლი"! გააკეთე ეს 8 პატარა საქმე, ჯანმრთელობა ბუნებრივად მოვა

2026, აღარ უნდა აიძულო თავი "თვითკონტროლი"! გააკეთე ეს 8 პატარა საქმე, ჯანმრთელობა ბუნებრივად მოვა ახალი წელი დაიწყო, გ...

იმ დედების შესახებ, რომლებიც ცდილობენ დაიკლონ წონა, მაგრამ ვერ ახერხებენHealth

იმ დედების შესახებ, რომლებიც ცდილობენ დაიკლონ წონა, მაგრამ ვერ ახერხებენ

იმ დედების შესახებ, რომლებიც ცდილობენ დაიკლონ წონა, მაგრამ ვერ ახერხებენ მარტი უკვე ნახევარზე მეტია გასული, როგორ მიდის...

📝
Technology

AI Browser 24 საათიანი სტაბილური მუშაობის სახელმძღვანელო

AI Browser 24 საათიანი სტაბილური მუშაობის სახელმძღვანელო ამ სახელმძღვანელოში აღწერილია, როგორ უნდა შექმნათ სტაბილური, ხა...

📝
Technology

Agent-Browser კონფიგურაციის სახელმძღვანელო: CDP-ის საშუალებით ბრაუზერის შესვლის სტატუსის გადამუშავება

Agent-Browser კონფიგურაციის სახელმძღვანელო: CDP-ის საშუალებით ბრაუზერის შესვლის სტატუსის გადამუშავება\n\nეს სახელმძღვანე...