快速开始

AI中枢开放平台提供 OpenAI 兼容 的对话 API。只需三步即可接入:

  1. 用户中心 → API密钥 创建密钥(nh-* 开头);
  2. 将请求地址设置为 https://你的域名/api/chat/completions
  3. 携带 Authorization: Bearer <密钥> 发送 JSON 请求即可。

对话接口(流式)

POST /api/chat/completions
Content-Type: application/json
Authorization: Bearer nh-xxxx

{
  "model": "nova-chat",
  "messages": [
    {"role": "user", "content": "你好"}
  ],
  "stream": true
}

流式响应为 SSEtext/event-stream),每帧格式:

data: {"type":"meta","conv_id":123}
data: {"type":"search","results":[...]}   // 开启联网搜索时
data: {"type":"delta","content":"你"}     // 增量正文
data: {"type":"usage","tokens":42,"points":1}
data: {"type":"done"}

模型列表

请求 GET /api/models 返回当前可用模型(名称、类别、上下文长度、计费单价)。

认证与密钥

平台支持两种登录体系:账号密码(JWT 令牌,7 天有效)与 彩虹聚合登录(QQ/微信/支付宝等 10+ 平台)。API 调用统一使用 Bearer 令牌或 API 密钥。

聚合登录接入(彩虹协议)

平台已按彩虹聚合登录标准协议完成集成,后台「系统设置 → 聚合登录」填入 appid / appkey 即可启用:

Step1 获取跳转地址
GET {网关}/connect.php?act=login&appid={appid}&appkey={appkey}
    &type=qq&redirect_uri={https://你的域名/oauth}
→ {"code":0,"url":"https://第三方授权页"}

Step2 跳转到 url,授权后回跳 /oauth?type=qq&code=xxxx

Step3 换取用户信息
GET {网关}/connect.php?act=callback&appid=&appkey=&type=qq&code=xxxx
→ {"code":0,"social_uid":"...","nickname":"...","faceimg":"..."}

可选 主动查询用户信息
GET {网关}/connect.php?act=query&appid=&appkey=&type=qq&social_uid=xxx

平台侧自动完成「绑定 → 登录 / 自动注册」,登录方式支持 qq / wx / alipay / sina / baidu / douyin / huawei / xiaomi / bilibili / dingtalk

聚合支付接入(彩虹易支付协议)

后台「系统设置 → 支付配置」填入网关地址、商户 ID(pid)与商户密钥(key)后即启用真实支付;未配置时自动进入演示收银台:

下单(API 模式 mapi.php)
POST {网关}/mapi.php
pid / type=alipay / out_trade_no / notify_url / return_url
name / money=29.00 / clientip / device=mobile
sign = md5(按ASCII升序拼接的参数串 + KEY)   // sign、sign_type、空值不参与

返回 JSON
{"code":1, "trade_no":"...", "payurl":"...", "qrcode":"..."}

异步通知 notify_url(GET)
pid / trade_no / out_trade_no / type / name / money
trade_status=TRADE_SUCCESS / sign / sign_type
→ 验签通过后返回纯文本 "success"
签名规则:参数按 ASCII 升序 → a=b&c=d 拼接(值不做 URL 编码)→ 末尾拼接商户密钥 → MD5 小写。通知必须校验签名,且仅 TRADE_SUCCESS 视为支付成功。

示例代码

PHP 非流式调用
$ch = curl_init('https://你的域名/api/chat/completions');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer nh-xxxx',
  ],
  CURLOPT_POSTFIELDS => json_encode([
    'model' => 'nova-chat',
    'messages' => [['role' => 'user', 'content' => '你好']],
  ]),
  CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch);