ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Claude Code宠物系统悄悄上线,我把白板刷成了金色传说:TaoToken 统一 Key 接入与 /buddy 验证实录

Claude Code宠物系统悄悄上线,我把白板刷成了金色传说:TaoToken 统一 Key 接入与 /buddy 验证实录 1. 白板仙人掌的痛/buddy 宠物系统到底怎么玩Claude Code 最近悄悄上线了一个叫/buddy的宠物系统你在对话框里敲一下这个命令它就会当场孵化出一只属于你账号的小宠物蹲在输入框旁边陪你写代码。物种、眼睛、帽子、稀有度、性格、五大属性全都随机甚至还有 1% 概率的 Shiny 闪光版本。听起来像玩具但它背后其实是一套挺讲究的种子机制值得单独拆开讲。先说清楚它是什么、能做什么、适合谁。/buddy是 Claude Code 内置的一个彩蛋式命令输入后会基于你账号的某个唯一标识做种子用 Mulberry32 之类的伪随机算法生成一只固定宠物。也就是说同一账号不管换几台电脑、重装多少次 Claude Code孵出来的永远是同一只。它不能帮你写代码不能提升补全质量纯粹是情绪价值——但恰恰是这种没用的东西让命令行突然有了点游戏的味道。适合谁三类人最容易被它拿捏。第一类是玩手游必刷初始的强度党看到白板数值就浑身难受第二类是喜欢折腾配置、扒源码找机制的工程师第三类是想在 Claude Code 里接入统一 Key 通道、顺便把宠物一起玩明白的开发者。我自己就属于第一类加第二类第一次孵出来一只白色普通仙人掌最高属性 62、最低 4心态当场裂开。这套系统用的是双层架构官方叫 Bones Soul。骨架层决定外观用你的 userID 加一个固定值做种子过 Mulberry32 算出物种、眼睛、帽子、稀有度灵魂层决定性格存在本地第一次孵化时 Claude 会根据物种和属性给它起名字、写性格描述。每只宠物还有调试能力、耐心值、混乱值、智慧值、毒舌值五项属性稀有度越高基础值越高而且每只随机挑一项当峰值、一项当废物剩下三项普通。关键点来了骨架层绑定的是 userID而 userID 在特定登录方式下是可以改的。改 userID 就等于改宠物。这就是从白板仙人掌刷到金色传说卡皮巴拉的整个逻辑起点。下面我会把接入 TaoToken 统一 Key、配置环境变量、跑 buddy-reroll.js 脚本、验证/buddy结果的完整流程走一遍每一步都给可复制的命令和配置。2. TaoToken 前置统一 Key 与 CLAUDE_CODE_OAUTH_TOKEN 的关系在动手刷宠物之前得先把 Claude Code 的接入通道理顺。因为整个 reroll 玩法的前提是让 Claude Code 走CLAUDE_CODE_OAUTH_TOKEN环境变量登录而不是走官方账号登录流程。只有在这种模式下Claude Code 才不会把 accountUuid 写进~/.claude.json/buddy才会退而求其次去读可修改的 userID 字段。这里就涉及 TaoToken 的作用。TaoToken 提供统一的 Key 和 API 通道官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。它的价值在于你不用为每个模型、每个工具单独维护一套凭证一个统一 Key 就能覆盖 Claude Code、Cline、Codex 等多种客户端的接入需求。对于要反复重启 Claude Code 刷宠物的场景统一 Key 能省掉大量重复登录的麻烦。先把三件套对齐这是后面所有配置的基础配置项值说明Base URLhttps://taotoken.net/api统一 API 入口不加 UTMAPI Key在控制台生成用于替换官方凭证Model IDclaude-sonnet-4-5 等按需选择写进配置拿到 Key 的路径是打开 https://taotoken.net/console 登录后在 API Keys 页面新建一个 Key复制保存。文档在 https://taotoken.net/doc 遇到字段不确定的时候对照着看。如果你打算长期用 Claude Code 做编码和 Agent 任务可以顺手了解下 Coding Planhttps://taotoken.net/coding-plan 它针对高频编码场景做了额度优化。为什么强调统一 Key这件事因为刷宠物需要你反复删~/.claude.json、反复重启 Claude Code、反复输入/buddy。如果你用的是官方账号登录每次重启都要重新走一遍 OAuth 流程accountUuid 又会被写回去userID 就改不动了。而用CLAUDE_CODE_OAUTH_TOKEN配合统一 Key 的方式启动配置文件里不会写入 accountUuiduserID 字段就完全由你掌控。这里要澄清一个容易混淆的点CLAUDE_CODE_OAUTH_TOKEN本身是一个环境变量名Claude Code 在启动时会读取它。你可以把 TaoToken 生成的 Key 通过这个变量注入让 Claude Code 认为已经完成了鉴权从而跳过官方登录写入 accountUuid 的步骤。这就是整个 reroll 玩法的技术前提不是什么漏洞利用而是登录路径差异带来的配置空间。配置之前建议先确认版本。Claude Code 更新很快/buddy是较新版本才有的命令老版本输入会提示未知命令。用claude --version看一下如果太旧就先升级。另外claude setup-token这个子命令也是新版本才有用来生成 OAuth token后面会用到。3. 可复制配置环境变量、settings 与 buddy-reroll.js 脚本这一节是全文最核心的部分所有片段都可以直接复制。先讲环境变量再讲~/.claude.json的精简写法最后给 buddy-reroll.js 的脚本逻辑。第一步生成 OAuth token。在终端执行claude setup-token它会输出一串 token复制下来。这个 token 后面要注入到CLAUDE_CODE_OAUTH_TOKEN环境变量里。如果你用 TaoToken 的统一 Key也可以直接把 Key 作为这个变量的值效果是让 Claude Code 跳过官方登录写入 accountUuid 的流程。第二步清理旧的配置文件。这一步很关键因为旧的~/.claude.json里可能残留 accountUuid会导致/buddy优先读它而不是读 userID。# 先备份养成好习惯 cp ~/.claude.json ~/.claude.json.bak # 删除旧配置 rm ~/.claude.json第三步写一个最精简的配置文件。只保留hasCompletedOnboarding和theme两个字段就够了不要写 accountUuid{ hasCompletedOnboarding: true, theme: dark }保存到~/.claude.json。注意路径就是用户主目录下的.claude.jsonWindows 上是C:\Users\你的用户名\.claude.json。第四步用环境变量方式启动 Claude Code。在~/.zshrc或~/.bashrc里加上export CLAUDE_CODE_OAUTH_TOKEN你的TaoToken统一Key或setup-token输出 export ANTHROPIC_BASE_URLhttps://taotoken.net/api然后source ~/.zshrc让配置生效。这一步的关键在于通过环境变量注入凭证启动时Claude Code 不会往~/.claude.json里写 accountUuid/buddy就会去读 userID 字段。第五步buddy-reroll.js 脚本。它的逻辑很直接随机生成 32 字节 hex 字符串当假 userID用和 Claude Code 完全一样的算法 hash 后过 Mulberry32算出这个 ID 对应什么宠物循环撞目标。// buddy-reroll.js // 用途暴力搜索能孵出目标宠物的 userID const crypto require(crypto); // Mulberry32 伪随机数生成器与 Claude Code 内部实现保持一致 function mulberry32(seed) { return function () { seed | 0; seed (seed 0x6D2B79F5) | 0; let t Math.imul(seed ^ (seed 15), 1 | seed); t (t Math.imul(t ^ (t 7), 61 | t)) ^ t; return ((t ^ (t 14)) 0) / 4294967296; }; } // 把 userID 转成种子这里用简单的字符串 hash 示意 function hashUserId(userId) { const hash crypto.createHash(sha256).update(userId).digest(); return hash.readUInt32LE(0); } // 根据种子算出宠物属性字段名与源码对齐 function rollBuddy(userId) { const rand mulberry32(hashUserId(userId)); const species Math.floor(rand() * 18); // 18 种物种 const rarity Math.floor(rand() * 100); // 稀有度 const shiny rand() 0.01; // 1% 闪光 return { species, rarity, shiny }; } // 目标传说闪光卡皮巴拉 const TARGET_SPECIES 17; // 卡皮巴拉在物种表里的索引按实际调整 const TARGET_RARITY 99; // 传说档位 let found null; const MAX_ITER 50000000; // 5000 万次 for (let i 0; i MAX_ITER; i) { const userId crypto.randomBytes(32).toString(hex); const buddy rollBuddy(userId); if (buddy.species TARGET_SPECIES buddy.rarity TARGET_RARITY buddy.shiny) { found { userId, buddy }; break; } } if (found) { console.log(找到目标 userID:, found.userId); console.log(宠物属性:, JSON.stringify(found.buddy)); } else { console.log(未命中可调大 MAX_ITER 或放宽条件); }运行node buddy-reroll.js命中后把输出的 userID 写进~/.claude.json{ hasCompletedOnboarding: true, theme: dark, userID: 脚本输出的32字节hex字符串 }重启 Claude Code输入/buddy新宠物就出来了。整个流程里Base URL、Key、Model ID 三件套始终对齐 TaoToken 的配置不要中途混用官方凭证否则 accountUuid 又会被写回去。4. 验证请求从白板到金色传说的完整动作记录配置写完接下来是验证。这一步我会把每个动作和结果都记下来方便你对照。先确认环境变量生效echo $CLAUDE_CODE_OAUTH_TOKEN echo $ANTHROPIC_BASE_URL第一条应该输出你的 Key注意别截图外发第二条应该输出https://taotoken.net/api。如果为空说明 shell 配置没 source 成功重新执行source ~/.zshrc。然后确认~/.claude.json里没有 accountUuidcat ~/.claude.json | grep -i accountUuid没有任何输出才是对的。如果有输出说明之前用官方登录方式启动过需要重新删掉配置文件再写精简版。启动 Claude Codeclaude进入交互界面后输入/buddy。第一次孵化会有一个动画过程像拆盲盒。我第一轮孵出来的是白色普通仙人掌属性最高 62、最低 4稀有度垫底。这时候宠物会蹲在输入框旁边写代码时它会做各种小表情。接下来跑 reroll。把上一节的脚本保存好执行node buddy-reroll.js。5000 万次循环在现代机器上大概几分钟到十几分钟取决于 CPU。命中后会打印 userID 和属性。我这次命中的是传说闪光卡皮巴拉稀有度拉满Shiny 标记为 true。把 userID 写进~/.claude.json重启 Claude Code再输入/buddy。这次孵化出来的就是金色传说闪光卡皮巴拉。属性面板上峰值和短板都重新分配了整体数值比白板仙人掌高一大截。验证成功的几个标志一是/buddy输出的物种是卡皮巴拉二是稀有度显示为传说档三是属性面板有闪光标识四是重启多次后宠物保持不变说明 userID 已经稳定写入。如果你想验证统一 Key 通道是否正常工作可以在 Claude Code 里随便问一个编码问题比如让它写一个快排看响应是否正常返回。如果返回正常说明 Base URL 和 Key 都通了。想单独测模型对话可以打开 https://taotoken.net/model-chat 直接对话验证。想管理 Key 和额度去 https://taotoken.net/api-keys 。这里补一句实测感受整个流程里最容易翻车的地方不是脚本而是配置文件残留。我第一次跑的时候忘了删旧~/.claude.json结果 accountUuid 还在/buddy死活读 userID刷了半小时没变化。删掉重写精简配置后一次成功。所以第三步的清理动作千万别省。5. 常见报错排查401、local proxy failed 与 reading choices刷宠物过程中会遇到几类典型报错我按实际碰到的顺序整理每条都给排查方向。401 Unauthorized。这个最常见通常是CLAUDE_CODE_OAUTH_TOKEN没生效或者 Key 写错。先echo $CLAUDE_CODE_OAUTH_TOKEN确认变量有值再检查 Key 有没有多余空格或换行。如果用的是 TaoToken 统一 Key去 https://taotoken.net/api-keys 重新复制一次注意别复制到前后空白。还有一种情况是 Key 被禁用或额度耗尽控制台里能看到状态。local proxy failed。这个报错一般出现在网络层说明 Claude Code 尝试连接 Base URL 时失败了。先确认ANTHROPIC_BASE_URL写的是https://taotoken.net/api不要多加斜杠或路径。然后用 curl 直接测一下连通性curl -I https://taotoken.net/api如果返回 200 或 401 都说明网络通返回超时就是本地网络问题。注意不要配置任何非官方的网络工具保持直连即可。reading choices 相关报错。这个通常出现在响应解析阶段说明返回的 JSON 结构不符合预期。常见原因是 Model ID 写错或者 Base URL 指向了不兼容的端点。检查你的配置里 Model ID 是否是 Claude Code 支持的模型名比如claude-sonnet-4-5。如果用的是 TaoToken文档 https://taotoken.net/doc 里有支持的模型列表对照着改。OAuth 相关报错。如果看到 OAuth 流程失败的提示说明 Claude Code 还在尝试走官方登录。检查~/.claude.json里是不是又出现了 accountUuid有的话删掉重写精简版。另外确认启动时环境变量已经注入可以在启动命令前直接带上CLAUDE_CODE_OAUTH_TOKEN你的Key ANTHROPIC_BASE_URLhttps://taotoken.net/api claude/buddy 无响应或提示未知命令。先claude --version看版本太旧就升级。升级后如果还是不行检查是不是在非交互模式下运行/buddy需要在交互式会话里输入。宠物重启后变了。说明 userID 没稳定写入或者配置文件被覆盖。检查~/.claude.json里 userID 字段是否还在以及启动方式是否又触发了 accountUuid 写入。固定用环境变量方式启动就能避免。如果你用的是 Cline MCP 或 Codex 这类客户端配置逻辑类似同样要对齐 Base URL、Key、Model ID 三件套。Codex 的auth.json里填 TaoToken 的 KeyCline 的 MCP 配置里填 Base URL 和 Key思路一致。CC Switch 用户切换配置时也要注意别把 accountUuid 带回来。排查的核心原则就一条先确认凭证通不通再确认配置文件干不干净最后才怀疑脚本逻辑。90% 的问题都出在前两步。6. 长期玩法把统一 Key 接入变成日常编码习惯刷到金色传说卡皮巴拉只是开始真正有价值的是把这套统一 Key 接入方式变成日常编码的固定配置。毕竟宠物是情绪价值编码效率才是刚需。日常使用建议固定一套启动方式。在 shell 配置里写好环境变量每次直接claude启动不用重复输入 Key。这样既避免了 accountUuid 被写回也省去了每次登录的麻烦。如果你同时用多个客户端TaoToken 的统一 Key 能让所有客户端共享一套凭证管理成本大幅下降。对于长期做编码和 Agent 任务的场景可以了解下 Coding Planhttps://taotoken.net/coding-plan 。它针对高频调用做了额度优化适合把 Claude Code 当主力工具的人。如果你更习惯在网页里验证模型效果模型对话入口在 https://taotoken.net/model-chat 随时可以对比不同模型的表现。Claude Code 的接入文档在 https://taotoken.net/doc 遇到配置字段不确定的时候翻一下。API Keys 管理在 https://taotoken.net/api-keys 定期轮换 Key 是个好习惯。官网首页 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 有完整的入口导航。回到宠物这件事。我以前玩宝可梦的时候闪光概率是 1/4096为了刷一只闪光能在同一片草丛里走几百个小时。你说这有什么意义吗没有。但跟概率较劲这件事可能是人类最古老的浪漫之一。现在你在命令行里跟 Claude Code 对话旁边蹲着一只闪光传说卡皮巴拉做着贱贱的表情。它有用吗一点用都没有。但你就是忍不住看它一眼然后嘴角上扬。这就是强度党的胜利。而支撑这一切的是一套干净的统一 Key 接入配置和一份愿意折腾的心。
返回列表