接入教程

用 SDK 和 curl 直接调用 ROIBest AI

ROIBest AI

不是所有场景都跑在 CLI 客户端里。自己写脚本、接到现有服务、或者只是想快速验证一条链路时,直接调接口最省事——官方 SDK 一行都不用改,只换 base URL 和密钥。

网关暴露的端点

ROIBest AI 同时提供两套协议,端点和官方保持一致:

Anthropic 兼容(需要 Anthropic 兼容分组的密钥)

  • POST /v1/messages
  • POST /v1/messages/count_tokens

OpenAI 兼容(需要 OpenAI 兼容分组的密钥)

  • POST /v1/chat/completions
  • POST /v1/responses
  • POST /v1/embeddings
  • POST /v1/images/generationsPOST /v1/images/edits
  • GET /v1/models

认证两种写法都接受:

Authorization: Bearer <你的密钥>
x-api-key: <你的密钥>

选哪个取决于 SDK 的习惯,不必特意统一。

curl:最快的验证方式

接任何客户端之前先跑一次 curl,可以把"网关能不能通"和"客户端配得对不对"彻底分开。

OpenAI 协议:

curl https://ai.roibest.com/v1/chat/completions \
  -H "Authorization: Bearer $ROIBEST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5",
    "messages": [{"role": "user", "content": "ping"}]
  }'

Anthropic 协议:

curl https://ai.roibest.com/v1/messages \
  -H "Authorization: Bearer $ROIBEST_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 64,
    "messages": [{"role": "user", "content": "ping"}]
  }'

注意两者的密钥不通用——分别属于两个协议分组。

Python

OpenAI SDK:

from openai import OpenAI

client = OpenAI(
    base_url="https://ai.roibest.com/v1",
    api_key="你的密钥",
)

resp = client.chat.completions.create(
    model="gpt-5",
    messages=[{"role": "user", "content": "ping"}],
)
print(resp.choices[0].message.content)

Anthropic SDK:

from anthropic import Anthropic

client = Anthropic(
    base_url="https://ai.roibest.com",
    api_key="你的密钥",
)

msg = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=64,
    messages=[{"role": "user", "content": "ping"}],
)
print(msg.content[0].text)

注意两个 SDK 的 base URL 写法不同:OpenAI SDK 要带 /v1,Anthropic SDK 不要带——它自己会拼。这是接入时最常见的 404 来源。

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://ai.roibest.com/v1",
  apiKey: process.env.ROIBEST_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "gpt-5",
  messages: [{ role: "user", content: "ping" }],
});
console.log(resp.choices[0].message.content);

其它走 OpenAI 协议的客户端

OpenCode、Cline、Roo Code 这类工具大多支持自定义 OpenAI 兼容端点。配置项的名字各不相同,但要填的东西只有两样:

  • Base URLhttps://ai.roibest.com/v1
  • API Key:OpenAI 兼容分组的密钥

如果客户端的配置项叫 "OpenAI Base URL" 或 "Custom endpoint",填上面的地址即可;具体字段位置以各客户端自己的文档为准。填完之后同样建议先用 curl 验证一次网关侧没问题,再回去排查客户端。

查当前可用的模型

curl https://ai.roibest.com/v1/models \
  -H "Authorization: Bearer $ROIBEST_API_KEY"

返回的是你这个账户和分组下实际可用的模型列表。写死模型名之前先查一次,比凭记忆写可靠。

用量在哪看

不管走哪条协议、用哪个 SDK,每次请求都会记进控制台的用量明细:模型、协议分组、输入与输出 Token、缓存 Token、计费方式、费用、延迟。出错的请求记在独立的错误记录里,不会混在正常用量中。