把 Claude Code 变成你的桌面宠物:TaoToken 统一 Key 接入 Swift 开源项目实战
发布时间:2026/10/18 0:28:08 锦皓数字建站

1. 为什么要在 macOS 上养一只 Claude Code 桌面宠物Claude Code 本身是个命令行工具你敲一句它回一句干完活就安静地待在那里。但有人把它的源码翻了个底朝天发现里面藏着一套完整的宠物系统彩蛋代号 BUDDY18 种物种、抽卡稀有度、五个属性维度、还能戴帽子换眼睛。虽然官方还没正式放出来但社区已经有人等不及了直接做了一个 macOS 原生桌面宠物项目 lil-agents用 Swift 写的让一只像素风的小家伙在你的 Dock 栏上方走来走去点一下就能弹出终端跟 Claude Code 对话。这篇文章要做的就是把这个 Swift 开源项目跑起来并且通过 TaoToken 统一 Key 接入 Claude Code让你不用折腾多个账号和 API Key一个通道搞定。适合谁手里有 macOS 设备、装过 Claude Code、想让终端工具变得有点温度的人。我试过之后发现整个流程最麻烦的不是编译 Swift 项目而是 CLI 那边的 Key 配置所以这篇会把重点放在接入配置和验证上。lil-agents 这个项目的思路很直接它本身不包含 AI 能力只是一个可视化外壳底层还是调用你本地装好的 CLI 进程。项目里有两个角色Bruce 和 Jazz像素风格会在 Dock 栏上方随机走动思考时冒气泡说 hmm... 或者 gimme a sec干完活说 done! 或者 voila!配合 9 种提示音。点一下角色会弹出终端窗口直接跟 AI 对话。支持 Claude Code、OpenAI Codex、GitHub Copilot CLI社区还加了 Gemini 支持。关键点在于它调用的是你本地的 claude 命令行工具所以只要你的 Claude Code 能正常工作桌面宠物就能正常工作。而 Claude Code 的接入方式可以通过 TaoToken 统一 Key 来配置这样你不需要在多个地方管理不同的 API Key。整个链路是这样的lil-agentsSwift 桌面应用→ 调用本地 claude CLI → claude CLI 读取环境变量或配置文件 → 请求发到 TaoToken 的 API 通道 → 返回结果 → 宠物显示气泡和动画。所以配置的核心就两件事第一让 claude CLI 能通过 TaoToken 正常请求第二让 lil-agents 能找到你的 claude CLI。第一件事是重点第二件事基本是开箱即用。2. TaoToken 统一 Key 的前置准备与 Claude Code 接入配置在开始之前你需要先拿到 TaoToken 的 API Key。打开 https://taotoken.net/api-keys 这个地址注册或登录后创建一个新的 Key。创建的时候注意复制下来因为页面刷新后就不会再完整显示了。拿到 Key 之后你需要确认两件事Base URL 和 Model ID。TaoToken 的 API 地址是 https://taotoken.net/api这个地址不加任何 UTM 参数直接用在配置里。Model ID 方面Claude Code 场景下常用的模型标识你可以在 https://taotoken.net/doc 的文档页面查到最新的列表一般用 claude-sonnet 系列就能满足日常编码对话需求。接下来是配置 Claude Code 读取这个 Key。Claude Code 支持通过环境变量或者配置文件来指定 API 端点。最直接的方式是在你的 shell 配置文件里加环境变量。打开终端编辑 ~/.zshrc如果你用的是 zsh或者 ~/.bashrcexport ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的TaoToken密钥保存后执行 source ~/.zshrc 让配置生效。这里要注意ANTHROPIC_BASE_URL 的值就是 TaoToken 的 API 地址不要加多余的路径后缀。ANTHROPIC_API_KEY 填你刚才复制的 Key。如果你不想改环境变量也可以用 Claude Code 的配置文件方式。在 ~/.claude/ 目录下创建或编辑 settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密钥 } }这个 settings.json 的路径是 ~/.claude/settings.json如果你之前没有这个文件直接新建就行。JSON 格式要严格最后一个字段后面不能有逗号。配置完成后你可以先用 claude 命令行工具验证一下。在终端里直接运行claude -p 你好请回复一句话如果配置正确你会看到 Claude 的回复。如果报错先检查 Key 是否复制完整、Base URL 是否有多余空格。这一步是整个链路的基础CLI 不通桌面宠物也不会通。另外提一下如果你同时用 Codex 或者 Copilot CLI它们的配置方式类似但环境变量名不同。Codex 用的是 OPENAI_API_KEY 和 OPENAI_BASE_URLCopilot CLI 有自己的配置文件。不过这篇聚焦 Claude Code其他的你可以在 TaoToken 文档里找到对应说明。3. lil-agents 项目克隆与 Swift 编译运行步骤前置配置搞定后接下来把 lil-agents 跑起来。这个项目是 Swift 写的原生 macOS 应用你需要先确认本地有 Xcode 或者至少装了 Swift 命令行工具。在终端里运行 swift --version如果能输出版本号就说明环境没问题。如果没有去 App Store 装一个 Xcode或者用 xcode-select --install 安装命令行工具。第一步克隆项目。打开终端找一个你放代码的目录cd ~/Projects git clone https://github.com/ryanstephen/lil-agents.git cd lil-agents第二步查看项目结构。这个项目用的是 Swift Package Manager 或者 Xcode 项目具体取决于仓库的当前状态。你可以先 ls 看一下ls -la如果看到 Package.swift说明是 SPM 项目直接用命令行编译swift build -c release如果看到 .xcodeproj 或者 .xcworkspace那就用 xcodebuild 编译xcodebuild -project lil-agents.xcodeproj -scheme lil-agents -configuration Release build编译过程可能需要几分钟取决于你的机器性能。编译完成后产物会在 .build/release/ 或者 DerivedData 目录下。你也可以直接用 Xcode 打开项目按 CmdR 运行。第三步运行应用。如果编译成功你会看到 Dock 栏上方出现一个像素风的小角色可能是 Bruce 也可能是 Jazz。它会随机走动偶尔冒个气泡。点一下它会弹出一个终端窗口。这里有个关键点lil-agents 调用的是你本地 PATH 里的 claude 命令。所以你要确保 claude 在 PATH 中可用。在终端里运行 which claude如果输出类似 /usr/local/bin/claude 或者 /opt/homebrew/bin/claude就说明没问题。如果没有输出你需要把 claude 的安装路径加到 PATH 里或者用绝对路径配置 lil-agents。lil-agents 的设置里可以指定 CLI 路径。打开应用的偏好设置找到 CLI Path 这一项填入你的 claude 绝对路径。这样即使 PATH 有问题它也能找到。另外这个项目支持多套主题你可以在设置里切换。角色动画用的是透明 HEVC 视频无缝循环播放Dock 栏位置是动态计算的能识别自动隐藏、全屏、多显示器这些场景。整个应用完全本地运行不收集任何数据所有对话都走你本地装好的 CLI 进程。如果你在编译过程中遇到签名问题可以在 Xcode 里把 Signing Capabilities 里的 Team 设置成你的开发者账号或者选择 Sign to Run Locally。如果是 SPM 编译一般不会有签名问题。4. 验证桌面宠物响应与 Claude Code 对话链路应用跑起来后你需要验证整条链路是否通畅。验证分两步先确认 CLI 本身能通再确认桌面宠物能调用 CLI。第一步在终端里直接测试 claude 命令claude -p 用一句话介绍你自己如果返回了正常的文本说明 TaoToken 的 Key 配置没问题。如果报 401说明 Key 无效或者没生效如果报连接超时检查 Base URL 是否正确。第二步点击桌面上的宠物角色弹出终端窗口。在窗口里输入一句话比如“帮我写一个 Python 的 hello world”。观察宠物的反应它应该会冒出一个思考气泡说 hmm... 或者 gimme a sec然后过几秒返回结果气泡变成 done! 或者 voila!。如果宠物没有反应先检查 lil-agents 的设置里 CLI Path 是否指向了正确的 claude 路径。你可以在终端里用 which claude 拿到路径然后填进去。第三步验证多轮对话。在宠物弹出的终端窗口里连续输入几句话看它是否能保持上下文。Claude Code 本身支持多轮对话lil-agents 只是把终端窗口嵌到了应用里所以上下文应该能正常保持。如果一切正常你会看到宠物在 Dock 栏上方走来走去点一下就能干活干完活还会给你个反馈。这种体验比在终端里敲命令有趣多了。这里补充一个细节lil-agents 的宠物动画状态和 CLI 的执行状态是绑定的。当 CLI 在思考时宠物会显示思考动画当 CLI 返回结果时宠物会显示完成动画。所以如果你看到宠物一直在思考状态不结束说明 CLI 那边卡住了可能是网络问题或者 Key 配额问题。你可以打开 Console.app 查看 lil-agents 的日志过滤进程名就能看到它调用 CLI 的详细输出。如果 CLI 报错日志里会有记录。5. 常见报错排查与配置对照这一节列出几个我踩过的坑和对应的排查方法。报错一401 Unauthorized。这个最常见说明 API Key 无效或者没被正确读取。排查步骤先在终端里运行 echo $ANTHROPIC_API_KEY看是否输出了你的 Key。如果没有输出说明环境变量没生效检查 ~/.zshrc 是否 source 了。如果输出了但仍然是 401检查 Key 是否复制完整有没有多余的空格或换行。另外确认 Base URL 是 https://taotoken.net/api不要写成其他路径。报错二local proxy failed 或 connection refused。这个通常是因为 Base URL 配置错误或者本地网络无法访问 TaoToken 的 API 地址。先检查 ANTHROPIC_BASE_URL 的值确保没有多余字符。然后在终端里用 curl 测试一下curl -I https://taotoken.net/api如果返回 200 或 401 都说明网络通如果超时就是网络问题。报错三reading choices 相关错误。这个一般出现在流式响应解析时可能是 Model ID 不匹配。检查你配置的模型标识是否在 TaoToken 文档的支持列表里。Claude Code 默认会用某个模型你可以在 settings.json 里显式指定{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密钥, ANTHROPIC_MODEL: claude-sonnet-4-20250514 } }Model ID 的具体值以 TaoToken 文档为准不同时间可能有更新。报错四OAuth 相关错误。Claude Code 某些版本会尝试 OAuth 登录如果你用的是 API Key 模式需要确保没有残留的 OAuth token。检查 ~/.claude/ 目录下是否有 credentials.json 之类的文件如果有先备份再删除然后重新用 API Key 配置。报错五lil-agents 找不到 claude 命令。这个不是 API 问题是 PATH 问题。在 lil-agents 设置里手动指定 CLI 绝对路径即可。你可以在终端里用 which claude 拿到路径。报错六编译时提示 Swift 版本不兼容。检查 Package.swift 里的 swift-tools-version如果你的 Swift 版本太低升级 Xcode 或者用 swiftenv 管理多版本。为了让你更清楚各个配置项的作用这里用一个表格对照配置项作用推荐值ANTHROPIC_BASE_URLAPI 请求地址https://taotoken.net/apiANTHROPIC_API_KEY身份认证密钥sk-你的TaoToken密钥ANTHROPIC_MODEL指定模型以文档为准CLI Pathlil-agents 调用路径which claude 的输出排查的时候按顺序来先确认 CLI 能通再确认宠物能调用 CLI最后确认对话能返回结果。每一步都单独验证不要跳步。6. 长期使用建议与接入文档参考桌面宠物跑起来之后你可能会想长期用它。这里给几个实用建议。第一把 claude 命令的别名配好。如果你经常用 Claude Code可以在 ~/.zshrc 里加一个 alias比如 alias ccclaude这样在宠物终端里输入更短。第二定期检查 TaoToken 的 Key 配额和有效期。在 https://taotoken.net/console 可以看到你的使用情况。如果 Key 快到期了提前换一个新的然后更新环境变量。第三如果你同时用多个 CLI 工具比如 Claude Code 和 Codex可以用 TaoToken 的统一 Key 管理。每个工具的环境变量名不同但 Key 可以是同一个。具体配置参考 https://taotoken.net/doc 里的多工具接入说明。第四lil-agents 的项目地址是 https://github.com/ryanstephen/lil-agents你可以关注它的更新。社区也在加新功能比如更多角色、更多主题、更多 CLI 支持。第五如果你想让宠物在特定场景下触发特定动作可以看 lil-agents 的源码里动画状态机的部分。它根据 CLI 的输出状态切换动画你可以扩展这个逻辑。最后如果你在配置过程中遇到问题优先看 TaoToken 的接入文档里面有针对 Claude Code 的详细说明。文档地址是 https://taotoken.net/doc。如果文档里没有覆盖你的场景可以在 console 里提交工单。整个流程的核心就是TaoToken 提供统一的 API 通道Claude Code 通过环境变量或配置文件接入lil-agents 作为可视化外壳调用本地 CLI。三层各司其职配置一次就能长期用。桌面宠物这个玩法虽然看起来是个小创意但它把冷冰冰的命令行工具变成了有反馈的交互对象用起来确实比纯终端舒服。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。