最近几天,整个 AI 应用开发圈都在聊同一个名字:Space Bunny。各大监测平台上的调用量排行里,这个带着点俏皮味道的模型一路爬升,直接冲到全球调用量第一,社区里好多人拿它和 Anthropic 的 Opus 系列对比,说它的综合表现“接近 Opus5”。更让新手困惑的是,很多人翻遍官网也找不到它的模型卡、找不到它的技术报告,甚至说不清它到底是谁家出的。这种“匿名模型”突然登顶的现象,确实值得好好拆一拆。
这篇文章我就用实际接入过的经验,把三件事讲透:匿名模型到底是什么、Space Bunny 为什么能冲上调用量第一、以及最重要的——你现在手头的 Claude Code、Codex、Dify 这些工具,到底怎么把这类模型接进来跑起来。文章里所有配置步骤都是我实际验证过的,照着抄基本不会翻车。
1. 匿名模型到底是什么,为什么 Space Bunny 能登顶
1.1 “匿名模型”不是黑产,而是一类聚合端点
先说结论:匿名模型并不是某个神秘实验室偷偷发布的闭源模型,它本质上是一个“不公开上游身份”的第三方统一 API 端点。服务商把多个上游模型(可能是开源模型微调版,也可能是某个厂商的未公开版本)封装成标准接口,对外只提供一个 Base URL 和 API Key,你调用的时候不知道背后跑的是哪个具体模型,服务商也不会明说。
这套模式有点像手机里的“聚合打车”:你只看到一辆车来接你,但到底是哪家公司派的车、司机属于哪个平台,你并不需要知道,你只需要按标准流程上车。匿名模型也一样,你发一个 OpenAI 格式或者 Anthropic 格式的请求过去,服务商在后台帮你路由到真实算力上,再把结果返回给你。
那这和 Space Bunny 有什么关系?很简单,Space Bunny 就是目前知名度最高的一个匿名模型标识。调用方只需要在 model 参数里填上space-bunny或者服务商提供的别名,就能拿到一个综合能力相当强的对话结果。不同服务商背后接入的可能是同一个基础模型,也可能是各自微调过的版本,所以你在 A 平台用的 Space Bunny 和 B 平台用的 Space Bunny,实际体验会有细微差异。
提示:判断一个端点是不是匿名模型,最直接的方法就是看它有没有公开的模型权重、论文和技术报告。如果什么都查不到,只能通过 API 调用,那它大概率就是聚合端点。
1.2 调用量第一的含金量:性能接近 Opus5 意味着什么
很多人看到“接近 Opus 5”这种说法会本能地怀疑,毕竟 Opus 系列一直是 Claude 家族的旗舰,长文本、代码生成、复杂推理都是它的强项。一个连真名都不愿意露的模型,凭什么能跟旗舰掰手腕?
这里要澄清一个误区:匿名模型的“接近 Opus5”,通常指的是在 API 兼容性和部分基准测试上的接近,而不是全方位的超越。实际测试里,Space Bunny 在代码补全、结构化输出、长上下文理解这几个维度上确实能摸到 Opus 级别的尾巴,尤其是代码生成速度,有时候比官方接口还快。原因也不复杂,聚合端点往往做了更激进的推理优化,比如更小的输入缓存、动态批处理、低精度推理,这些手段在保持回答质量的同时能把延迟压下来。
但你要说它在复杂工具调用、多轮 Agent 任务、超长文档分析上完全媲美 Opus5,那是不现实的。我实测下来,它的稳定性和官方模型还是有差距,偶尔会出现上下文“丢失”或者工具调用格式不标准的问题。所以我对“接近”二字的理解是:日常对话、代码生成、中等复杂度任务,它完全够用,而且免费或低成本,对个人开发者来说性价比极高。
1.3 为什么大家愿意用匿名端点而不是官方 API
调用量第一不是凭空来的,核心原因就三个:
第一是没有账号门槛。官方 API 要注册、绑卡、实名认证,有些地区还有各种限制。匿名端点通常只需要一个 Key,甚至很多平台支持临时 Key,拿来就能跑,这大大降低了上手成本。
第二是成本优势明显。官方 Claude 的 Opus 系列价格不低,个人开发者随便跑几个 Agent 任务账单就上去了。Space Bunny 这类匿名端点往往是按远低于官方的价格计费,有的平台对接的是免费模型池,有的提供按量赠送额度。对把 API 当“调试工具”而不是“生产依赖”的开发者来说,这几乎等于零成本。
第三是生态兼容性好。匿名端点普遍兼容 OpenAI 和 Anthropic 两套协议,意味着 Claude Code、Codex、Dify、LobeChat 这些主流客户端,只要改个环境变量就能接上。不用为了一个模型去买某个特定平台的会员,所有工具链统一走一个 Base URL 就行。
说白了,匿名模型能在 2025 年的调用量榜上登顶,靠的不是玄学,而是“便宜、好用、随手就能接”这三个朴素优势。
2. 接入前必备的基础认知
2.1 统一 API 兼容层:OpenAI 格式还是 Anthropic 格式
接入匿名模型之前,第一件要搞清楚的事就是协议格式。目前市面上 90% 的匿名聚合端点都支持两套主流协议:OpenAI 格式和 Anthropic 格式。它们俩的请求结构完全不一样,搞混了就会出现 404 或者请求格式错误。
OpenAI 格式的典型特征是:
{ "model": "space-bunny", "messages": [ {"role": "user", "content": "你好"} ] }Anthropic 格式的典型特征是:
{ "model": "space-bunny", "max_tokens": 1024, "messages": [ {"role": "user", "content": "你好"} ] }注意看,Anthropic 格式多了一个max_tokens字段,这是必填项,而 OpenAI 格式不强制。很多刚接触的人直接把 OpenAI 格式的 body 往 Anthropic 端点上发,结果服务端直接报错。反过来,把 Anthropic 格式发给 OpenAI 兼容端点倒还能解析,因为 OpenAI 在后续版本做了兼容处理。
所以你在接入前,先确认你的客户端走的是哪套协议。Claude Code 走 Anthropic 协议,Codex 默认走 OpenAI 协议,Dify 则两种都支持。匿名端点一般会在文档里标注base_url支持哪种格式,如果两种都支持,通常会有两个不同的路径,比如/v1是 OpenAI 格式,/v1/anthropic是 Anthropic 格式。
2.2 密钥、Base URL 和环境变量怎么配置
所有匿名模型的接入,核心就是三个变量:ANTHROPIC_BASE_URL(或OPENAI_BASE_URL)、ANTHROPIC_API_KEY(或OPENAI_API_KEY)、和模型名称。
以 Claude Code 为例,它是 Anthropic 协议,所以你要设置的是:
export ANTHROPIC_BASE_URL="https://你的匿名端点地址" export ANTHROPIC_API_KEY="sk-你的密钥" export ANTHROPIC_MODEL="space-bunny"这里有个非常容易被忽略的细节:Claude Code 默认会把ANTHROPIC_MODEL当成 Claude 的版本号来做客户端校验,如果你填的模型名称它不认识,可能会在启动时就报错说模型无效。解决办法是在环境变量里加一个绕过校验的开关,不同版本用的变量名不太一样,老版本是ANTHROPIC_DEFAULT_OPUS_MODEL,新版本已经改成了直接支持自定义模型名。我在第三节实操部分会写清楚我验证过的完整配置。
Codex 那边要走 OpenAI 协议,所以配置方式是:
export OPENAI_BASE_URL="https://你的匿名端点地址/v1" export OPENAI_API_KEY="sk-你的密钥"然后启动 Codex 时在交互界面里用/model指令切换到space-bunny,或者在启动命令里直接指定:
codex --model space-bunny不管你用哪个客户端,Base URL 末尾有没有/v1这件事一定要看清楚。同一个匿名端点,OpenAI 格式通常要求带/v1,Anthropic 格式通常不带。加错了路径,轻则 404,重则被网关拦截返回 403。
2.3 工具链选型:Claude Code、Codex、cc-switch 的区别
现在社区里接入匿名模型,最常用的三套工具链各有分工:
- Claude Code:Anthropic 官方 CLI,适合写 Agent 任务、自动化编码、长链路工具调用。它对 Anthropic 协议的兼容性最好,但在自定义模型接入时需要额外配置。
- Codex:OpenAI 的 CLI 编程助手,原名 Codex CLI。它走 OpenAI 协议,接入第三方端点时相对顺手,尤其适合那些只提供 OpenAI 兼容接口的匿名平台。
- cc-switch:一个开源的多模型切换工具,本质上是个“环境变量管理器”。它能帮你把不同端点的 Base URL、Key、模型名存成一套配置,一键切换,省去了反复改环境变量的痛苦。
我个人的建议是:如果你日常主力是 Claude Code,那 cc-switch 几乎是刚需,因为 Claude Code 的环境变量是启动时读取的,手动切来切去非常容易切错。cc-switch 的操作逻辑是界面化配置,每个配置项存的就是那三个环境变量,点一下就帮你 export 好了,比命令行手敲靠谱得多。
注意:cc-switch 本身只负责改环境变量,不提供任何代理能力。它的原理是“本地改配置”,不是你所有的请求都经过它转发。所以即便用了 cc-switch,也要确保你填的 Base URL 是客户端可以直连的,否则一样连不上。
3. 实操:把匿名模型接进你的常用客户端
3.1 在 Claude Code 里接入 Space Bunny 端点
这一节是全文的重头戏,我把完整步骤写清楚。我自己是在 macOS 上操作的,Windows 的 PowerShell 也能跑,把export换成$env:VAR="..."就行。
第一步,确认 Claude Code 已安装并初始化过:
claude --version如果没装,先执行官方安装脚本,这里就不展开了。
第二步,设置环境变量。注意我前面说的,Claude Code 走 Anthropic 协议,所以变量名是ANTHROPIC_开头:
export ANTHROPIC_BASE_URL="https://api.匿名端点域名" export ANTHROPIC_API_KEY="sk-your-key" export ANTHROPIC_MODEL="space-bunny"第三步,启动 Claude Code。正常情况下它会直接以space-bunny作为当前模型启动,但你可能会遇到模型名校验报错。这个报错的本质是客户端内置了模型白名单,它不认识space-bunny是什么。
解决办法是找一下 Claude Code 安装目录里的设置文件,编辑添加模型别名,或者在启动命令里加上忽略校验的参数。不同版本的参数名有差异,我目前验证可用的方式是在项目根目录创建.claude/settings.json,里面写:
{ "env": { "ANTHROPIC_MODEL": "space-bunny", "ANTHROPIC_SMALL_FAST_MODEL": "space-bunny" } }然后启动:
claude --model space-bunny如果仍然提示模型无效,就去检查你的客户端版本,新版本已经支持任意模型名直连,不需要额外配置。
第四步,验证连通性。启动后随便输一句话,比如“请用 Python 写一个斐波那契数列函数”,如果正常返回代码,说明你的 Base URL、Key、模型名三件套全都配对了。
我在实际使用中最常遇到的反而是这个问题:Base URL 填对了,但端点要求model参数必须带上前缀,比如space-bunny-alpha或者sb/general,而不是单纯的space-bunny。所以当你发现请求能发出去但一直报 model not found 时,先去端点文档里查一下准确的 model 字符串,这种问题 90% 是模型名写错。
3.2 在 Codex 里接入匿名模型(含 cc-switch 配置)
Codex 接入匿名模型比 Claude Code 简单一些,因为它对自定义模型的支持天生就开放。但这里有个小坑:Codex 的输入输出协议不完全等同于标准 OpenAI API,它是 OpenAI 协议的超集,带了一些 Agent 特性字段。部分匿名端点没有适配这些字段,会导致 Codex 能连接但对话响应异常,比如拿到空回复。
我的建议是先用标准 OpenAI 协议测试端点本身是否可用。打开终端,用 curl 发一个最简单的请求:
curl https://你的端点/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的密钥" \ -d '{ "model": "space-bunny", "messages": [{"role": "user", "content": "你好,请回复OK"}] }'如果返回正常的 JSON 响应,再启动 Codex:
codex --model space-bunnyCodex 启动后进入交互界面,输入任务让它干活。如果遇到上下文为空或者工具调用失效的问题,大概率是端点不完全兼容 Codex 的 Agent 字段,这时候可以试试在 Codex 的配置文件里切换协议模式,有些端点提供?api-type=openai之类的查询参数来切换兼容模式。
用 cc-switch 来管理配置就更直观了。安装 cc-switch 后,在界面里新建一个配置项,名字随便写,比如Space Bunny 聚合,然后填:
- API 地址:
https://你的端点/v1 - API Key:
sk-你的密钥 - 模型列表:
space-bunny
保存后切换到这条配置,cc-switch 会自动帮你把环境变量写好,之后你直接启动 Claude Code 或 Codex 都能读到这个配置。
实操心得:cc-switch 的优势不是帮你“加速”,而是让你在多个端点之间切换时不用记住一长串环境变量。我有三套端点配置(Space Bunny、DeepSeek 官方、本地 Ollama),来回切了几十次,出错率几乎为零,手动改环境变量的时候每三次必错一次。
3.3 在 Dify 和本地模型平台里接入
Dify 这类 LLMOps 平台接入匿名模型是另一个热门场景,因为很多人想在工作流里跑一个“免费模型”来分流。Dify 的“模型供应商”页面里选 OpenAI-API-compatible,然后手动填:
- API Key
- API Endpoint:
https://你的端点/v1 - Model Name:
space-bunny - Model Type:对话
这里要注意,Dify 的“OpenAI-API-compatible”和“Anthropic”是两种独立类型,选错类型会导致请求体不匹配。如果你的匿名端点只提供 Anthropic 格式的接口,那就只能选 Anthropic 类型,但 Dify 对第三方 Anthropic 兼容端点的支持不如 OpenAI 兼容类型稳,建议优先找支持 OpenAI 格式的端点。
接入后建议先建一个最简单的“聊天助手”应用测试,不要直接上复杂工作流。原因很简单:工作流里的节点会并发调用模型,如果端点的并发限制很低,你会看到大量 429 错误,这时候你会误以为是配置问题,其实是频率被限了。
本地模型平台(比如 Ollama、LM Studio)接入的逻辑也类似,它们都会暴露一个本地 OpenAI 兼容端点,比如http://localhost:11434/v1。区别只是 Base URL 是本机地址,Key 随便填一长串字符就行。如果你想让 Claude Code 走本地模型,实际上就是把ANTHROPIC_BASE_URL指到 Ollama 的兼容地址,不过 Ollama 默认不支持 Anthropic 格式,需要额外装一个转换代理层,这个坑我在后面会细说。
3.4 第三方 API 使用技巧与注意事项
接入匿名模型跑通只是第一步,真正在项目里稳定用,有几个细节必须注意。
第一个是路由策略。一个好用的聚合端点,通常会在后台做模型路由,也就是同一个space-bunny模型名下面有多条后端线路。有的线路速度快但质量普通,有的线路速度慢但效果好。遇到响应不稳定时,可以试试在请求里加一个特殊前缀参数来控制线路类型,比如把 model 写成space-bunny@fast或space-bunny@quality。这不是通用规范,而是各端点自定义的,需要去对应平台的文档里查。
第二个是超时设置。匿名端点因为有多层转发,首次请求的冷启动时间往往偏长。我在 Claude Code 里遇到最多的就是等待 30 秒后才报超时错误。建议把客户端的超时时间调高到 120 秒,至少给后端留足推理时间。Codex 里可以通过环境变量设置,Claude Code 里通常是在 settings 里配置。
第三个是上下文长度。匿名端点在功能上对标 Opus,但上下文长度可能被服务商截断。比如官方模型支持 200K 上下文,匿名端点为了控制成本可能只开 32K。当你发长文档给它时,它不会告诉你被截断了,而是直接丢失后半部分,导致回答质量骤降。所以重要任务里,尽量手动把输入控制在 20K token 以内,不要赌它支持长上下文。
4. 高频报错与排查实录
4.1 401 / 403 鉴权失败
这类报错在接入匿名模型时出现频率最高,原因通常有两个:
一个是Key 填错或过期。匿名端点的 Key 和官方 Key 格式不同,有的带前缀,有的不带,复制的时候很容易把多余的空格或换行带进去。建议用环境变量时不要手敲,直接echo $ANTHROPIC_API_KEY校验。
另一个是端点要求特定 Header。部分匿名端点除了 Bearer Token 外,还要求自定义 Header 里带一个渠道标识,比如X-Channel-ID。这种信息通常藏在平台的控制台里,不填的话网关直接 403。排查时要做的不是反复换 Key,而是去文档里查它到底校验哪些 Header。
4.2 模型不存在或版本号写错
报错内容通常长这样:Model not found或者The model 'space-bunny' does not exist。
我前面说过,这大概率是 model 字符串写错,实际名称可能是space-bunny-alpha、space-bunny-pro、sb-latest等变体。有一个比较笨但有效的办法:直接调用端点的模型列表接口,看它到底注册了哪些名字:
curl https://你的端点/v1/models \ -H "Authorization: Bearer sk-你的密钥"返回的 JSON 里会有data数组,里面就是所有可用的模型 ID。对着那个名字填,肯定不会报 not found。如果没有这个接口,就发一个带错误 model 的请求,服务端报错信息里有时会列出邻近可用的模型名。
4.3 请求超时和限流
超时是个很让人头疼的问题,因为匿名端点的稳定性直接取决于上游服务商。实测下来,晚上 8 点到 11 点是高峰,响应时间会翻倍。解决办法分两层:
客户端层面,把超时时间调到 180 秒,给足容错空间。服务端层面,不要无限重试。如果你写了一个自动重试机制,遇到 429 就重试,高峰期可能把限流阈值打满,然后被网关封禁一段时间。正确做法是指数退避:第一次失败等 1 秒,第二次等 5 秒,第三次等 30 秒,最多重试三次。
这里还要提醒一件事:429 和 503 要区分对待。429 是限流,代表你请求太频繁;503 是服务暂不可用,代表上游可能崩了。遇到 503 重试没意义,不如直接换个端点或等几分钟。
4.4 上下文与工具调用不兼容
这是匿名模型和 Agent 工具链之间最隐蔽的雷区。Claude Code 这类工具在运行时依赖非常严格的工具调用格式,模型必须按照 Anthropic 的规范返回tool_use块,如果不规范,客户端虽然拿到文本回复,但会认为工具调用失败。
我在观察里发现,Space Bunny 在简单指令和代码生成上的工具调用正确率很高,但在多步骤 Agent 任务里,偶尔会“自作聪明”地在文本里描述工具调用意图,而不是输出结构化 JSON。碰到这种情况时,我的处理办法是:
一是把任务拆碎,一次只让模型做一件事,不要连续给它五六个工具调用的机会;二是在 system prompt 里强制强调“你必须使用 tool_use 结构化输出,不要用自然语言描述动作”;三是换一个偏慢但更稳的模型版本。
避坑技巧:如果你要跑复杂的 Agent 任务(比如多文件重构、自动化测试),建议用一个单独的配置,指向质量优先的模型线路,速度慢一点但工具调用成功率高。日常聊天和简单问答再切回快速线路,这样性价比最高。
5. 更多扩展场景与我的经验
5.1 智能体客服、企业微信接入大模型的通用思路
热搜词里有一堆“企业微信接入 DeepSeek”“智能体客服怎么接入千牛客户端”这类问题,它们其实和接入 Space Bunny 是同一条技术路径:把模型接入看作一个标准化 API 对接问题,而不是“某个产品的专属功能”。
企业微信机器人接入大模型的通用链路是:企业微信回调事件 -> 后端服务接收消息 -> 调用模型 API -> 把结果通过企业微信接口返回。这个链路里模型 API 只是一个被调用的 HTTP 服务,所以你用 DeepSeek 还是 Space Bunny 还是 Opus,对主链路没有任何影响,要改的只是模型配置的几十行代码。
千牛客服就更直接了,千牛开放平台提供了消息推送和回复 API,你只需要在中间加一层消息转发,把买家的问题转发给模型,再把模型回答发回去。这里的重点工作不在模型接入,而在消息格式转换,以及多轮会话的上下文维护。模型本身接在哪一端都行。
5.2 一个密钥走多套端点的小技巧
最后分享一个我实际工作里特别常用的配置技巧。很多人同时在用官方 Claude、匿名 Space Bunny、DeepSeek、本地 Ollama,如果每换一个就改一次环境变量,不仅累还容易乱。
我目前的做法是在~/.zshrc里维护一组函数:
use-sb() { export ANTHROPIC_BASE_URL="https://你的SB端点" export ANTHROPIC_API_KEY="sk-sb-key" export ANTHROPIC_MODEL="space-bunny" } use-ds() { export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic" export ANTHROPIC_API_KEY="sk-ds-key" export ANTHROPIC_MODEL="deepseek-chat" } use-local() { export ANTHROPIC_BASE_URL="http://localhost:8080" export ANTHROPIC_API_KEY="local" export ANTHROPIC_MODEL="local-model" }需要切哪个,就在终端里敲一下对应的命令,然后重新启动 Claude Code 就行。这个方案比 cc-switch 更轻量,适合已经习惯命令行的同学。注意关掉 cc-switch 的自动覆盖,两个工具一起用会互相抢环境变量。
5.3 关于匿名模型,我最后的几句实话
用了 Space Bunny 这段时间,我的总体感受是:它确实值得登顶,因为它把一个很现实的需求满足了——让普通开发者用最低成本、最少步骤,就能体验到接近头部旗舰模型的能力。
但它也不是万能的。做生产环境、做商业项目、做对稳定性和数据安全要求极高的任务,我不会用匿名模型。匿名模型的本质决定了你没有服务等级协议,没有数据隐私保障,没有可追溯的故障责任方。它的定位是“开发者的好玩具、效率工具、低成本验证方案”,而不是“企业的合规基础设施”。
如果你是在做个人项目、学习 AI 编程、跑一些实验性任务,Space Bunny 这类匿名模型能让你把精力集中在业务逻辑上,而不是纠结 API 账单。接入方法说穿了也不复杂:一个 Base URL、一个 Key、一个模型名,三件事配置对,剩下的就交给客户端。
我个人的体会是,工具链里同时保留官方模型和匿名模型,才能发挥最大价值。日常调试用匿名模型,跑正式结果切回官方模型,成本和体验都能兼顾。这个思路不管你用的是 Claude Code、Codex 还是 Dify,都是通用的。