统计
近 14 天用量
模型用量 Top 10
模型探测
输入模型 ID、显示名并选择区域,测试通过后可加入 /v1/models模型列表
近期错误
| 时间 | 模型 | Key | 状态码 | 错误信息 | |
|---|---|---|---|---|---|
账号
添加账号(OAuth 登录)
点击开始后,在打开的浏览器页面中完成授权登录。登录端点按账号身份选择:国内版与国际版账号可同时添加,各自走各自端点、互不影响。凭证仅保存在本地 data 目录。
开启后,OAuth 登录请求随机使用代理池中的一个 IP;关闭则直连
| 账号 | 状态 | 区域 | 代理 | 可用 | 总额 | 有效期 | 操作 |
|---|---|---|---|---|---|---|---|
|
|
密钥
| Key | 备注 | 请求数 | Tokens | 今日/日限 | 总额度 | 过期 | 状态 | |
|---|---|---|---|---|---|---|---|---|
|
签到与成长中心
每日签到
| 账号 | 区域 | 签到 | 活动 | 今日积分 | 连续签到 | 操作 |
|---|---|---|---|---|---|---|
成长中心
| 账号 | 区域 | 旅行状态 | 盲盒次数 | 能量 | 连签 | 操作 |
|---|---|---|---|---|---|---|
余额
总剩余
总容量
总已用
账号消耗
今日 / 近 7 天各账号 tokens 与积分消耗(按请求日志聚合)
| 账号 | 区域 | 今日 tokens | 今日积分 | 近7天 tokens | 近7天积分 | 请求数 |
|---|---|---|---|---|---|---|
| 账号 | 区域 | 剩余 | 总额 | 已用 | 使用率 | 额度包 | 到期 | |
|---|---|---|---|---|---|---|---|---|
|
|
|
|||||||
|
|
||||||||
日志
统计
| 时间 | 模型 | 回退 | 账号 ID | Key | 流式 | P / C / T | 积分 | finish | 耗时 | 状态 | 错误 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 回退— |
模型回退
回退状态
当某模型连续失败达到阈值后,自动回退到指定模型;到期自动取消,也可手动取消。策略请在「设置 → 模型回退」配置。
| 源模型 | 回退到 | 剩余时间 | 操作 |
|---|---|---|---|
设置
基本
默认端点(回退值):仅作 OAuth 登录与无 domain 账号的兜底;账号按自身身份路由,不再全局限制
多账号时的请求分配策略:round_robin 顺序轮询,random 随机;任一账号故障时自动切换下一账号
格式 host:port,如 127.0.0.1:10082、0.0.0.0:8080、:8080;修改后需手动重启服务生效
上游自请求发出至开始响应的等待上限(1-3600 秒),超时即中止本次请求;流式连接建立后(含推理阶段)不再受超时约束。修改后需重启服务生效
修改管理密码
留空表示不修改密码;修改后下次登录使用新密码
签到与缓存
由服务端定时执行签到
含秒共 6 段,如 0 0 9 * * * 表示每天 9:00 执行
每天在此范围内随机取一个时刻签到,最晚 23:30
当天没签成时:23:50 尝试,若失败 23:55 重试,再失败当天放弃
签到后自动领旅行礼物、派 Buddy 出发、开盲盒、领任务奖(幂等)
凭据续期与额度恢复
账号 access_token 剩余有效期不足阈值时,服务端自动刷新续期(需保留 refresh_token)
剩余有效期 ≤ 该天数即自动续期,续到上游新到期日
被标注「额度耗尽」的账号(如后来补充额度),服务端定期探测,恢复后自动放开轮询
每隔该分钟数探测一次额度是否恢复
IP 代理池
每个代理一行;可随机分配给账号,也可一键检测连通性。检测失败可单独删除;账号连续 3 次经代理失败会自动摘除该代理(改直连)。
「只为没有代理的账号分配」仅补足当前直连账号;「全部重新分配」则清空重分所有账号。
开启后,登录账号的请求使用代理池 IP(优先取已有账号代理,否则取池内首个);关闭则直连
客户端指纹版本
出站请求复刻官方客户端指纹所用版本号与环境信息(x-stainless-*)。默认值随官方快照,通常无需改动;仅当上游升级校验版本、旧版本被拦截时在此更新。留空保存 = 恢复默认。改后即时生效(无需重启)。账号可在「账号」页单独覆盖一套专属指纹(增强反检测)。
模型回退
开启后,某模型连续失败达阈值自动回退到指定模型;关闭则不触发
源模型连续失败达到该次数即触发回退
回退状态持续时长,到期自动取消
每行一条「源模型 -> 目标模型」,留空表示不指定任何回退策略(默认开启但无动作)。
全局提示词
开启后,注入的提示词会拼接到每条请求(Chat / Messages / Responses)的首个 system 消息里,对所有客户端生效
开启后直接替换客户端自带的 system 提示词(Claude Code / Cline / 各类 SDK 的谨慎、拒绝、先询问设定会被整体抹掉),只保留下方的执行模式。客户端未带 system 时自动新建一条。关闭则为普通模式:拼接在客户端 system 之后,客户端自带设定仍在同一段里,模型可能优先服从它,效果不稳定。
自动去除 Claude Code 身份指纹(避免上游渠道拦截),并带注入标记防重复注入;留空则不注入。
日志
超限时自动删除最旧日志,与保留天数同时生效
添加到桌面(iOS)
在 iPhone / iPad 主屏幕生成一个直达面板的图标,免去每次输入地址。点按钮后按系统提示安装即可,无需了解技术细节。
- 用 iOS 设备(Safari)打开本页面,点上方按钮
- 按提示允许,随后到「设置」里安装描述文件
- 主屏幕出现「Buddy2API」图标,点开即达
接口文档
使用说明
本服务把 CodeBuddy / WorkBuddy 上游代理成标准的 OpenAI 兼容 API,并额外兼容 Anthropic Messages 与 OpenAI Responses 两种协议。任意一种协议的官方 SDK / CLI 都能直接接入。
| Base URL | |
| 鉴权方式 | Authorization: Bearer <你的 API Key>(在「密钥」页创建) |
| 可用模型 | 见「统计」页模型列表(/v1/models 仅返回对话可用集) |
鉴权
所有 /v1/* 接口都要求携带 API Key,通过 Authorization 请求头传递(也兼容 X-API-Key 头):
Authorization: Bearer <你的 API Key>
Key 在「密钥」页创建(可自定义或随机生成)。缺少或无效的 Key 会返回 401:
{ "error": { "message": "API Key 无效", "type": "invalid_request_error", "code": "invalid_api_key" } }
错误码
| 上游 code | 含义 |
|---|---|
11102 | 模型不存在或未授权(仅授权用户可用) |
11115 | 输入过长 |
11128 | 未授权渠道调用,或首条消息不是 system |
11133 | 参数被模型提供商拒绝 |
10001 | 签到活动未开启 |
未知模型不会透传上游 11102:本服务会直接返回 400,code 为 model_not_found,并在错误信息中列出当前可用模型。
1. OpenAI Chat Completions
兼容所有 OpenAI Chat 客户端。
| 端点 | POST /v1/chat/completions |
| 用途 | OpenAI SDK、各种 Chat 应用接 CodeBuddy 上游 |
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填。可用模型 id(如 auto) |
messages | array | 必填。对话消息(system/user/assistant/tool) |
stream | bool | 是否流式(支持) |
2. Anthropic Messages
让 Claude Code 等 Anthropic 客户端直接连本服务。
| 端点 | POST /v1/messages |
| 请求头 | 需额外带 anthropic-version: 2023-06-01 |
| 用途 | Claude Code / Anthropic SDK |
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填。映射到上游模型 |
max_tokens | int | 必填(Anthropic 规范) |
messages | array | 必填。含 system / user / assistant 角色 |
stream | bool | 可选(支持流式 SSE) |
3. OpenAI Responses
让 Codex(OpenAI Responses 协议)等客户端连本服务。
| 端点 | POST /v1/responses |
| 用途 | Codex CLI / Responses SDK |
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填。 |
instructions | string | 系统指令 |
input | string/array | 用户输入 |
max_output_tokens | int | 可选 |
调用示例(curl)
# 1) Chat Completions
curl {BASE}/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello"}]}'
# 2) Anthropic Messages
curl {BASE}/v1/messages \
-H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{"model":"auto","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'
# 3) OpenAI Responses
curl {BASE}/v1/responses \
-H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
-d '{"model":"auto","input":"Hello","max_output_tokens":256}'
# 4) 可用模型列表
curl {BASE}/v1/models -H "Authorization: Bearer $API_KEY"
# 5) 健康检查(无需鉴权)
curl {BASE}/health
其中 {BASE} 即本页面地址;$API_KEY 在「密钥」页创建。
客户端接入要点
| 客户端 | 协议 | Base URL 填法 |
|---|---|---|
| OpenAI SDK | chat/completions | OPENAI_BASE_URL=本地址 |
| Claude Code | messages | ANTHROPIC_BASE_URL=本地址/v1 且 ANTHROPIC_AUTH_TOKEN=你的 Key |
| Codex | responses | 指定 OPENAI_BASE_URL=本地址,模型选 CodeBuddy 可用模型 |
注:流式(stream)请求支持逐事件 SSE 实时输出;非流式请求返回完整 JSON。