瞎写·接口服务

Model Gateway · api.xiaxie.cc

小说 App 用的模型接口,
一个地址接完。

瞎写 App 的写作请求都从这里走。接口按 OpenAI 的格式来,后端自己按顺序挑一家还能用的模型—— 上游是谁、换了哪家、哪天限流了,客户端都不用管。

BASE_URL https://api.xiaxie.cc/v1

接口地址固定不变;上游供应商的增减只影响后台,不需要改客户端代码。

01

三步接上

1. 把 base_url 指向上面的地址;2. 把管理后台发的 sk-gw-… 作为 API Key;3. 模型填 auto。

curl
curl https://api.xiaxie.cc/v1/chat/completions \
  -H "Authorization: Bearer sk-gw-你的Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "写一段武侠开场"}],
    "stream": true
  }'
python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.xiaxie.cc/v1",
    api_key="sk-gw-你的Key",
)

stream = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "写一段武侠开场"}],
    stream=True,
)

for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")
javascript
const res = await fetch("https://api.xiaxie.cc/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer sk-gw-你的Key",
  },
  body: JSON.stringify({
    model: "auto",
    messages: [{ role: "user", content: "写一段武侠开场" }],
    stream: true,
  }),
});

// 逐段读取 SSE:每行形如 data: {"choices":[{"delta":{"content":"…"}}]}
const reader = res.body.getReader();
02

模型怎么写

model含义
auto自动选当前可用的一家。日常用这个就够了。
deepseek-chat指定 DeepSeek 对话模型(若后台已配置)。
qwen-plus指定阿里百炼 Qwen-Plus(若后台已配置)。
供应商/模型名形如 groq/llama-3.3-70b,强制走指定供应商。

实时清单以 GET /v1/models 为准,具体能调通哪些取决于后台「供应商」页里填了哪些 Key。

03

出错了看这里

状态码原因怎么办
401Key 无效、过期或已被吊销。找管理员重新发一个。
429超过这个 Key 的每分钟次数或当日 token 额度。等一会儿,或让管理员调高额度。
502上游几家都挂了(网络、限流、Key 失效)。重试;持续出现说明后台该补 Key 了。
503后台还没有任何可用上游。管理员去「供应商」页配置。
04

服务状态

正在检测…

本页直接请求 /healthz,看到的不是写死的文案。接口只会转发,不记录你的对话内容。

05

要一个 Key

这个服务不对外开放注册。虚拟 Key 由管理员在后台发放,一把 Key 对应一个 App 或一个会话, 额度、限速、过期时间都能单独设。

进入管理后台 →