开发者 API

聊天补全与 Messages:两套口径别混用

OpenAI 兼容聊天补全和 Anthropic Messages 都是“发消息、拿回复”,但地址、认证 Header、请求体和返回结构不同。本章按两套口径分别给出最小请求、SDK 写法、流式输出和排障顺序。

预计阅读 5 分钟 适合开发聊天补全、Messages 或流式输出的用户
Chat Completions Messages 流式输出 SDK 真实验收

看这篇前,先确认你要接哪种入口

聊天接口最常见的问题不是代码不会写,而是把 OpenAI 兼容、Claude 原生和模型能力混在一起。开始前先把下面 4 件事定下来。

要确认什么怎么判断没确认时看哪里
客户端或 SDK 类型 OpenAI SDK、通用聊天客户端和 Codex 类工具通常走 OpenAI 兼容;Claude Code 和 Claude SDK 通常走 Messages。 工具接入地址速查
Base URL 层级 OpenAI 兼容配置填 https://www.6xin.cc/v1;Claude 原生工具配置填 https://www.6xin.cc。 接口格式表
认证是否可用 当前令牌能通过最小请求,且不会暴露在前端、截图或日志里。 API 认证与令牌
模型是否匹配 模型 ID 来自模型广场或 /v1/models,并且适合当前接口口径。 模型列表与可见性

该选哪套接口

你的场景优先接口Base URL返回结果看哪里
OpenAI SDK、通用聊天客户端、Codex CLI、OpenAI 兼容后端 POST /v1/chat/completions https://www.6xin.cc/v1 choices[0].message.content
Claude SDK、Claude Code、需要 Claude 原生 Messages 口径的应用 POST /v1/messages 配置工具时用 https://www.6xin.cc content 文本块
只想确认令牌能看到哪些模型 GET /v1/models https://www.6xin.cc/v1 模型数组,但还要继续跑真实生成
不要把 https://www.6xin.cc/v1 直接填进 Claude Code 的 Claude 原生 Base URL,也不要把 https://www.6xin.cc 当成 OpenAI SDK 的完整 Base URL。两套协议要分开配置。

OpenAI 兼容聊天补全

这是大多数 SDK、聊天客户端和后端服务最容易接入的方式。请求体使用 messages 数组,响应里读取 choices[0].message.content。

export COMEU_API_KEY="sk-你的6星中转令牌"

curl "https://www.6xin.cc/v1/chat/completions" \
  -H "Authorization: Bearer $COMEU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1-mini",
    "messages": [
      {"role": "system", "content": "你是一个简洁的助手。"},
      {"role": "user", "content": "用一句话介绍 6星中转。"}
    ],
    "temperature": 0.7
  }'

Python SDK 示例

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["COMEU_API_KEY"],
    base_url="https://www.6xin.cc/v1",
)

response = client.chat.completions.create(
    model="gpt-4.1-mini",
    messages=[
        {"role": "system", "content": "你是一个简洁的助手。"},
        {"role": "user", "content": "用一句话介绍 6星中转。"},
    ],
)

print(response.choices[0].message.content)

Node.js SDK 示例

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.COMEU_API_KEY,
  baseURL: "https://www.6xin.cc/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-4.1-mini",
  messages: [
    { role: "system", content: "你是一个简洁的助手。" },
    { role: "user", content: "用一句话介绍 6星中转。" },
  ],
});

console.log(response.choices[0].message.content);

Anthropic Messages 口径

Claude 原生工具通常按 Messages 协议组织请求。配置 Claude Code 或 Claude SDK 的 Base URL 时填 6星中转 根地址;如果你直接用 curl 请求接口,则写完整路径 https://www.6xin.cc/v1/messages。

export COMEU_API_KEY="sk-你的6星中转令牌"

curl "https://www.6xin.cc/v1/messages" \
  -H "x-api-key: $COMEU_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-示例模型",
    "max_tokens": 512,
    "system": "你是一个简洁的助手。",
    "messages": [
      {"role": "user", "content": "用一句话介绍 6星中转。"}
    ]
  }'
字段作用常见错误
model 要调用的 Claude 口径模型 ID。 手写模型名、分组不匹配,或把 OpenAI 兼容模型填进来。
max_tokens 限制输出长度。 漏填或设置过小,导致输出被截断。
system 系统提示词。 把 system 当成普通 user 消息,导致行为不稳定。
messages 用户和助手的对话历史。 角色写错、历史太长、内容结构和客户端不匹配。

流式输出怎么测

流式输出适合命令行工具和长回复场景。第一次上线前要单独测试流式请求,因为“非流式成功”不代表“流式事件一定能被你的客户端正确解析”。

OpenAI 兼容流式

curl "https://www.6xin.cc/v1/chat/completions" \
  -H "Authorization: Bearer $COMEU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1-mini",
    "stream": true,
    "messages": [
      {"role": "user", "content": "分三点说明 API 接入前要检查什么。"}
    ]
  }'

Messages 流式

curl "https://www.6xin.cc/v1/messages" \
  -H "x-api-key: $COMEU_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-示例模型",
    "max_tokens": 512,
    "stream": true,
    "messages": [
      {"role": "user", "content": "分三点说明 API 接入前要检查什么。"}
    ]
  }'
如果你的业务网关、反向代理或 Serverless 平台会缓冲响应,流式输出可能看起来像一次性返回。要在最终部署环境再测一遍。

放进工具或客户端时怎么填

工具类型Base URLKey 字段验证方式
OpenAI 兼容客户端 https://www.6xin.cc/v1 API Key / Bearer Token 发一条短聊天,看返回文本和用量日志。
Codex CLI https://www.6xin.cc/v1 OpenAI 兼容 Key 跑一条最小 prompt,确认模型 ID 和分组。
Claude Code https://www.6xin.cc Claude 口径 Key 用 Claude Code 真实发起一次消息,不只看配置保存成功。
n8n 或自动化平台 按所选节点协议填写 放入 Credential / Secret 先单节点执行,再接入完整工作流。

如果你正在接工具,可以先看 工具接入总览,再进入对应工具页。

真实请求验收顺序

不要只看 SDK 初始化成功,也不要只看模型列表。推荐按下面顺序做,能快速定位问题属于认证、分组、模型还是协议。

1

检查令牌是否能读到

服务端读取环境变量,日志只输出是否存在和脱敏片段。

2

请求模型列表

用当前令牌请求 /v1/models,确认目标模型可见。

3

跑非流式短生成

先让模型回复 OK,减少上下文、温度、工具调用等变量。

4

再测流式或长上下文

只有基础请求稳定后,再加流式、长上下文、工具调用或图片输入。

5

核对日志和错误处理

确认业务代码能区分 401、403、404、429、5xx,并有可观测日志。

常见错误对照

现象大概率原因处理方式
OpenAI SDK 报 404 Base URL 没带 /v1,或路径被客户端拼错。 OpenAI 兼容 Base URL 填 https://www.6xin.cc/v1。
Claude Code 报 404 Claude 原生 Base URL 多写了 /v1。 Claude Code Base URL 填根地址 https://www.6xin.cc。
401 令牌为空、Header 写错、环境变量没生效。 先看 API 认证与令牌。
403 或 model not found 模型分组不匹配,或模型 ID 不是当前令牌可见模型。 从模型广场复制模型 ID,或看 模型列表与可见性。
非流式成功,流式失败 客户端或代理没有正确处理 SSE / 流式事件。 在最终部署环境测试流式;必要时关闭代理缓冲。
返回被截断 max_tokens 太小,或上下文太长。 调整输出上限,减少历史消息,再重新验收。

这些情况先停下来,不要继续加复杂参数

聊天接口排障要从最小请求开始。只要基础请求还没有稳定返回,就不要先加流式、长上下文、工具调用或业务系统变量。

现象先停止什么下一步只做这一件事
非流式短请求失败 不要先测流式或长上下文。 把请求缩到一个模型、一条用户消息、最小输出长度。
OpenAI SDK 报 404 不要重装 SDK。 确认 Base URL 是 https://www.6xin.cc/v1,并看实际请求路径。
Claude 原生请求报 404 不要套 OpenAI 兼容地址。 Claude Code 这类工具填根地址 https://www.6xin.cc。
只有流式失败 不要先怀疑模型不可用。 检查代理、SSE 解析、缓冲和部署环境是否支持逐段返回。
6星中转 用量日志没有记录 不要继续在业务系统里重试。 说明请求没打到 6星中转,先查 Base URL、代理和环境变量。

改错后怎么退回最小可用请求

聊天接口排障最怕连续改很多项。遇到异常时,先回到一条能独立复现的最小请求,再把业务参数一项一项加回来。

刚才改了什么先退回到什么状态回退后怎么确认
Base URL 或 SDK endpoint OpenAI 兼容退回 https://www.6xin.cc/v1;Claude 原生配置退回 https://www.6xin.cc。 用 curl 直请求对应完整路径,确认不是客户端拼接问题。
模型 ID 从 /v1/models 或模型广场重新复制一个当前令牌可见模型。 先跑非流式短请求,只要求回复 OK。
请求参数 只保留 model、一条 user 消息和必要的 max_tokens。 短请求成功后,再逐项加回 temperature、system、历史消息、工具调用或流式。
流式输出 先关掉 stream,确认非流式能稳定返回。 再在最终部署环境测试流式,检查代理和客户端是否逐段读取。
令牌或分组 换回上一条已验证令牌,或创建同分组的新令牌;不要同时换模型和 Base URL。 用量日志能看到短请求,且 401/403 消失。
退回成功后,再把改动记录下来:改了哪个字段、使用哪个模型、错误码是什么、哪一步恢复。下次排障时,这份记录比截图更有用。

聊天接口验收清单

验收项通过标准相关教程
OpenAI 兼容请求 /v1/chat/completions 返回 choices[0].message.content。 OpenAI 兼容聊天补全
Messages 请求 /v1/messages 返回可读取的 content 文本块。 Anthropic Messages 口径
Base URL OpenAI 兼容带 /v1;Claude 原生配置填根地址。 接口格式
流式输出 部署环境能逐段收到响应,而不是等完整结果才返回。 流式输出
错误处理 业务代码能区分认证、分组、路径、限流和临时失败。 FAQ 与排障

聊天请求仍然失败时,提交这些复现信息

提交问题前,先把请求缩到最小:一个模型、一条用户消息、一个接口口径。这样才能判断是协议、令牌、模型、流式解析还是业务代码问题。

信息建议内容不要提供什么
接口口径 /v1/chat/completions、/v1/messages,以及是否开启 stream。 不要只说“聊天接口”。
Base URL https://www.6xin.cc/v1 或 https://www.6xin.cc,按你的工具实际填写。 不要把 OpenAI 兼容和 Claude 原生地址混在一起。
最小请求体 保留模型 ID、一条短消息、必要的 max_tokens 或 messages 字段。 不要提交含客户数据、隐私内容或完整业务上下文的请求体。
错误和日志 HTTP 状态码、错误摘要、6星中转 用量日志是否有对应记录。 不要贴完整 API Key 或未脱敏业务日志。
客户端环境 curl、Python SDK、Node.js SDK、Claude Code、Codex CLI、代理或部署平台。 不要把多个环境的错误混成一个结论。

整理后可直接套用 FAQ 工单模板;如果是模型可见但生成失败,先回 模型真实烟测 对照。