项目简介
NewAPI 是一款多 AI 渠道聚合转发管理系统,兼容 OpenAI 标准接口格式,支持中转 OpenAI、Claude、通义千问、文心一言、Gemini 等大模型,提供密钥管理、额度管控、渠道负载、流式响应、用户分账等能力。
基础地址:
http://127.0.0.1:3000
接口鉴权方式
所有接口必须携带 Authorization 请求头鉴权,格式兼容 OpenAI。
复制
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxx
• 用户密钥:sk- 开头,仅可调用对话类接口
• 管理员密钥:可访问全部管理接口
统一错误返回格式
复制
{
"error": {
"code": 10001,
"message": "密钥不存在或已禁用",
"type": "invalid_api_key"
}
}
| 错误码 | 说明 |
|---|---|
| 10001 | 密钥无效 |
| 10002 | 额度不足 |
| 10003 | 模型不存在 |
| 10004 | 渠道请求失败 |
| 40300 | 无管理员权限 |
用户登录
POST/api/user/login
请求体
复制
{
"username": "admin",
"password": "123456"
}
成功返回
复制
{
"code": 200,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user_id": 1,
"role": "admin"
}
}
获取个人信息
GET/api/user/info
请求头携带登录token鉴权
复制
{
"code": 200,
"data": {
"id": 1,
"username": "admin",
"quota": 999999,
"used_quota": 1200,
"role": "admin",
"create_time": "2026-01-01 12:00:00"
}
}
创建调用密钥
POST/api/key/create
复制
// 请求体
{
"name": "客户端密钥",
"quota": 100000,
"models": ["gpt-3.5-turbo", "gpt-4"]
}
// 返回
{
"code": 200,
"data": {
"key": "sk-xxxxxxxxxxxxxxxxxxxx",
"id": 10
}
}
密钥列表
GET/api/key/list
复制
{
"code": 200,
"data": [
{
"id": 10,
"name": "客户端密钥",
"key": "sk-xxx",
"quota": 100000,
"used": 0,
"status": 1
}
]
}
流式对话接口
POST/v1/chat/completions
完全兼容 OpenAI 请求格式,支持 stream 流式输出
请求示例
复制
curl http://127.0.0.1:3000/v1/chat/completions \
-H "Authorization: Bearer sk-xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-3.5-turbo",
"stream": true,
"messages": [
{"role": "user", "content": "你好"}
]
}'
流式返回片段
复制
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"你"},"index":0}]}\n\ndata: [DONE]
获取可用模型列表
GET/v1/models
复制
{
"object": "list",
"data": [
{"id": "gpt-3.5-turbo", "object": "model"},
{"id": "gpt-4", "object": "model"},
{"id": "claude-3-haiku", "object": "model"}
]
}
Token 统计
POST/api/token/count
复制
// 请求
{"messages": [{"role":"user","content":"测试文本"}]}
// 返回
{"code":200,"data":{"tokens":8}}
管理员:用户列表
GET/api/admin/users
仅管理员Token可访问
复制
{
"code": 200,
"data": {
"list": [
{"id":1,"username":"admin","quota":999999,"role":"admin"}
],
"total":1
}
}
管理员:新增渠道
POST/api/admin/channel/add
复制
{
"name": "OpenAI官方",
"type": "openai",
"api_key": "sk-origin-xxx",
"base_url": "https://api.openai.com/v1",
"models": ["gpt-3.5-turbo","gpt-4"]
}
管理员:系统统计
GET/api/admin/stat
复制
{
"code": 200,
"data": {
"user_count": 5,
"channel_count": 3,
"today_request": 1280,
"today_token": 256000
}
}