模型列表与可见性:/v1/models 只能证明“看得到”
模型列表是排查 API 接入的第一步,但不是最后一步。你需要同时确认令牌分组、模型 ID、接口能力和真实生成结果,才能判断某个模型真的适合上线。
看这篇前,先准备好当前令牌和目标模型
模型列表排障一定要用“当前正在出问题的那条令牌”。换令牌、换分组或换工具后看到的列表都不能证明原问题已经解决。
| 准备项 | 为什么需要 | 还没准备好时看哪里 |
|---|---|---|
| 当前令牌 | /v1/models 会按令牌分组返回模型,换一条令牌结果可能完全不同。 |
API 认证与令牌 |
| 目标模型 ID | 需要确认“想用的模型”是否真的出现在当前令牌列表里。 | 模型广场 |
| 接口能力 | 聊天、Messages、图像和视频不是同一类能力,模型可见不代表能被任意接口调用。 | 聊天与 Messages、图像与视频 |
| 真实烟测目标 | 上线前要证明模型能完成一次最小生成,而不只是能出现在列表里。 | 从模型列表到真实烟测 |
等不及了,先按这张表判断
/v1/models 是模型可见性检查,不是完整可用性检查。先按返回结果分层,再决定下一步。
| 你看到什么 | 说明什么 | 马上做什么 |
|---|---|---|
| 返回模型列表,且有目标模型 | 当前令牌能看到目标模型。 | 继续跑 真实烟测,确认能生成。 |
| 返回模型列表,但没有目标模型 | 令牌有效,但分组看不到目标模型。 | 回 模型分组选择表 换分组或换模型。 |
| 返回 401 | 认证失败,和模型本身无关。 | 重新复制令牌,检查 Authorization: Bearer。 |
| 返回 404 | 地址路径错,或者 Base URL 被客户端拼错。 | 确认请求的是 https://www.6xin.cc/v1/models。 |
| 模型列表成功,生成仍失败 | 列表只能证明可见,不能证明能力、参数和生成链路。 | 按错误码看认证、分组、接口能力、状态页和用量日志。 |
/v1/models 用来解决什么
确认令牌有效
如果模型列表都请求不到,先查认证、Header、环境变量和 Base URL。
确认模型可见
列表返回的是当前令牌可见模型,不是整个平台全部模型。
复制准确模型 ID
业务代码里应该使用列表或模型广场里的完整模型 ID,减少手写错误。
查询模型列表
使用 OpenAI 兼容地址请求模型列表。这个请求最适合做认证和分组的第一步检查。
export COMEU_API_KEY="sk-你的6星中转令牌"
curl "https://www.6xin.cc/v1/models" \
-H "Authorization: Bearer $COMEU_API_KEY"
如果返回 JSON 里有 data 数组,说明令牌、Base URL 和基础认证大体可用。下一步要看目标模型是否在列表里,并继续做真实生成。
返回结果怎么看
不同客户端展示字段可能略有差异,但排查时重点看模型 ID、对象类型和是否属于当前用途。
{
"object": "list",
"data": [
{
"id": "gpt-4.1-mini",
"object": "model"
},
{
"id": "claude-sonnet-示例模型",
"object": "model"
}
]
}
| 字段 | 怎么看 | 注意事项 |
|---|---|---|
id |
复制到请求体里的 model 字段。 |
不要凭记忆手写;大小写、后缀、别名都可能影响调用。 |
object |
通常用于说明这是模型对象。 | 业务接入主要依赖 id,不要用展示名拼模型。 |
| 列表范围 | 代表当前令牌可见模型。 | 换令牌、换分组、换账号后,列表可能不同。 |
模型列表接口返回码速查
| 返回码 | 常见原因 | 处理方式 |
|---|---|---|
200 |
认证和模型列表接口可用。 | 继续检查目标模型是否在列表里,并跑真实生成。 |
401 |
令牌无效、过期、禁用、复制不完整或 Header 格式错。 | 看 API 认证 Header 和 令牌验证。 |
403 |
令牌权限或分组限制。 | 确认令牌分组,必要时新建目标分组令牌。 |
404 |
路径写错,常见于漏写或重复拼接 /v1。 |
直接请求完整路径 https://www.6xin.cc/v1/models 复核。 |
429 |
请求过频或触发限制。 | 降低轮询频率;模型列表不要作为高频心跳。 |
5xx |
平台或上游临时异常。 | 看 状态页快速判断,稍后重试。 |
可见性不等于可调用
模型列表只回答“当前令牌看到了什么”。能不能成功调用,还要看接口路径、模型能力、参数和分组策略。
| 情况 | 模型列表会怎样 | 真实请求可能怎样 | 怎么确认 |
|---|---|---|---|
| 聊天模型调用聊天接口 | 可见 | 正常返回文本 | 跑 /v1/chat/completions 或 /v1/messages。 |
| 聊天模型调用图像接口 | 可能可见 | 能力不匹配,返回参数或模型错误 | 换成图像生成或图像编辑模型。 |
| 视频模型调用聊天接口 | 可能可见 | 能力不匹配 | 走 /v1/videos 并按异步任务验收。 |
| Claude 模型走 OpenAI 兼容聊天 | 取决于平台映射 | 可能成功,也可能需要 Messages 口径 | 按工具推荐协议测试,不要只换模型名。 |
模型分组如何影响列表
6星中转 的令牌可以按用途绑定不同分组。分组能减少误用风险,也能让不同工具只看到自己应该使用的模型。
先按用途拆令牌
个人命令行、项目后端、图像视频、测试环境不要共用同一枚令牌。
令牌绑定对应分组
Claude Code 看 Claude 分组,Codex CLI 看 OpenAI 兼容或 Codex 相关分组,图像视频看多媒体分组。
用 /v1/models 复核
换完分组后重新查询模型列表,确认目标模型可见。
跑对应能力请求
聊天跑聊天,图像跑图像,视频跑视频任务,不要用一个接口判断所有能力。
分组概念可以继续看 模型分组。
从模型列表到真实烟测
拿到模型 ID 后,用最短请求证明这个模型真的能在目标接口里工作。
聊天模型烟测
curl "https://www.6xin.cc/v1/chat/completions" \
-H "Authorization: Bearer $COMEU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "从模型列表复制的模型ID",
"messages": [
{"role": "user", "content": "回复 OK"}
]
}'
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模型ID",
"max_tokens": 128,
"messages": [
{"role": "user", "content": "回复 OK"}
]
}'
图像或视频模型烟测
图像和视频不要用聊天接口验收。图像模型和视频模型都先看 图像与视频 API 示例,再按对应能力跑最小任务。
自动化检查时不要只测模型列表
很多监控脚本喜欢只请求 /v1/models,这只能证明网关、认证和列表接口还活着。更可靠的可用性检查应该分层做。
| 检查层 | 请求 | 能证明什么 | 不能证明什么 |
|---|---|---|---|
| 模型列表 | GET /v1/models |
令牌、Base URL、模型可见性。 | 不能证明生成链路、流式输出、多媒体任务可用。 |
| 短文本生成 | POST /v1/chat/completions 或 /v1/messages |
目标模型能返回文本。 | 不能覆盖长上下文、工具调用、图片输入。 |
| 流式生成 | 带 stream: true 的真实请求 |
客户端、代理、部署环境能处理流式响应。 | 不能覆盖所有业务参数组合。 |
| 多媒体任务 | 图像或视频最小任务 | 对应能力、文件上传或异步任务链路可用。 | 不能证明高并发和长任务稳定性。 |
把模型列表接进启动检查
如果你的业务服务依赖固定模型,建议在服务启动或发布前做一次低频检查:先确认当前令牌能看到必需模型,再用短请求证明生成链路可用。这样可以在正式流量进来前发现分组迁移、模型下线或环境变量读错。
| 检查项 | 失败时说明什么 | 建议动作 |
|---|---|---|
| 环境变量存在 | 部署平台 Secret 没配置、变量名写错,或服务没有读取到新变量。 | 停止发布,先修正 Secret 和启动配置。 |
/v1/models 返回目标模型 |
令牌有效但分组没有挂目标模型,或者模型 ID 已变化。 | 回模型广场复制当前 ID,或换成目标分组令牌。 |
| 短文本生成成功 | 模型虽然可见,但接口能力、参数或上游生成链路不可用。 | 按错误码回查认证、分组、状态页和请求参数。 |
| 用量日志能对上 | 请求可能没有走到 6星中转,或业务服务仍在使用旧后端配置。 | 检查 Base URL、代理、客户端配置优先级和部署实例。 |
Node.js 最小启动探针
import OpenAI from "openai";
const apiKey = process.env.COMEU_API_KEY;
const requiredModel = process.env.COMEU_REQUIRED_MODEL || "gpt-4.1-mini";
if (!apiKey) {
throw new Error("Missing COMEU_API_KEY");
}
const client = new OpenAI({
apiKey,
baseURL: "https://www.6xin.cc/v1",
});
const models = await client.models.list();
const available = new Set(models.data.map((model) => model.id));
if (!available.has(requiredModel)) {
throw new Error(`6星中转 token cannot see required model: ${requiredModel}`);
}
const response = await client.chat.completions.create({
model: requiredModel,
messages: [{ role: "user", content: "回复 OK" }],
max_tokens: 16,
});
if (!response.choices?.[0]?.message?.content) {
throw new Error("6星中转 model is visible, but generation returned no text");
}
客户端缓存和刷新怎么处理
图形客户端或 SDK 包装层可能会缓存模型列表。你在 6星中转 控制台换了分组或令牌后,客户端不一定立刻刷新。
| 场景 | 建议动作 | 为什么 |
|---|---|---|
| 刚换了令牌分组 | 重新请求 /v1/models,并刷新客户端模型列表。 |
旧列表可能还停留在上一个分组。 |
| 客户端一直显示旧模型 | 重启客户端,或删除本地旧 provider 后重新添加。 | 部分客户端会缓存 provider 的模型列表。 |
| 服务端动态展示模型 | 给模型列表设置合理缓存时间,不要长期固定。 | 模型开放范围会变化,长期缓存会误导用户。 |
| 生产健康检查 | 低频检查模型列表,高价值链路再加短生成。 | 既能减少无意义请求,又能覆盖真实生成链路。 |
模型不可见或不可用怎么排查
| 现象 | 优先检查 | 下一步 |
|---|---|---|
/v1/models 401 |
令牌和 Header。 | 看 API 认证与令牌。 |
/v1/models 404 |
Base URL 是否写成了错误路径。 | OpenAI 兼容模型列表用 https://www.6xin.cc/v1/models。 |
| 列表里没有目标模型 | 令牌分组和模型广场。 | 换正确分组或创建新的专用令牌。 |
| 列表有模型,生成报 403 | 模型 ID、分组权限、接口能力。 | 确认你调用的是聊天、Messages、图像还是视频对应入口。 |
| 列表和生成都成功,但业务失败 | 业务参数、超时、代理、流式解析、错误处理。 | 缩小成最小请求,再逐步加回业务参数。 |
| 客户端显示旧模型 | 客户端缓存、旧 provider、旧令牌或项目配置覆盖。 | 用 curl 对照当前令牌列表,再刷新或重建客户端配置。 |
模型列表配置异常后,先回到最小可用检查
如果你已经换过多个模型、多个分组或多个客户端,先把变量收回到一条令牌、一个模型、一个接口。这样更容易判断问题到底在认证、分组、模型 ID 还是真实生成链路。
| 回退项 | 保留什么 | 暂时拿掉什么 |
|---|---|---|
| 令牌 | 只使用当前出问题的那一枚 6星中转 令牌,并记录脱敏片段。 | 不要同时切换管理员令牌、个人令牌和生产令牌。 |
| Base URL | OpenAI 兼容检查固定用 https://www.6xin.cc/v1。 |
不要在客户端里再手动拼第二个 /v1。 |
| 模型 ID | 从当前令牌的 /v1/models 返回里复制一个目标模型。 |
不要凭历史截图、聊天记录或别的账号列表手写模型名。 |
| 接口 | 聊天模型只跑最小 /v1/chat/completions;Claude 原生再单独跑 /v1/messages。 |
不要把图像、视频、流式、工具调用一起加进第一次排查。 |
| 验证 | 请求成功后,到 6星中转 用量日志按时间点核对。 | 不要只看客户端界面提示“已保存”或“列表正常”。 |
这些情况先停下来,不要继续更换多个模型
模型列表只能证明“看得到”,不能证明“能稳定生成”。遇到下面这些现象时,先按层排查,不要把多个模型、多个分组和多个客户端混在一起测。
| 现象 | 先停止什么 | 下一步只做这一件事 |
|---|---|---|
/v1/models 返回 401 |
不要继续换模型 ID。 | 先回到认证页检查令牌和 Header。 |
| 列表里没有目标模型 | 不要凭记忆手写模型名。 | 用当前令牌重新查列表,或到模型广场复制当前可用模型。 |
| 列表有模型但生成 403 | 不要只看模型列表就上线。 | 跑一次最小真实生成,确认分组、模型和接口能力都匹配。 |
| 客户端一直显示旧列表 | 不要继续改 6星中转 配置。 | 刷新客户端 provider、清缓存,或重建客户端配置。 |
| 生产健康检查只有模型列表 | 不要把它当成可用性监控。 | 为关键链路增加低频短生成或真实业务烟测。 |
上线前不要漏这几件事
用生产同类令牌查列表
不要用管理员令牌或个人测试令牌代替生产令牌判断可见性。
锁定模型 ID 来源
把模型 ID 记录到配置说明里,注明来自模型广场或 /v1/models。
跑真实生成和用量日志回证
上线前至少跑一次短生成,并确认 6星中转 用量日志能对上。
准备模型不可用时的降级策略
明确备用模型、重试间隔、429/5xx 处理和用户提示。
模型接入验收清单
| 验收项 | 通过标准 | 相关教程 |
|---|---|---|
| 令牌模型列表 | /v1/models 能返回当前令牌可见模型。 |
查询模型列表 |
| 模型 ID 来源 | 模型 ID 从模型广场或接口复制,不凭记忆手写。 | 模型分组 |
| 能力匹配 | 聊天、Messages、图像、视频分别走对应入口。 | 聊天与 Messages、图像与视频 |
| 真实生成 | 目标模型完成一次最小请求,并返回业务可读取的结果。 | 真实烟测 |
| 上线监控 | 监控包含模型列表、短生成、流式或多媒体关键链路,而不是只有一个健康检查。 | 自动化检查 |
仍然不通时,提交这些定位信息
模型列表问题经常被误判成“平台坏了”。提交问题前,先把“列表可见性”和“真实生成”两类信息分开整理。
| 信息 | 建议内容 | 不要提供什么 |
|---|---|---|
| 模型列表请求结果 | /v1/models 是否返回目标模型,返回时间和状态码。 |
不要只说“列表正常”。 |
| 真实生成请求结果 | 最小 /v1/chat/completions 或 /v1/messages 是否成功,错误码是什么。 |
不要只贴模型列表截图。 |
| 模型 ID 和能力类型 | 完整模型 ID,以及它是聊天、Messages、图像还是视频能力。 | 不要使用截图里看不清的模型名。 |
| 令牌分组和片段 | 令牌用途、分组名称、脱敏片段,例如 sk-前6位...后4位。 |
不要提交完整令牌。 |
| 客户端或代码环境 | curl、SDK、Claude Code、Codex CLI、Cherry Studio、n8n 等实际入口。 | 不要混用多个客户端的报错一起描述。 |
/v1/models 成功,但真实生成失败,优先按 错误码速查 判断:401 看认证,403 看分组,404 看模型或路径,429 看额度和限流,5xx 看状态页。