Skip to content

API 概述

Base URL

平台提供两套 API 入口:代理接口(AI 模型调用)和管理接口(后台操作)。

代理接口

代理接口兼容 OpenAIAnthropic 两种协议格式,使用统一的 base URL:

http://ok-link.com:10320/v1/
协议端点说明
OpenAI/v1/chat/completions对话补全,请求体使用 OpenAI 格式
OpenAI/v1/embeddings向量嵌入
OpenAI/v1/models模型列表
Anthropic/v1/messages对话补全,请求体使用 Anthropic 原生格式

管理接口

后台管理操作(登录、用户、模型、Key 管理等):

http://ok-link.com:10320/admin-api/

认证方式

代理接口认证

使用 API Key(sk- 开头),在 HTTP 头中传递:

Authorization: Bearer sk-xxxxxxxxxxxx

API Key 在管理后台「API Key」页面创建,适用于两个协议。

管理接口认证

使用 JWT Token,通过登录接口获取后携带在请求头中:

Authorization: Bearer eyJhbGciOi...

OpenAI 协议调用

使用 OpenAI 兼容格式,适用于 openai、deepseek 等模型:

bash
curl http://ok-link.com:10320/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Anthropic 协议调用

平台完全兼容 Anthropic Messages API 格式,可以直接使用 Anthropic 官方 SDK 接入,适用于 Claude 系模型:

bash
curl http://ok-link.com:10320/v1/messages \
  -H "Authorization: Bearer sk-xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

协议翻译

当上游供应商使用 OpenAI 协议时,平台会自动进行 Anthropic ↔ OpenAI 协议双向翻译,对用户透明:

方向说明
Anthropic 请求 → OpenAI 上游翻译请求体 + 回译响应体,包括 system prompt、messages、tools、streaming
Anthropic 请求 → Anthropic 上游请求/响应直接透传,不做翻译

这意味着你可以统一使用 Anthropic SDK 接入,无论后端实际对接的是哪个供应商。

Anthropic SDK 接入

Python:

python
import anthropic

client = anthropic.Anthropic(
    base_url="http://ok-link.com:10320",
    api_key="sk-xxxxxxxxxxxx"
)

message = client.messages.create(
    model="claude-sonnet",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)
print(message.content[0].text)

Node.js:

javascript
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  baseURL: 'http://ok-link.com:10320',
  apiKey: 'sk-xxxxxxxxxxxx',
});

async function main() {
  const message = await client.messages.create({
    model: 'claude-sonnet',
    max_tokens: 1024,
    messages: [{ role: 'user', content: 'Hello!' }],
  });
  console.log(message.content[0].text);
}
main();

注意:Anthropic SDK 的 base_url 末尾不加 v1,平台会自动拼接。

通用错误码

状态码错误说明
400请求参数错误
401认证失败 / API Key 无效或禁用
402Token 余额不足
403模型未订阅 / 无权限
404模型不存在
429速率限制
500服务器内部错误
502上游代理节点不可达
503模型不可用 / 无可用上游

内容类型

  • 非流式请求和响应:Content-Type: application/json
  • 流式响应(两种协议均使用):text/event-stream(SSE 格式)

科华词元平台 - AI 代理统一管理平台