曜智枢

曜智枢 中转服务使用指南#

本文面向使用曜智枢 API 中转服务的用户:把曜智枢当作一个兼容 OpenAI / Claude / Gemini 协议的模型接口地址,接入自己的客户端、插件或代码。

阅读顺序建议:只想尽快跑通,看第一章;要接入工具,看第六章;要接 Agent,看第七章;报错不清楚原因,直接查第九章第十章

站点地址:https://www.yotopivot.top 本文只写接口怎么调。模型名称、可用范围与账号额度请在站内的「模型广场」和「控制台」查看。


一、五分钟快速开始#

第 1 步:注册并登录#

  1. 打开 https://www.yotopivot.top
  2. 注册账号:填写用户名、密码、邮箱,并在邮箱验证码一栏点击发送验证码,填入收到的验证码完成注册。
  3. 注册后登录,进入控制台。

第 2 步:创建 API 密钥#

  1. 在控制台左侧进入「API 密钥」(地址 https://www.yotopivot.top/keys)。
  2. 点击新建密钥,填写名称,按需设置分组、模型限制、IP 白名单、过期时间与额度,保存。
  3. 在列表里点该条目的「复制密钥」,得到形如 sk-xxxxxxxx... 的密钥;点「复制连接信息」可以一次拿到接口地址与密钥。

密钥只在创建时方便复制,请立即保存。一个应用配一枚密钥,出问题可以单独禁用,不必影响其他工具。

第 3 步:接进你用的工具#

先分清你是哪一类,两条路的做法不一样:

图形客户端只需要填两样东西:

要填的项
接口地址 / API 地址 / Base URL https://www.yotopivot.top/v1
API 密钥 / API Key 你在控制台创建的密钥,形如 sk-xxxxxxxx...

不管走哪条路,都建议先用命令行确认密钥可用(把 sk-xxxxxxxx 换成你的密钥):

curl https://www.yotopivot.top/v1/models \
  -H "Authorization: Bearer sk-xxxxxxxx"

返回里 data 数组就是这枚密钥当前可以调用的模型名。接着发一条最小的对话请求(把 模型名 换成返回列表里的任意一个):

curl https://www.yotopivot.top/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "模型名",
    "messages": [{"role": "user", "content": "你好"}]
  }'

能拿到正常回答,说明这一章已经完成,后面按需选读。


二、API 基本信息#

服务地址#

用途 地址
OpenAI 兼容接口(绝大多数客户端填这个) https://www.yotopivot.top/v1
Claude 兼容接口 https://www.yotopivot.top/v1(对话端点为 /v1/messages
Gemini 原生接口 https://www.yotopivot.top/v1beta
绘画任务(Midjourney 类) https://www.yotopivot.top/mj
音乐任务(Suno 类) https://www.yotopivot.top/suno

客户端里通常要求填「Base URL / 接口地址」,填到 /v1 为止;少数插件要求填完整的请求地址,这时要带上具体端点,例如 https://www.yotopivot.top/v1/chat/completions

鉴权方式#

所有中转接口都需要 API 密钥,支持以下几种写法:

场景 写法
通用(推荐) 请求头 Authorization: Bearer sk-xxxxxxxx
Claude 协议 /v1/messages 请求头 x-api-key: sk-xxxxxxxx(也可用 Authorization
Gemini 协议 /v1beta/... 请求头 x-goog-api-key: sk-xxxxxxxx,或查询参数 ?key=sk-xxxxxxxx
Realtime(WebSocket) 连接协议头 Sec-WebSocket-Protocol 中带 openai-insecure-api-key.sk-xxxxxxxx
Midjourney Proxy 类客户端 请求头 mj-api-secret: sk-xxxxxxxx

密钥被当作敏感信息处理:不要写进会公开的代码仓库、前端页面或截图里。

响应头与请求追踪#

每个响应都会带一个请求编号:

X-Oneapi-Request-Id: 202609200202124569850508268d9d6Ub6AWfdu

报错时,响应体里的 message 也会带上同一个编号,例如 ... (request id: 2026092...Ub6AWfdu)。反馈问题时把这个编号一起贴上,能最快定位到具体那一次请求。

关于报错语言#

同一类错误,服务端会按客户端声明的语言返回中文或英文文案,例如密钥无效在中文环境下是「无效的令牌」,在英文环境(或未声明语言,如大多数 curl 默认请求)下是 Invalid token。判断错误请以 HTTP 状态码 + 错误码 为主,文案仅作参考。


三、支持的接口#

OpenAI 兼容#

接口 说明
POST /v1/chat/completions 对话补全,最常用;支持 stream: true 流式返回
POST /v1/completions 旧版文本补全
POST /v1/responses Responses 协议
POST /v1/responses/compact Responses 上下文压缩
POST /v1/embeddings 文本向量
POST /v1/images/generations 图片生成
POST /v1/images/edits 图片编辑(图生图 / 局部重绘)
POST /v1/edits 旧版图片编辑端点
POST /v1/audio/transcriptions 语音转文字
POST /v1/audio/translations 语音翻译
POST /v1/audio/speech 文字转语音
POST /v1/rerank 重排序
POST /v1/moderations 内容审核
GET /v1/models 查询当前密钥可用的模型列表
GET /v1/models/{模型名} 查询单个模型
GET /v1/realtime Realtime 语音对话(WebSocket)

Claude 兼容#

接口 说明
POST /v1/messages Claude Messages 协议,可用 x-api-key 头鉴权

Gemini 兼容#

接口 说明
POST /v1beta/models/{模型}:{动作} Gemini 原生格式,例如 :generateContent
GET /v1beta/models Gemini 原生模型列表
GET /v1beta/openai/models 以 OpenAI 格式列出 Gemini 可用模型

任务类#

绘画与音乐属于异步任务型接口,提交后需要再查询结果:

接口 说明
POST /mj/submit/* 提交 Midjourney 类绘画任务
GET /mj/task/{id}/fetch 查询绘画任务结果
POST /suno/submit/{动作} 提交音乐任务
POST /suno/fetchGET /suno/fetch/{id} 查询音乐任务结果

暂不支持#

以下端点会返回「接口未实现」,请不要在客户端里配置:


四、查询可用模型#

不要凭记忆猜模型名,直接问接口:

curl https://www.yotopivot.top/v1/models \
  -H "Authorization: Bearer sk-xxxxxxxx"

返回结构:

{
  "success": true,
  "object": "list",
  "data": [
    {
      "id": "模型名",
      "object": "model",
      "created": 1700000000,
      "owned_by": "...",
      "supported_endpoint_types": ["openai", "openai-response"]
    }
  ]
}

有两点值得注意:

  1. 这个列表是「按密钥」算出来的,不是全站模型清单。密钥所属分组、以及密钥自身的模型限制,都会收窄这里的结果。
  2. supported_endpoint_types 表示该模型支持哪些调用形式,客户端里选错端点类型会报模型不可用;以它为准,不要硬套。

站内的「模型广场」(https://www.yotopivot.top/pricing)可以按模型查看说明与调用示例,点进任意模型详情即可看到可直接复制的 cURL、Python、TypeScript、JavaScript 片段。

模型规格以 Codex 客户端为准#

本站的 ChatGPT / Codex 系列模型是把 Codex 客户端的链路反代出来的,不是官方 API 直连。所以涉及模型规格时,请对照 Codex 客户端,而不是 OpenAI 官方 API 文档——尤其是上下文长度:

模型 上下文长度
5.6 系列 400K
6astra 800K

在客户端或代码里照抄官方 API 的数字来配上下文预算,很容易和实际可用长度对不上;拿不准时以上表为准,表里没列出的模型可在「模型广场」看该模型的说明,或直接咨询站点管理员。


五、API 密钥与分组#

API 密钥上可以设置什么#

创建密钥时可配置的字段,对应到实际行为:

字段 作用
名称 仅用于你自己区分用途
分组 决定这枚密钥走哪一档模型集合。不填则跟随账号默认分组
模型限制 打开后只能调用你勾选的模型,其余模型一律拒绝
IP 白名单 限制只有指定 IP / 网段可以调用,适合部署在固定服务器上的应用
额度 / 无限额度 限制这枚密钥总共能用多少;设为无限额度则不受密钥额度约束
过期时间 到期自动失效,可设为永不过期
跨分组重试 仅当分组是 auto 时生效,允许在分组间自动重试

API 密钥页的常用操作#

在「API 密钥」页每一行的操作菜单里可以:

推荐做法#


六、客户端配置教程#

以下每个客户端的通用逻辑都一样:接口地址填 https://www.yotopivot.top/v1,API 密钥填你在控制台创建的那串 sk- 密钥,模型名从 /v1/models 的返回里挑。不同版本界面用词略有差异,以你当前版本为准。

0. 先试站内一键导入#

在控制台「API 密钥」页对应密钥的操作菜单里选择「Chat」,如果本机装了受支持的客户端,会直接拉起并写入地址与密钥,省去手填。一键导入失败时,按下面的手动方式配置。

同一个操作菜单里还有另一个入口「CC Switch」,服务的是 Claude Code / Codex / Gemini 这类命令行工具——两条路径分工不同:图形客户端走「Chat」,命令行工具走「CC Switch」。

「Chat」子菜单当前支持的客户端,以及自动导入失败时手动该怎么填:

客户端(点名字进下载页) 在令牌页菜单里选 手动配置时填什么
Cherry Studio Cherry Studio API 地址 https://www.yotopivot.top/v1,再手动添加模型名
AionUI AionUI OpenAI 兼容,API 地址 https://www.yotopivot.top/v1
DeepChat DeepChat OpenAI 兼容,API 地址 https://www.yotopivot.top/v1
Lobe Chat Lobe Chat 官方示例 Base URL https://www.yotopivot.top/v1
AI as Workspace AI as Workspace Base URL https://www.yotopivot.top/v1
AMA 问天 AMA 问天 服务器地址填站点域名,密钥填 sk- 密钥
OpenCat OpenCat 域名填站点域名,Token 填 sk- 密钥
流畅阅读 流畅阅读 由站内直接把密钥发送到浏览器扩展,无需手填
CC Switch 操作菜单里的独立入口 第 1 节的地址对照表

表里带链接的都是各客户端的官方站点或发布页;AMA 问天目前没有稳定的公开下载页,用站内一键导入即可。

下面详细写的 Cherry Studio、Chatbox、NextChat、沉浸式翻译、Cursor / Cline、Claude Code,是使用量最大、也最容易填错地址的几款;其余客户端按上表填写即可,界面用词以你当前版本为准。

1. CC Switch(Claude Code / Codex / Gemini 一键写入)#

如果你用 Claude Code、Codex 或 Gemini 这类命令行工具,这是最省事的一条路:站内直接生成配置并拉起 CC Switch 导入,不用手抄地址和密钥。

2. Cherry Studio#

3. Chatbox#

4. NextChat#

5. 沉浸式翻译#

6. 编码类工具(Agent)#

Cursor、Cline 这类能读写代码、自己跑命令的工具单独成章,见第七章;Claude Code、Codex CLI、Gemini CLI 等命令行工具也在那一章。


七、主流 Agent 接入#

这一章讲的是能自己读写代码、执行任务的工具(Agent):既有带界面的桌面应用与编辑器插件,也有跑在终端里的命令行工具。每个工具的写法定死为「安装 → 配置 → 验证 → 易错点」,配置字段都对照各自的官方文档核对过(来源列在本章末尾)。

先按协议对号入座,再跳到对应小节:

工具 界面 协议 接口地址怎么填
DeepSeek Harness(dsh) 本地 Web 控制台 OpenAI 兼容 https://www.yotopivot.top/v1
ZCode 桌面应用 OpenAI 或 Anthropic 7.1.2
Trae IDE OpenAI 兼容 7.1.3(要求完整接口地址)
Cursor IDE OpenAI 兼容 https://www.yotopivot.top/v1
Cline / Roo Code 编辑器插件 OpenAI 兼容 https://www.yotopivot.top/v1
Continue 编辑器插件 OpenAI 兼容 https://www.yotopivot.top/v1
Codex CLI 命令行 Responses https://www.yotopivot.top/v1
Claude Code 命令行 Claude https://www.yotopivot.top(不带 /v1
Gemini CLI 命令行 Gemini https://www.yotopivot.top
Qwen Code 命令行 OpenAI 兼容 https://www.yotopivot.top/v1
iFlow CLI 命令行 OpenAI 兼容 https://www.yotopivot.top/v1
Kimi Code CLI 命令行 OpenAI 或 Anthropic https://www.yotopivot.top/v1

先提醒一句:Agent 会自己发起多轮请求、带上长上下文,额度与限流消耗远高于聊天。建议一个 Agent 配一枚密钥(见第五章),并在密钥上打开模型限制,避免它误用高价模型。

7.1 带界面的 Agent#

7.1.1 DeepSeek Harness(dsh,DeepSeek 官方开源)#

dsh 是 DeepSeek 官方开源的 Agent 执行框架,跑在你自己机器上,通过浏览器里的控制台操作。

npx @deepseek-ai/dsh web

7.1.2 ZCode(智谱,桌面应用)#

7.1.3 Trae#

7.1.4 Cursor#

7.1.5 Cline / Roo Code#

7.1.6 Continue#

7.2 命令行 Agent#

7.2.1 Codex CLI(Responses 协议)#

本站的 ChatGPT / Codex 系列本身就是 Codex 链路,所以 Codex CLI 属于「原生对口」的用法。

model_provider = "yotopivot"
model = "模型名"
disable_response_storage = true

[model_providers.yotopivot]
name = "YOTOPIVOT"
base_url = "https://www.yotopivot.top/v1"
wire_api = "responses"
requires_openai_auth = false
env_key = "YOTOPIVOT_API_KEY"

7.2.2 Claude Code(Claude 协议)#

export ANTHROPIC_BASE_URL="https://www.yotopivot.top"
export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxx"
export ANTHROPIC_MODEL="模型名"

Windows PowerShell:

$env:ANTHROPIC_BASE_URL = "https://www.yotopivot.top"
$env:ANTHROPIC_AUTH_TOKEN = "sk-xxxxxxxx"
$env:ANTHROPIC_MODEL = "模型名"

7.2.3 Gemini CLI(Gemini 协议)#

{
  "baseUrl": "https://www.yotopivot.top",
  "apiKey": "sk-xxxxxxxx"
}

也可以改用环境变量提供密钥:GEMINI_API_KEY=sk-xxxxxxxx

7.2.4 Qwen Code#

export OPENAI_BASE_URL="https://www.yotopivot.top/v1"
export OPENAI_API_KEY="sk-xxxxxxxx"
export OPENAI_MODEL="模型名"

也可以写进 ~/.qwen/settings.json 的 provider 条目(baseUrl + envKey),效果一致。

7.2.5 iFlow CLI#

7.2.6 Kimi Code CLI#

[providers.yotopivot]
type = "openai"
base_url = "https://www.yotopivot.top/v1"
api_key = "sk-xxxxxxxx"

[models."模型名"]
provider = "yotopivot"
model = "模型名"
max_context_size = 400000

7.3 暂未确认支持自定义端点的工具#

下面这些工具在官方文档里没有找到自定义 Base URL / 第三方端点的配置项(核对日期见文末),目前建议直接使用它们的官方账号。如果你在官方文档里找到了接入方式,欢迎反馈给我们补充:

工具 核对结果
通义灵码(阿里) 未找到自定义端点配置项
CodeGeeX(智谱) 未找到自定义端点配置项
文心快码 Comate(百度) 未找到自定义端点配置项
CodeBuddy(腾讯) 未找到自定义端点配置项

7.4 Agent 场景的常见问题#

本章配置字段的官方依据#


八、SDK 与 curl 示例#

curl(非流式)#

curl https://www.yotopivot.top/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "模型名",
    "messages": [
      {"role": "system", "content": "你是一个简洁的助手"},
      {"role": "user", "content": "用三句话解释什么是 API 中转"}
    ],
    "temperature": 0.7
  }'

curl(流式)#

在请求体里加 "stream": true

curl -N https://www.yotopivot.top/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "模型名",
    "messages": [{"role": "user", "content": "数到十"}],
    "stream": true
  }'

返回是 SSE 流,每行以 data: 开头,最后以 data: [DONE] 结束。

Python(OpenAI 官方 SDK)#

from openai import OpenAI

client = OpenAI(
    base_url="https://www.yotopivot.top/v1",
    api_key="sk-xxxxxxxx",
)

resp = client.chat.completions.create(
    model="模型名",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

流式读取:

stream = client.chat.completions.create(
    model="模型名",
    messages=[{"role": "user", "content": "数到十"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Node / TypeScript(OpenAI 官方 SDK)#

import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://www.yotopivot.top/v1',
  apiKey: 'sk-xxxxxxxx',
})

const resp = await client.chat.completions.create({
  model: '模型名',
  messages: [{ role: 'user', content: '你好' }],
})
console.log(resp.choices[0].message.content)

只要兼容 OpenAI,就在这两处填对#

绝大多数第三方库 / 框架只需两个设置:

base_url = https://www.yotopivot.top/v1     # 注意结尾的 /v1
api_key  = sk-xxxxxxxx                      # 你的密钥

模型名不要用示例里的占位符,先从 /v1/models 里选。


九、错误响应与错误码#

响应结构#

曜智枢自身拦截产生的错误是 OpenAI 风格的结构:

{
  "error": {
    "message": "无效的令牌 (request id: 202609200202124569850508268d9d6Ub6AWfdu)",
    "type": "new_api_error",
    "code": "insufficient_user_quota"
  }
}

常见错误码速查#

HTTP code 典型提示 原因与处理
401 无效的令牌 / Invalid token 密钥抄错、被禁用或已删除。回「API 密钥」页核对并重新复制
401 未提供令牌 / 未提供令牌 请求没带鉴权信息。检查 Authorizationx-api-key?key=
403 用户已被封禁 账号被停用,请联系站点管理员
403 access_denied 您的 IP 不在令牌允许访问的列表中 密钥设置了 IP 白名单,当前出口 IP 不在范围。改用正确网络或在密钥里补上 IP
403 无权访问 x 分组 / 分组 x 已被弃用 密钥的分组当前不可用,换个分组或留空跟随账号默认分组
403 该令牌无权访问模型 x 密钥开了模型限制且不含该模型。改模型名或调整密钥的允许列表
403 insufficient_user_quota 用户额度不足, 剩余额度: … 账号额度不足。到控制台「钱包」查看并补充
400 未指定模型名称,模型名称不能为空 请求体里缺 model 字段
503 model_not_found 分组 x 下模型 y 无可用渠道 该模型在当前分组暂时没有可用来源。换模型或稍后重试
400 model_not_found 当前模型或当前分组中的渠道未授权图片生成能力 选用的模型不支持生图。换支持生图的模型,并确认端点用的是图片接口
429 您已达到请求数限制:n 分钟内最多请求 m 次 触发限流。降低频率,或改为串行发送、加退避重试
429 您已达到总请求数限制:n 分钟内最多请求 m 次,包括失败次数 同上,且失败请求也计入。先修掉报错请求再重试
501 api_not_implemented API not implemented 调用了暂不支持的端点。改用受支持端点
404 Invalid URL (GET /v1/xxx) 请求路径写错(多为重复或漏写 /v1)。核对端点拼写

其他状态码#

500 / 502 / 503 还有一类是上游模型服务的临时故障,表现为调用一个本来正常的模型突然失败。这类错误通常重试即可恢复;如果连续多次失败,按第十章的模板反馈。


十、常见问题排查#

按状态码定位

流式输出中断

先确认客户端支持 SSE,并且没有代理或网关缓冲响应。若用的是自建反向代理,需要关闭对 text/event-stream 的缓冲。

图片生成失败

  1. 确认模型本身支持生图(在模型广场看该模型的说明与端点类型);
  2. 确认调的是 /v1/images/generations/v1/images/edits,不是对话端点;
  3. 若提示渠道未授权图片生成能力,说明当前分组没有生图渠道,换分组或换模型。

提示内容被拦截

提示词或生成结果触发上游安全策略时会被拦截,对应错误码可能为 prompt_blockedsensitive_words_detected。调整措辞后重试,不要靠改参数绕过。

想知道自己用了多少


十一、获取帮助#

遇到问题请带上以下信息,可以少走几个来回:

  1. X-Oneapi-Request-Id(响应头,或错误信息里 request id: 后面那串);
  2. 出现时间(精确到分钟);
  3. 调用的接口路径与模型名;
  4. HTTP 状态码与完整错误信息;
  5. 使用的客户端或 SDK 名称与版本。

不要在反馈里贴完整密钥;需要核对时说明「密钥前 8 位」即可。