Rivo API 使用文档

一个 Key,调用所有主流 AI 模型。兼容 OpenAI / Anthropic / Gemini 格式,5 分钟接入。

OpenAI / GPT Anthropic / Claude Google / Gemini

快速开始

不管你用什么工具,接入 Rivo 只需要做三件事:

注册账号
打开 Rivo API 控制台,用邮箱注册并登录。
创建 API Key
登录后点左边的 令牌管理新建令牌。创建成功后你会看到一串以 sk- 开头的密钥,点"复制"保存好。
这个 Key 只显示一次,关了就看不到了,请立刻复制。
填到你的工具里
在你用的 AI 工具(Cursor、Claude Code、Codex 等)的设置里,找到"API Base URL"和"API Key"两项,分别填入:
  • API Base URLhttps://api.rivoapi.com(部分工具要加 /v1,下面各工具教程会说明)
  • API Key:刚才复制的 sk-...
CC Switch 快捷导入:在控制台的令牌管理页面,每个 Key 那一行都有 CC Switch 一键导入按钮。如果你安装了 CC Switch(免费开源工具,支持一键切换多个 API 配置),直接点那个按钮就能把 Key 导入到 Claude Code / Codex,不用手动填。

API 信息

下面是你填配置时会用到的地址。如果只是跟着教程走,不用记这些,直接看对应工具的教程复制就行。

配置项
API Base URLhttps://api.rivoapi.com
Chat Completionshttps://api.rivoapi.com/v1/chat/completions
Responses APIhttps://api.rivoapi.com/v1/responses
模型列表https://api.rivoapi.com/v1/models
API Key 格式sk-xxxxxxxx(在控制台令牌管理中获取)

验证你的 Key 是否正常

拿到 Key 后,打开终端(Mac 的"终端"app / Windows 的 PowerShell),粘贴下面这条命令(把 sk-YOUR_API_KEY 换成你的真实 Key):

终端
curl https://api.rivoapi.com/v1/models -H "Authorization: Bearer sk-YOUR_API_KEY"

如果返回一大串 JSON(里面有模型名字),说明 Key 没问题。如果报错,看下面的错误排查

我们可能会使用您的服务使用数据(包括请求和响应内容)用于服务改进、模型优化及相关研究目的。我们会采取合理措施保护您的信息安全。

一键接入脚本

懒得手动改配置文件?用下面的一键脚本,复制到终端跑一下就搞定。把 sk-YOUR_API_KEY 换成你的真实 Key。

Claude Code

Anthropic 官方 CLI 编程工具

curl -fsSL https://rivoapi.com/docs/scripts/claude-code.sh | bash -s -- sk-YOUR_KEY
Win& ([scriptblock]::Create((irm https://rivoapi.com/docs/scripts/claude-code.ps1))) -ApiKey sk-YOUR_KEY

Codex CLI

OpenAI 官方终端编程工具

curl -fsSL https://rivoapi.com/docs/scripts/codex.sh | bash -s -- sk-YOUR_KEY
Win& ([scriptblock]::Create((irm https://rivoapi.com/docs/scripts/codex.ps1))) -ApiKey sk-YOUR_KEY

免梯子装 CodexCLI+Desktop+自动更新

国内直连装最新 Codex CLI 与桌面端、自动配好 Rivo,并持续自动更新(无需梯子、无需人工;镜像自 rivoapi)

Maccurl -fsSL https://rivoapi.com/docs/scripts/install-mac.sh | bash -s -- sk-YOUR_KEY
Winirm https://rivoapi.com/docs/scripts/install-win.ps1 -OutFile i.ps1; .\i.ps1 -ApiKey sk-YOUR_KEY

CLI 与桌面端(Win MSIX / Mac dmg)全部从 rivoapi 镜像直下;Win 桌面走 .appinstaller 原生自动更新,CLI 与 Mac 桌面走后台定时更新。完整性由包签名兜底。

cc-switchClaude+Codex

一条命令同时配好 Claude Code 与 Codex(可选 GPT-5.6)

curl -fsSL https://rivoapi.com/docs/scripts/cc-switch.sh | bash -s -- sk-YOUR_KEY
Win& ([scriptblock]::Create((irm https://rivoapi.com/docs/scripts/cc-switch.ps1))) -ApiKey sk-YOUR_KEY

Cursor半自动

会复制 Key 到剪贴板并打开设置引导

curl -fsSL https://rivoapi.com/docs/scripts/cursor.sh | bash -s -- sk-YOUR_KEY
Win& ([scriptblock]::Create((irm https://rivoapi.com/docs/scripts/cursor.ps1))) -ApiKey sk-YOUR_KEY

Claude VSCode 扩展

配置 VS Code 内嵌终端环境变量

curl -fsSL https://rivoapi.com/docs/scripts/claude-vscode.sh | bash -s -- sk-YOUR_KEY
Win& ([scriptblock]::Create((irm https://rivoapi.com/docs/scripts/claude-vscode.ps1))) -ApiKey sk-YOUR_KEY
脚本做了什么?每个脚本只做一件事:把 Rivo 的地址和你的 Key 写到对应工具的配置文件里。写之前会自动备份原配置。脚本内容完全公开,点这里查看源码
Cursor 为什么是"半自动"?因为 Cursor 把设置存在内部数据库里,没办法通过文件直接写入。脚本会把信息复制到剪贴板,你按提示在 Cursor 设置界面粘贴就行。

API 调用示例

如果你是开发者,想在自己的程序里调用 Rivo API,参考下面的代码:

终端
curl https://api.rivoapi.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "你好"}]
  }'
Python
from openai import OpenAI

client = OpenAI(
    api_key="sk-YOUR_API_KEY",
    base_url="https://api.rivoapi.com/v1"
)

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
先装依赖:pip install openai
Node.js
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-YOUR_API_KEY',
  baseURL: 'https://api.rivoapi.com/v1',
});

const res = await client.chat.completions.create({
  model: 'claude-sonnet-4-6',
  messages: [{ role: 'user', content: '你好' }],
});
console.log(res.choices[0].message.content);
先装依赖:npm install openai

API 端点

所有接口共用 Base URL https://api.rivoapi.com 和同一把 API Key。新项目优先使用核心接口,旧 SDK 或厂商原生协议再展开兼容接口。

核心接口

方法与路径用途
POST /v1/chat/completionsOpenAI 兼容对话,绝大多数 SDK 和工具优先使用
POST /v1/responsesOpenAI Responses API,Codex 与推理型客户端使用
POST /v1/messagesAnthropic Messages,可直接使用 Anthropic SDK
POST /v1/images/generations文生图,支持同步与异步任务
POST /v1/images/edits改图、多图合成与扩图,使用 multipart 表单
POST /v1/videos创建异步视频任务,随后轮询并下载
GET /v1/models列出当前密钥实际可调用的模型
兼容与专项接口
方法与路径用途
POST /v1/responses/compact为支持该能力的 Responses 模型压缩上下文
POST /v1/completions旧版文本补全协议
POST /v1/embeddings文本向量化
POST /v1/audio/transcriptions语音转文字
POST /v1/audio/translations语音转英文文本
POST /v1/audio/speech文字转语音
POST /v1/rerank检索结果重排序
POST /v1/moderations内容审核
WS /v1/realtime实时模型 WebSocket
POST /v1/video/generations通用视频任务兼容格式
POST /v1beta/models/{model}:generateContentGemini 原生协议
明确不支持:/v1/images/variations/v1/files/v1/fine-tunes 尚未实现,请勿按可用能力接入。
模型可用性:接口存在不代表每把密钥都有对应模型。调用前请用 GET /v1/models 查询当前密钥实际可用的模型。

对话与推理

常规 OpenAI SDK 使用 /v1/chat/completions;Codex 或 Responses 客户端使用 /v1/responses;Anthropic SDK 使用 /v1/messages

开启推理模式:把模型名加 -thinking 后缀即可,请求体不用改。例如 claude-sonnet-4-6-thinkingclaude-opus-4-6-thinkingclaude-haiku-4-5-20251001-thinking

OpenAI 风格的 reasoning_effort支持把模型名写成 gpt-5.5-high / gpt-5.5-medium / gpt-5.5-low / gpt-5.5-xhigh,会自动转成 reasoning_effort 参数发给上游;如果你的 SDK 已经能直接传 reasoning_effort 字段也可以。

生图(文生图 + 改图)

生图模型用 gpt-image-2。生图有两个端点,用途完全不同,下面分开说:

端点用途请求格式
POST /v1/images/generations文生图:只靠文字描述生成图JSON
POST /v1/images/edits改图 / 多图合成 / 扩图:上传 1~N 张参考图 + 文字描述multipart/form-data
GET /v1/images/generations/:task_id
GET /v1/images/edits/:task_id
异步轮询:取异步任务结果(见下方④)

① 文生图

终端
curl https://api.rivoapi.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只穿着宇航服的橘猫在月球表面,电影质感",
    "size": "1024x1024",
    "n": 1
  }'

② 改图 / 多图合成(重要)

注意请求格式是 multipart/form-data,不是 JSON。字段支持三种命名方式,自由选用:

单张参考图
curl https://api.rivoapi.com/v1/images/edits \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -F "model=gpt-image-2" \
  -F "[email protected]" \
  -F "prompt=把背景换成沙滩" \
  -F "size=1024x1024"
多张参考图(用 image[])
curl https://api.rivoapi.com/v1/images/edits \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -F "model=gpt-image-2" \
  -F "image[][email protected]" \
  -F "image[][email protected]" \
  -F "image[][email protected]" \
  -F "prompt=把这只猫和这只狗放在这个背景里"
模型选择:请以 GET /v1/models 返回的图像模型为准。DALL-E 2 时代的 /v1/images/variations 不受支持,类似效果请使用 /v1/images/edits

③ 支持的参数(质量 / 尺寸 / 比例 / 背景)

下列参数文生图(JSON 字段)和改图(multipart 表单字段 -F)通用。除 prompt 外都可选;不传则用各自默认值(多数默认 auto,即由模型自动决定)。

参数可选值说明
modelgpt-image-2必填,固定填 gpt-image-2
prompt文字必填。文生图=画面描述;改图=修改指令
n1 ~ N 的整数一次生成几张,默认 1
size常用 1024x1024 / 1536x1024 / 1024x1536 / auto;也支持任意 宽x高(约束见下方说明)出图尺寸 / 分辨率,同时决定画面比例(清晰度由它决定),默认 auto
qualitylow / medium / high / auto渲染质量(出图精细度,不是分辨率)。high 出图最精细、计费为基础价 1.5 倍low / medium / auto 均按基础价(不分档加价)。auto(默认,不传即此值)由模型自动选择,性价比最高
backgroundtransparent / opaque / auto背景:透明 / 不透明 / 自动。透明需配合 pngwebp
output_formatpng / jpeg / webp输出图片格式,默认 png
output_compression0 ~ 100jpeg/webp 生效,压缩质量百分比
moderationauto / low内容审核强度,默认 auto
asynctrue / false异步模式(见下方④),默认 false

常用尺寸 ↔ 比例(下面是推荐值,不是全部—— gpt-image-2 支持任意自定义分辨率,见再下方):

size比例方向适合
1024x10241:1方形头像、图标、商品图
1536x10243:2横向 / 宽幅横版海报、Banner、风景
1024x15362:3竖向 / 长图手机壁纸、竖版海报、人物全身
2880x28801:1大方图(≈4K)高分辨率方图(已到像素上限)
3840x216016:9横向 4K桌面壁纸、视频封面
auto自动模型按 prompt 自己挑(不想纠结时用)
自定义分辨率(gpt-image-2):可以传任意 宽x高,只要满足:① 宽、高都能被 16 整除;② 最长边 ≤ 3840;③ 总像素在 655,360(640×1024)~ 8,294,400(≈4K,如 3840×2160 / 2880×2880) 之间;④ 比例在 1:3 ~ 3:1 之间。合法尺寸原样出图、不降级。也接受 16:9 / 16x9 / 1920×1080 这类写法。仅因边长不是 16 的倍数(或略超长边/像素上限)而不合法的尺寸,会被保持原始宽高比就近吸附到最近的合法尺寸(如 1086x14481088x14561920x10801920x1088),不会压成正方形,也不会报错。局部重绘(/v1/images/edits)传原图尺寸即可让输出跟随原图比例。只有比例本身超出 1:3~3:1 才会回退到最接近的常用比例尺寸。
关于 auto不传 size/quality/background 就等于传 auto,由模型自动决定。计费:按出图尺寸的像素面积计(尺寸越大越贵),size=auto 按 1K 基准价;quality=high 约为基础价的 1.5 倍。默认 auto 即最省档,按需要再调大尺寸或提高质量。
返回格式:同步请求默认返回 base64(b64_json);异步(async:true)轮询返回的是对象存储下载 URL(不占内存,1 小时内有效)。
完整参数示例(文生图,JSON)
curl https://api.rivoapi.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只穿宇航服的橘猫在月球表面,电影质感",
    "size": "1536x1024",
    "quality": "high",
    "background": "auto",
    "output_format": "png",
    "n": 1
  }'
完整参数示例(改图,注意是表单字段 -F)
curl https://api.rivoapi.com/v1/images/edits \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -F "model=gpt-image-2" \
  -F "[email protected]" \
  -F "prompt=把背景换成沙滩,保留人物" \
  -F "size=1024x1536" \
  -F "quality=high" \
  -F "background=transparent" \
  -F "output_format=png"

④ 异步模式(生图慢、批量时强烈推荐)

生图通常要 1~4 分钟。异步模式下提交即拿 task_id,无需一直挂着连接等待,更适合批量生成、慢图和自动化脚本,也避免长连接超时。用法:请求里加 "async": true(文生图是 JSON 字段,改图是 multipart 表单字段 -F "async=true"),秒回 task_id,再 GET 轮询取结果。和视频是同一套思路。

异步三步走
# 1. 提交(文生图加 "async":true;改图用 -F "async=true")
curl https://api.rivoapi.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -d '{"model":"gpt-image-2","prompt":"一只在窗台晒太阳的橘猫","size":"1024x1024","n":1,"async":true}'
# 返回: {"id":"imggen_123","object":"image.generation.task","status":"queued",...}

# 2. 轮询任务(改图同理用 /v1/images/edits/<task_id>)
curl https://api.rivoapi.com/v1/images/generations/<task_id> \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
# 处理中: {"status":"processing"}
# 成功:   {"status":"succeeded","data":[{"url":"<图片下载链接>"}]}
# 失败:   {"status":"failed","error":{...}}    (HTTP 200,错误在 body 里)

# 3. 成功后直接下载 data[].url(对象存储链接,1 小时内有效)
异步说明:按成功出图计费、失败不计费、轮询不计费;图片存对象存储,轮询返回的是下载 URL(不是 base64,不占内存,1 小时内有效)。n>1 时提交返回 data 数组、每张一个 task_id,各自轮询。

视频

视频生成都是异步任务:先 POST 提交任务拿到 task_id,再 GET 轮询拉结果。我们提供 4 套端点,按需选一套:

端点协议 / 上游说明
POST /v1/videos + GET /v1/videos/:idOpenAI Sora 兼容推荐起步用这套(最简单)
POST /v1/video/generations + GET /v1/video/generations/:id通用 task对接 Runway / fal.ai 等聚合上游
POST /kling/v1/videos/text2video
POST /kling/v1/videos/image2video
可灵原生需要可灵原生字段时使用
POST /jimeng/即梦原生字节即梦 Action API 格式
GET /v1/videos/:task_id/content通用任务完成后下载视频文件(mp4)
OpenAI Sora 兼容三步走
# 1. 提交任务
curl https://api.rivoapi.com/v1/videos \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -d '{
    "model": "sora-2",
    "prompt": "一只猫在草地上奔跑,电影镜头",
    "seconds": "8",
    "size": "1280x720"
  }'
# 返回里取出 id(即 task_id)

# 2. 轮询任务状态
curl https://api.rivoapi.com/v1/videos/<task_id> \
  -H "Authorization: Bearer sk-YOUR_API_KEY"

# 3. 状态 completed 后下载视频
curl https://api.rivoapi.com/v1/videos/<task_id>/content \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -o output.mp4

音频

端点用途常用模型
POST /v1/audio/transcriptions语音转文字(可保留原语言)whisper-1
POST /v1/audio/translations语音转文字并翻译成英文whisper-1
POST /v1/audio/speech文字转语音(TTS)tts-1tts-1-hd
文字转语音示例
curl https://api.rivoapi.com/v1/audio/speech \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -d '{
    "model": "tts-1",
    "input": "你好,世界",
    "voice": "alloy"
  }' \
  --output speech.mp3

Claude Code 配置

Claude Code 是 Anthropic 官方出的命令行 AI 编程助手,在终端里用,非常强大。

前提:需要先装 Node.js(版本 18 以上)。Mac/Linux 终端输入 node --version 能看到版本号就行。没装的话去 nodejs.org 下载安装。

安装 Claude Code

终端
npm install -g @anthropic-ai/claude-code

Mac/Linux 如果提示权限不够,前面加 sudo。装完输入 claude --version 确认能出版本号。

方式一:配置文件(推荐,永久生效)

编辑 ~/.claude/settings.json(没有这个文件就新建一个),写入:

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.rivoapi.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-YOUR_API_KEY"
  }
}
注意两个坑:
1. 变量名是 ANTHROPIC_AUTH_TOKEN 不是 ANTHROPIC_API_KEY,用错了会认证失败。
2. 如果你之前用过官方 Anthropic 账号登录,先跑 claude /logout 退出,否则会冲突。

方式二:环境变量(临时用一下)

终端
export ANTHROPIC_BASE_URL="https://api.rivoapi.com"
export ANTHROPIC_AUTH_TOKEN="sk-YOUR_API_KEY"
claude
PowerShell
$env:ANTHROPIC_BASE_URL = "https://api.rivoapi.com"
$env:ANTHROPIC_AUTH_TOKEN = "sk-YOUR_API_KEY"
claude

验证

启动 Claude Code 后输入 /status,看到 Anthropic base URL 显示 https://api.rivoapi.com 就成功了。

在 Claude Code 里使用 GPT 模型

完成上面的 Rivo Base URL 和 Key 配置后,Claude Code 也可以直接使用 GPT 模型。Rivo 会接收 Claude Code 的 Anthropic 格式请求,并自动路由到对应的 GPT 上游,Base URL 和 Key 不需要修改

方法一:在 Claude Code 中用 /model 切换(推荐)

启动 Claude Code 后直接输入完整模型名:

Claude Code
/model gpt-5.6-sol

也可以只输入 /model 打开模型选择器。如果列表里暂时没有显示 GPT 模型,直接输入上面的完整命令即可。切换后用 /status 确认当前模型。

其它 GPT-5.6 档位:gpt-5.6-sol 是旗舰档;需要更高性价比或更快响应时,可切换为 gpt-5.6-terragpt-5.6-luna。可用模型见下方模型列表

调整 GPT 推理强度(effort)

切换到 GPT 模型后,可以用 /effort 调整速度和推理深度:

Claude Code
/effort high

可选档位为 lowmediumhighxhighmax。档位越高,复杂任务通常推理更充分,但响应更慢、消耗也更高。只输入 /effort 可以打开交互式选择器。

也可以在启动时同时指定模型和 effort。普通 Claude Code 使用第一行;如果你的 ccp 快捷命令会把参数透传给 Claude Code,则使用第二行:

终端
claude --model gpt-5.6-sol --effort high
ccp --model gpt-5.6-sol --effort high
Rivo 会把 Claude Code 发出的 output_config.effort 转换为 GPT 上游使用的 reasoning_effort。日常编码建议从 high 开始,特别复杂的重构或调研再使用 xhigh / max

方法二:在配置文件中设为默认模型

想让以后每次启动都默认使用 GPT,在 Claude Code 配置文件的顶层加入 model

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.rivoapi.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-YOUR_API_KEY"
  },
  "model": "gpt-5.6-sol",
  "effortLevel": "high"
}

effortLevel 是可选项,用来设置新会话的默认推理强度。改完后重启 Claude Code,再输入 /status 验证。之后仍然可以随时用 /model/effort 切换。

使用 ccp 等自定义快捷命令时:如果快捷命令设置了 CLAUDE_CONFIG_DIR,应修改该目录下的 settings.json。例如 CLAUDE_CONFIG_DIR=~/.claude-solo 时,实际配置文件是 ~/.claude-solo/settings.json,修改普通的 ~/.claude/settings.json 不会生效。
想保留 /model 自由切换时,不要在 env 中固定 ANTHROPIC_MODEL环境变量的优先级高于配置文件顶层的 model,会导致新会话再次被锁回环境变量指定的模型。推荐使用上面的顶层 "model": "gpt-5.6-sol" 写法。

WebSearch 显示 Did 0 searches

如果 Claude Code 能发起 WebSearch,但最后显示搜索 0 次,通常不是 API Key 失效,而是搜索所用的后台模型被自定义配置强制改成了 GPT。主对话仍然可以使用 GPT,但 WebSearch 后台任务需要使用支持 Anthropic 搜索工具的 Claude 模型。

检查模型覆盖:在当前实际生效的 settings.json、Shell 启动脚本或快捷命令中查找 CLAUDE_CODE_SUBAGENT_MODELANTHROPIC_DEFAULT_HAIKU_MODEL。如果它们被设置为 gpt-*,请删除该覆盖,或改成 Claude 模型。
终端排查
# 查看 Claude Code 实际使用的配置目录
echo "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"

# 查看当前进程继承到的后台模型覆盖
env | grep -E 'CLAUDE_CODE_SUBAGENT_MODEL|ANTHROPIC_DEFAULT_HAIKU_MODEL'
PowerShell 排查
# 查看 Claude Code 实际使用的配置目录
if ($env:CLAUDE_CONFIG_DIR) { $env:CLAUDE_CONFIG_DIR } else { "$HOME\.claude" }

# 查看当前进程继承到的后台模型覆盖
Get-ChildItem Env: | Where-Object Name -Match 'CLAUDE_CODE_SUBAGENT_MODEL|ANTHROPIC_DEFAULT_HAIKU_MODEL'

例如可以把后台模型改为 claude-haiku-4-5-20251001。修改后需要完全退出并重新启动 Claude Code;已经运行的会话不会自动读取新配置。

想切回官方 Anthropic 订阅?

删掉 Rivo 的配置,重新用官方账号登录:

终端
# 打开 ~/.claude/settings.json,删掉 env 里的 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN
# 然后重新登录官方账号
claude /login

Codex CLI 配置

Codex CLI 是 OpenAI 官方的终端 AI 编程助手。

前提:需要 Node.js 22 以上版本。终端输入 node --version 确认。没装去 nodejs.org 下载 LTS 版。

安装

终端
npm install -g @openai/codex

写配置文件

需要创建两个文件。先创建目录:Mac/Linux 是 ~/.codex/,Windows 是 %USERPROFILE%\.codex\

文件 1:~/.codex/config.toml

~/.codex/config.toml
model_provider = "OpenAI"
model = "gpt-5.6-sol"

[model_providers.OpenAI]
name = "OpenAI"
base_url = "https://api.rivoapi.com/v1"
wire_api = "responses"
requires_openai_auth = false
http_headers = { "x-openai-actor-authorization" = "local-image-extension" }

[features]
image_generation = true

文件 2:~/.codex/auth.json

~/.codex/auth.json
{
  "auth_mode": "apikey",
  "OPENAI_API_KEY": "sk-YOUR_API_KEY"
}
一个 Rivo Key 同时用于对话和生图。上面的配置会开启 Codex 原生 image_gen,图片请求仍发送到 api.rivoapi.com,不需要另配 OpenAI Key 或安装生图插件。
别手打 key,一定要从控制台「令牌」页面用复制按钮复制。 key 里的小写字母 l 和数字 1、大写 O 和数字 0 长得几乎一样,手打极易输错,结果就是 401 Unauthorized: Invalid token。复制后可先粘到记事本确认开头是 sk-、前后无空格、无断行,再填进命令。
不要requires_openai_auth 改回 true,也不要删除 x-openai-actor-authorization。否则 API Key 会话不会注册原生生图工具,Codex 会错误地要求配置官方 OPENAI_API_KEY
Codex Desktop 用户注意活动 Provider。桌面端会按 model_provider 标识保存和筛选本地历史。不要为了换 Key 把已有 custom 强改成 OpenAI,否则会话文件仍在,但侧边栏会像“全部丢失”。最新版一键脚本会优先复用原有 Rivo Provider,并同步修补它的配置。

启动验证

完全退出 Codex Desktop(Mac 用 Cmd+Q,不能只关窗口)或结束旧 CLI 进程,再重新打开并新建会话。旧会话不会热刷新工具列表。输入“调用 image_gen 生成一张绿苹果图片”,看到图片保存并展示才算验证成功。

想切回 ChatGPT 自己的订阅?

终端
# 删掉指向 Rivo 的配置
rm -f ~/.codex/auth.json ~/.codex/config.toml

# 重新走 ChatGPT 官方登录
codex login

看到 "auth_mode": "chatgpt" 就切回去了。

Codex Desktop 配置

Codex Desktop 是桌面版,和 Codex CLI 共用同一份配置文件。按上面 Codex CLI 配好就行。

配置后需要完全退出 Codex Desktop 并新建会话:macOS 用 ⌘Q,Windows 从任务栏托盘退出。Codex 在会话启动时注册 image_gen,旧会话不会自动获得新工具。

如果对话仍提示配置官方 OPENAI_API_KEY,说明当前还是旧配置或旧会话。重新运行 Rivo 一键脚本,完全退出 Codex Desktop 后再新建会话。

cc-switch 一键切换(含 GPT-5.6)

cc-switch 是一款跨平台桌面工具,用来管理多家 API 供应商、在 Claude Code / Codex / Gemini CLI 等之间一键切换。把 Rivo 加进去有两种方式:

方式一:一键脚本(推荐)

先跑下面的脚本——它会把 Claude Code~/.claude/settings.json)和 Codex~/.codex/config.toml + auth.json)这两个 cc-switch 托管的真实配置文件都写好(自动备份、幂等合并,不覆盖你已有的其它设置)。把 sk-YOUR_KEY 换成你的 Key:

Mac / Linux
curl -fsSL https://rivoapi.com/docs/scripts/cc-switch.sh | bash -s -- sk-YOUR_KEY
Windows (PowerShell)
& ([scriptblock]::Create((irm https://rivoapi.com/docs/scripts/cc-switch.ps1))) -ApiKey sk-YOUR_KEY

跑完后打开 cc-switch,在对应工具下点 「从当前配置导入 / Import current」,就会生成一个 Rivo 供应商,之后随时一键切换。

方式二:在 cc-switch 里手动添加供应商

工具(预设)Base URLAuth / API Key备注
Claude Codehttps://api.rivoapi.com你的 Rivo Key(sk-…)用 claude-* 模型
Codexhttps://api.rivoapi.com/v1你的 Rivo Key(sk-…)wire_api = responses;用 gpt-* 模型
Base URL 结尾不要带 /——cc-switch 对末尾斜杠敏感,多一个斜杠会导致 401 / 连接失败。

GPT-5.6 全系列(Sol / Terra / Luna)

GPT-5.6 走 OpenAI / Codex 通道。三个档位按官方价对齐计费:

模型定位官方价(输入 / 输出,每 1M tokens)
gpt-5.6-sol旗舰,最强推理$5 / $30
gpt-5.6-terra均衡,性价比高$2.5 / $15
gpt-5.6-luna轻量高速$1 / $6

在 Codex 里把 config.tomlmodel 改成对应名字即可;或用一键脚本直接指定模型(第 2 个参数):

终端
curl -fsSL https://rivoapi.com/docs/scripts/codex.sh | bash -s -- sk-YOUR_KEY gpt-5.6-sol
Codex、CC Switch 和控制台统一使用 gpt-5.6-sol。历史配置中的 gpt-sol-5.6 仍可兼容,无需重装。

Cursor 配置

Cursor 是很多人用的 AI 代码编辑器。接入 Rivo 后,Chat / Agent / Cmd+K 都能用自定义模型。

前置要求:Cursor 仅 Pro 订阅及以上(Pro / Business / Enterprise)支持自定义 API Base URL 与第三方 Key。Free 版没有 Override OpenAI Base URL 开关,无法接入 Rivo。可在 Cursor → Settings → 账户页查看订阅状态。

配置步骤

打开设置
Cursor 顶部菜单 → SettingsCursor Settings → 左边选 Models
填 API Key
展开 API Keys → 打开 OpenAI API Key 开关 → 粘贴你的 Rivo Key(sk- 开头,注意不要有空格)
填 Base URL
打开 Override OpenAI Base URL → 填:https://api.rivoapi.com/v1
必须带 /v1,不带的话 Cursor 会请求错误的地址
添加模型
在搜索框输入 rivo-5.5-xhigh(GPT-5.5 高推理强度,推荐)或其他 rivo-* 模型 → 点 Add Custom Model → 确认开关是开的。
别填原生模型名claude-* / gpt-* / o1-*),Cursor 会按这些前缀走它自己的限速 / 内置模型,请求可能根本不发到 Rivo。
测试
回到聊天面板,关掉顶部的 Auto 开关,在模型下拉里选你刚加的模型,发一条消息试试。

Rivo 可用模型(在 Cursor 里填这些名字)

推荐用 rivo-* 别名。原因:填 claude-sonnet-4-6 这种原生名,Cursor 可能识别到同名内置模型、走它自己的额度,不经过你的 Rivo Key;填 gpt-* / o1-* 还会被 Cursor 客户端按"OpenAI 桶"本地限速,请求可能根本发不出来。

Cursor 里填实际模型
正在加载…
想调推理强度?在别名后面加后缀就行,Rivo 会自动注入 reasoning_effort
rivo-5.5-xhigh(最强,推荐 GPT-5.5 配它)/ rivo-5.5-high / rivo-5.5-medium / rivo-5.5-low / rivo-5.5-minimal
后缀对所有 rivo-* 别名通用,不需要再加额外配置;客户端如果自己传了 reasoning_effort,则以客户端为准。

遇到问题?

你看到的原因和解法
"Rate Limit Exceeded" / "User Provided API Key Rate Limit Exceeded"Cursor 把很多错误都显示成这个,**多数情况下请求根本没发出去**。按顺序查:① 模型名是不是含 gpt / o1 / o3 / chatgpt(Cursor 会按这些关键字本地限速)→ 改用 rivo-5.5-xhigh 这种不含上述关键字的别名 ② Base URL 是否带了 /v1 ③ Key 是否完整 ④ 余额是否充足 ⑤ 令牌是否被禁用
"Model name is not valid"Cursor 客户端不认这个模型名。换成 rivo-* 别名就行
聊天面板找不到模型① 关掉 Auto 开关 ② 确认 Models 页里该模型的开关是开的
回复只有一两个字检查项目里是否有 .cursor/rules/*.mdcalwaysApply: true,Cursor 会把 rule 注入 prompt,可能影响输出

想切回 Cursor 自带的额度?

Settings → Cursor Settings → Models 里:

  • 关掉 OpenAI API Key 开关
  • 清空 Override OpenAI Base URL
  • 删掉你添加的 rivo-* 自定义模型
  • 打开 Auto 开关,回到 Cursor 内置模型

Claude Desktop 配置

Claude Desktop 是 Anthropic 的桌面客户端(Cowork 模式),支持第三方 API Provider。

macOS 配置步骤

启用开发者模式
打开 Claude Desktop → 顶部菜单栏 HelpTroubleshootingEnable Developer Mode → 确认后应用会重启
配置第三方接口
重启后不要登录。顶部菜单栏会出现 Developer → 点 Configure Provider,填入:
  • Gateway base URLhttps://api.rivoapi.com
  • Gateway API key:你的 Rivo Key(sk-...
应用并重启
点右下角 Apply locally → 选 Relaunch now
进入使用
重启后点 Continue with gateway,就能用了。Cmd+1 Cowork 界面 / Cmd+2 编码界面

Windows 配置步骤

逻辑一样,入口不同:打开 Claude Desktop → 在欢迎页按 Tab 键直到左上角菜单图标高亮 → 按 Enter → 选 DeveloperConfigure third-party interface → 填同样的 Gateway URL 和 Key。

切换多个 Provider:Developer → Configure Provider → 右上角下拉选 New configuration,可以保存多套配置来回切。

想切回官方 Anthropic 账号?

Developer → Configure Provider → 删掉 Rivo 的配置(或切到空白配置)→ Relaunch → 正常登录 Anthropic 账号即可。

Kiro IDE 配置

Kiro 是 AWS 出的 AI IDE。它本身不支持改 Base URL,但可以在它的内置终端里用 Claude Code。

在 Kiro 内置终端里运行 claude(前提是你按上面 Claude Code 教程配好了环境变量或 settings.json)。

Windsurf 配置

Windsurf(原 Codeium)原生不支持自定义 API,需要装 Roo Code 扩展来接入 Rivo。步骤见 Roo Code 配置

Cline 配置

Cline 是 VS Code 上很火的 AI 编程扩展。

打开设置
VS Code 里点 Cline 面板的 ⚙️ 图标
选 Provider
下拉选 OpenAI(或 OpenAI Compatible
填配置
  • Base URLhttps://api.rivoapi.com/v1
  • API Keysk-YOUR_API_KEY
  • Modelclaude-sonnet-4-6gpt-5.4

Roo Code 配置

Roo Code(原 Roo Cline)是 VS Code / Cursor / Windsurf 通用的 AI 扩展。

装扩展
扩展市场搜 Roo Code,装上
打开设置
点 Roo Code 面板右上角 ⚙️
选 Provider
API Provider 选 OpenAI Compatible
填配置
  • Base URLhttps://api.rivoapi.com/v1
  • API Keysk-YOUR_API_KEY
  • Model IDclaude-sonnet-4-6

Continue.dev 配置

Continue 是 VS Code / JetBrains 的开源 AI 编程扩展。

安装后点 ⚙️ 打开 config.yaml,加入:

~/.continue/config.yaml
models:
  - name: Rivo Claude
    provider: openai
    model: claude-sonnet-4-6
    apiBase: https://api.rivoapi.com/v1
    apiKey: sk-YOUR_API_KEY
  - name: Rivo GPT
    provider: openai
    model: gpt-5.4
    apiBase: https://api.rivoapi.com/v1
    apiKey: sk-YOUR_API_KEY

Aider 配置

Aider 是终端 AI 结对编程工具。

~/.zshrc 或 ~/.bashrc
export OPENAI_API_KEY="sk-YOUR_API_KEY"
export OPENAI_API_BASE="https://api.rivoapi.com/v1"

然后用 openai/ 前缀跑:

终端
aider --model openai/claude-sonnet-4-6

OpenCode 配置

OpenCode 是终端 TUI AI 编程工具。

启动后输入 /connect → 选 Other → Provider ID 填 rivo → 粘贴 Key。

或者直接编辑配置文件 ~/.config/opencode/opencode.json

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "rivo": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Rivo API",
      "options": {
        "baseURL": "https://api.rivoapi.com/v1",
        "apiKey": "sk-YOUR_API_KEY"
      }
    }
  },
  "model": "rivo/claude-sonnet-4-6"
}

OpenClaw 配置

OpenClaw 是可自部署的 AI 助手网关,能接 WhatsApp、Telegram、Slack 等。

前提:Node.js 22.16+ 或 24+。Windows 用户建议用 WSL2。

方式一:向导接入(推荐新手)

安装 OpenClaw
终端
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
装完跑 openclaw --help 确认能用。
跑向导
终端
openclaw onboard
在向导里选"Custom provider"
按提示填入:
  • 兼容类型:选 OpenAI-compatible
  • Base URLhttps://api.rivoapi.com/v1
  • Modelgpt-5.4claude-sonnet-4-6
  • Provider IDrivo
  • API Key:你的 Rivo Key
如果选 Anthropic-compatible,Base URL 填 https://api.rivoapi.com(不带 /v1)。
验证
终端
openclaw doctor && openclaw status && openclaw dashboard
浏览器打开后发一条消息,能回复就成功了。

方式二:直接编辑配置文件

编辑 ~/.openclaw/openclaw.json

~/.openclaw/openclaw.json
{
  "env": { "RIVO_API_KEY": "sk-YOUR_API_KEY" },
  "agents": {
    "defaults": {
      "model": { "primary": "rivo/claude-sonnet-4-6" }
    }
  },
  "models": {
    "providers": {
      "rivo": {
        "baseUrl": "https://api.rivoapi.com/v1",
        "apiKey": "${RIVO_API_KEY}",
        "api": "openai-completions",
        "models": [
          { "id": "claude-sonnet-4-6", "name": "Claude Sonnet 4.6" },
          { "id": "gpt-5.4", "name": "GPT-5.4" }
        ]
      }
    }
  }
}
最容易写错的地方:默认模型必须写成 rivo/模型名(有斜杠),不能只写模型名。

Cherry Studio 配置

Cherry Studio 是多模型 AI 桌面客户端,支持 Windows / macOS / Linux。

添加服务商
设置模型服务添加服务商 → 选 OpenAI 类型
填配置
  • 服务商名称:随便填,比如 Rivo
  • API 地址https://api.rivoapi.com
  • API Keysk-YOUR_API_KEY
拉模型列表
获取模型 按钮,会自动列出所有可用模型
开始聊天
新建对话,选刚加的模型,发一条验证
想用 Claude 原生格式?再加一个 Anthropic 类型服务商,API 地址同样填 https://api.rivoapi.com,Key 相同。Rivo 的一个 Key 同时支持 OpenAI 和 Anthropic 两种格式,不需要分开建。

ChatBox 配置

ChatBox 多平台 AI 桌面客户端。

设置AI 模型提供商OpenAI API

  • API Hosthttps://api.rivoapi.com
  • API Keysk-YOUR_API_KEY
  • API Path:保持默认

Open WebUI 配置

Open WebUI 自部署 AI 聊天界面。

管理员登录 → 右上角头像 → 管理员面板设置连接

  • OpenAI API base URLhttps://api.rivoapi.com/v1
  • API Keysk-YOUR_API_KEY

Docker 部署时加环境变量也行:-e OPENAI_API_BASE_URL=https://api.rivoapi.com/v1 -e OPENAI_API_KEY=sk-YOUR_API_KEY

LobeChat 配置

LobeChat 开源 AI 聊天框架。

左下角头像 → 设置语言模型OpenAI

  • API Keysk-YOUR_API_KEY
  • API 代理地址https://api.rivoapi.com/v1

检查 按钮验证。

NextChat 配置

NextChat(ChatGPT Next Web)开源 Web 聊天客户端。

左下角 设置

  • 接口地址https://api.rivoapi.com
  • API Keysk-YOUR_API_KEY

沉浸式翻译 配置

沉浸式翻译 浏览器翻译扩展。

扩展 → 设置翻译服务 → 选 OpenAI

  • API Keysk-YOUR_API_KEY
  • 自定义接口地址https://api.rivoapi.com/v1/chat/completions
  • 模型gpt-5.4-mini(推荐,翻译够用又便宜)

OpenAI SDK 接入

Rivo 完全兼容 OpenAI SDK,改两行就行:base_urlapi_key

Python(流式输出)

Python
from openai import OpenAI

client = OpenAI(api_key="sk-YOUR_API_KEY", base_url="https://api.rivoapi.com/v1")

stream = client.chat.completions.create(
    model="claude-opus-4-6",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Node.js / TypeScript

TypeScript
import OpenAI from 'openai';

const client = new OpenAI({ apiKey: 'sk-YOUR_API_KEY', baseURL: 'https://api.rivoapi.com/v1' });

const stream = await client.chat.completions.create({
  model: 'claude-opus-4-6',
  messages: [{ role: 'user', content: 'Hello' }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || '');
}

环境变量配置(通用)

很多工具都支持通过环境变量配置,设一次到处生效。

OpenAI 兼容工具(Codex、Aider、LangChain 等)

~/.zshrc 或 ~/.bashrc
export OPENAI_API_KEY="sk-YOUR_API_KEY"
export OPENAI_BASE_URL="https://api.rivoapi.com/v1"

Anthropic 兼容工具(Claude Code 等)

~/.zshrc 或 ~/.bashrc
export ANTHROPIC_BASE_URL="https://api.rivoapi.com"
export ANTHROPIC_AUTH_TOKEN="sk-YOUR_API_KEY"

注意:Anthropic 格式的 Base URL 不加 /v1

Windows(PowerShell 永久设置)

PowerShell(管理员)
[System.Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-YOUR_API_KEY", "User")
[System.Environment]::SetEnvironmentVariable("OPENAI_BASE_URL", "https://api.rivoapi.com/v1", "User")
设完重启终端才生效。

支持的模型

下面是主推模型,完整列表在控制台的模型价格页面。

Claude 系列(Anthropic)

Rivo 预置别名(推荐,避开 Cursor 校验问题):

别名实际模型
加载中…

原生模型名:

模型说明
claude-opus-4-7最强推理
claude-opus-4-6上一代 Opus
claude-sonnet-4-6均衡首选
claude-haiku-4-5快速轻量

GPT 系列(OpenAI)

模型说明
gpt-5.4最新旗舰
gpt-5.4-mini高性价比
gpt-5.3-codex编程专用
gpt-5.1-codex-max编程能力天花板

Gemini 系列(Google)

模型说明
gemini-3.1-pro-preview最新 Pro
gemini-3-flash快速
gemini-2.5-pro百万级上下文
获取全部模型列表
curl https://api.rivoapi.com/v1/models -H "Authorization: Bearer sk-YOUR_API_KEY"

错误排查

遇到报错?对照下表找原因:

错误信息含义解决方法
401 / Invalid token / 无效的令牌Key 不对或已失效去控制台重新复制 Key,确认完整(sk- 开头)且没有多余空格;新建的 Key 也一直 401?见案例一案例三
403 / ForbiddenKey 没有权限访问该模型检查令牌是否绑定了模型白名单,或分组是否正确;codex 用户见案例四
429 / Rate Limit请求太频繁稍等几秒重试,或在控制台调整令牌的速率限制
Insufficient balance / 余额不足额度用完了控制台充值
No available channel / 无可用渠道该模型暂时没有上游可用等几分钟重试,或换一个模型
502 Bad Gateway连接上游失败通常是临时性问题,1-2 分钟后重试;若报错来自 127.0.0.1(CC Switch 本地代理)见案例五
连接失败 / 发送请求时出错 / error sending request(本地代理)你本机网络连不出去,请求没到服务器重启网络代理或换个网络;见案例五
正在重新连接 1/5…5/5,URL 已是 api.rivoapi.comAPI 长连接可能被 Clash/Surge 等再次转发到境外代理重跑一键配置,或在代理规则中添加 DOMAIN,api.rivoapi.com,DIRECT;见案例六
503 Service Unavailable上游过载或维护中切换模型或稍后重试
返回 HTML 而不是 JSONBase URL 填错了确认 URL 是 https://api.rivoapi.com/v1(该带 /v1 的要带)
万能排查法:用 curl 直接请求试试(命令在上面)。如果 curl 正常但工具报错,说明问题在工具的配置,不是 Rivo 的问题。

连接类问题实战案例(一直重试 / 401 / stream disconnected)

以下案例来自真实用户排障,覆盖了绝大多数「客户端一直重试,最后失败」的情况。对号入座,一般 3 分钟能修好。

案例一:Claude Code 一直 401,但 Key 明明是新建的、也没填错

症状:新建了 Key、地址也配对了,Claude Code 仍然「正在重新连接」然后失败;控制台用量里完全看不到你的请求。

原因:电脑上残留了 ANTHROPIC_API_KEY 环境变量(常见是以前配 DeepSeek、阿里百炼等其他平台时留下的)。Claude Code 会把它和 ANTHROPIC_AUTH_TOKEN 同时发出去,而服务端优先校验 ANTHROPIC_API_KEY 那一把——你新配的 Key 永远轮不到被校验,于是永远 401。

自查:在 Claude Code 里输入 /status——如果同时看到 Auth token: ANTHROPIC_AUTH_TOKENAPI key: ANTHROPIC_API_KEY 两行,就是这个问题。

修复(Windows):

  1. PowerShell 运行 echo $env:ANTHROPIC_API_KEY,有输出就是它在捣乱
  2. 系统设置 → 搜「编辑账户的环境变量」→ 删除 ANTHROPIC_API_KEY(用户变量和系统变量都检查)
  3. 再看 C:\Users\你的用户名\.claude\settings.json"env" 段里若有 ANTHROPIC_API_KEY 也删掉
  4. 完全退出 Claude Code 重新打开,/status 只剩 Auth token 一行即修好

修复(macOS / Linux):终端运行 echo $ANTHROPIC_API_KEY,有值就到 ~/.zshrc~/.bashrc~/.claude/settings.json 里删掉对应行,重开终端和 Claude Code。

案例二:codex 报「stream disconnected before completion: error sending request」,重连 5 次失败

症状:报错里的 URL 是 https://rivoapi.com/...(注意——没有 api. 前缀)。

原因:Base URL 配成了主域名。主域名走 Cloudflare 代理,长流式请求(模型思考期长时间不吐字)在部分网络环境下会被中间层掐断。

修复:把 Base URL 改成直连地址——codex 填 https://api.rivoapi.com/v1,Claude Code 填 https://api.rivoapi.com。改完立即恢复。

案例三:一直 401,后台却查不到你的任何请求记录

要点:401/403 的请求不会出现在用量日志里——「后台没记录」不代表请求没发出去,恰恰说明 Key 没通过认证。

常见原因:Key 在控制台被删除或重置过(客户端还存着旧的);复制时带了空格、少了字符;或贴成了别家平台的 Key(Rivo 的 Key 是 sk- 开头 + 48 位字母数字混合;sk- + 32 位纯十六进制的是别家平台的)。

修复:到控制台重新完整复制一次 Key 并替换客户端里的旧值。

案例四:403「该令牌无权访问模型 gpt-5.5-codex」

原因:令牌开了「模型白名单」但只勾了 gpt-5.5。codex 客户端默认请求的是 gpt-5.5-codex,不在白名单里就 403,客户端表现同样是反复重试。

修复:编辑令牌,把 gpt-5.5-codex 一起加入白名单(或干脆不限制模型)。

案例五:CC Switch 报「502 网关错误 / 转发失败:连接失败:发送请求时出错」

症状:报错来自 CC Switch 本地代理(127.0.0.1:15721),Base URL 是对的(带 api. 前缀,如 https://api.rivoapi.com/v1/responses),提示「连接失败 / 发送请求时出错 / error sending request」。

原因:这是你本机的网络连接问题——CC Switch 往上游转发时连不出去,请求还没到 Rivo 服务器。不是账号或余额问题,我们后台也查不到这条请求。

修复:依次尝试 ① 重启 CC Switch / 你的网络代理或 VPN ② 换一个网络(如手机热点)。codex 一般会自动重连,任务通常不会坏。

案例六:URL 已是 api.rivoapi.com,Codex / Cursor 仍反复重连

症状:Codex 显示「正在重新连接 1/5…5/5」,最后报 stream disconnected before completion: error sending request;报错 URL 已经是正确的 https://api.rivoapi.com/v1/responses

原因:Clash、Surge、Shadowrocket 等系统代理把 api.rivoapi.com 又送进了境外代理节点。这样实际链路会变成「本机 → 境外代理 → Rivo 国内入口 → 美西服务」,多出一个容易中断的长连接跳点;某次断开会触发 1/5 重试,连续 5 次失败就是最终报错。

修复:重新运行本页的一键配置脚本,它会自动追加系统代理例外和 NO_PROXY。也可在代理软件规则顶部手动添加 DOMAIN,api.rivoapi.com,DIRECT。修改后完全退出并重开 Codex / Cursor / Claude Code。

常见问题

Q: Rivo 和直接用 OpenAI / Anthropic 官方 API 有什么区别?

接口格式完全一样,只是换了个地址和 Key。额外好处:一个 Key 能调所有厂商的模型、有用量统计和负载均衡。

Q: 支持流式输出吗?

支持。请求里加 "stream": true 就行。

Q: Claude Code 提示认证失败?

先跑 claude /logout,确认用的是 ANTHROPIC_AUTH_TOKEN(不是 ANTHROPIC_API_KEY),重启。如果一直 401,大概率是电脑上残留了旧的 ANTHROPIC_API_KEY 环境变量把新 Key 顶掉了——见错误排查·案例一

Q: Cursor 里 Base URL 要不要加 /v1?

要加。https://api.rivoapi.com/v1

Q: 为什么 Cursor 提示 "Model name is not valid"?

rivo-* 别名就行,Cursor 对非内置模型名不做校验。

Q: 支持哪些 API 格式?

  • OpenAI 格式/v1/chat/completions/v1/responses/v1/embeddings/v1/images/generations
  • Anthropic 格式/v1/messages
  • Gemini 格式/v1beta/models/*