🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度
1. Hugging Face 与 OpenRouter 查 Qwen3.7 Flash 模型 ID 的两条路径
NextChat 接 Qwen3.7 Flash 时,模型 ID 是第一个会卡住的地方:Hugging Face 模型卡上写的是仓库 ID,OpenRouter 模型页给的是 slug,而 NextChat 自定义 provider 真正要填的是统一 API 侧可调用的 ID。TaoToken 在这里的角色是默认供应商与对照基线,模型广场和 Key 都在同一个落地页里。接下来把 HF 与 OpenRouter 查到的 ID 形态、NextChat 字段和一次中文函数调用日志串起来,避免把三方命名混成同一个字符串。
1.1 Hugging Face 侧:先看仓库 ID 与热度字段
在 HF 搜索 Qwen3.7 Flash,结果页每个模型卡下方会显示组织名/仓库名,比如 Qwen/... 这种结构,点进模型卡后 URL 里也会出现同样的 repo id。这个 ID 是权重仓库标识,可能带 -GGUF、-AWQ、-Instruct 等后缀,同一个模型会有多个量化分支。你只需要记下最接近基础版的那个仓库 ID,作为“存在性证据”,不要直接把它填进 NextChat。HF 模型卡上还会显示 likes、downloads 和 Trending 状态,这些是开源热度信号,说明有多少人收藏、下载、最近在关注,不说明模型在函数调用或中文理解上的能力。查阅时以页面实际显示为准,本文不摘录具体数字,也不把 likes 当跑分。如果你要写对照表,建议加一列“查阅日期”,同一天查 HF 和 OpenRouter,避免拿两个时间点的页面混着比。
1.2 OpenRouter 侧:slug、provider 列表与 usage
OpenRouter 搜索 Qwen3.7 Flash 后,模型页 URL 末段就是它的 slug,常见形态是 厂商/模型名,也可能带 :free 之类的后缀。页面中间会列一批 provider,标出上下文长度、输入输出价格、是否支持 tools;页面下方的 usage 反映实际调用量,说明模型在 OpenRouter 生态里被调用了多少次,不等于质量排名。你需要从 API 示例或模型页复制 slug,但同样不要直接当 NextChat 的模型名,因为 OpenRouter 的命名空间和统一 API 的命名空间不是同一套。把 slug 记下来,它的作用是帮你确认“OpenRouter 收录了 Qwen3.7 Flash 的哪些版本”,以及免费版和付费版分别是哪个 slug。查阅时把完整页面 URL 一起贴进笔记,后面排障时可以直接回看当天收录情况。
1.3 把两边 ID 映射到 NextChat 的模型名
回到 TaoToken 的模型广场,搜索 Qwen3.7 Flash,看模型 ID 列。广场里的 ID 才是 Base URL https://taotoken.net/api 后面能路由到的标识。它可能比 HF repo id 短,也可能比 OpenRouter slug 少了厂商前缀。对照表可以这样写:
| 来源 | 页面字段 | 形态示例(以查阅当日页面为准) | 在 NextChat 里的用途 |
|---|---|---|---|
| Hugging Face | 模型卡 URL / repo id | 组织名/Qwen3.7-Flash 一类 | 确认开源仓库存在,看 likes/downloads/Trending 热度 |
| OpenRouter | 模型页 slug | 厂商/qwen3.7-flash 一类,可能带 :free | 确认 OpenRouter 收录版本与 usage |
| 统一 API 模型广场 | 模型 ID 列 | 以模型广场实际显示为准 | 复制到 NextChat 自定义模型名 |
| NextChat | 自定义模型字段 | 与广场 ID 完全一致 | 真正发起 /chat/completions 的值 |
这张表里没有固定 ID,因为 HF 和 OpenRouter 的收录会变,量化分支也会增减。本文不含排行分数,HF likes、downloads、Trending 与 OpenRouter usage 都只当热度或调用量,不拼成能力表。你如果要复现,先写“查阅日期:____”,再把四个字段一起贴进自己的笔记。模型广场如果同时列出普通版、免费版、长上下文版,NextChat 第一次只填一个,跑通函数调用后再加第二个做对照。
2. NextChat 自定义 provider 填字段:Base URL、Key 与 Qwen3.7 Flash 模型名
NextChat 的界面里有一个“自定义接口”开关,打开后才会出现接口地址、API Key、自定义模型三个核心输入框。它的工作方式和多数 OpenAI 兼容前端一致:把 Base URL 拼上 /chat/completions,再带 Bearer Key 发请求。统一 API 的 Base URL 是 https://taotoken.net/api,末尾不带 /v1,也不带斜杠。NextChat 会在后面自己补路径,你多写一层 /v1,请求就会变成 /api/v1/v1/chat/completions,表现是 404 或“模型不存在”。TaoToken 作为 NextChat 的默认供应商时,Key 从带 UTM 的官网控制台创建,页面地址是 TaoToken。先把这一层填对,再谈模型名。
2.1 界面填法的截图对照点
不同 NextChat 版本菜单文字略有差异,常见路径是左下角设置 → 自定义接口。你需要截一张图给自己留档,图里至少包含四个信息:接口地址输入框、API Key 输入框(打码)、模型输入框、以及模型下拉里出现 Qwen3.7 Flash 名字。接口地址那一栏应该显示 https://taotoken.net/api,没有 ?utm_source=,没有 /v1,没有末尾斜杠。模型那一栏填的是上一章从模型广场复制的 ID,不是 HF repo id,也不是 OpenRouter slug。API Key 填 YOUR_API_KEY,实际值从控制台复制,复制时注意别把前后空格带进去。截图不是给别人看的,是排障时对照用:401 看 Key,404 看接口地址,模型不存在看模型名。如果下拉里名字和广场不一致,先清空浏览器缓存再刷新,NextChat 有时会缓存旧模型列表。
2.2 本地 Docker 启动时的三个环境变量
如果你用 Docker 跑 NextChat,可以把三件套写进启动命令,省去每次开浏览器再填:
docker run -d -p 3000:3000 \
-e OPENAI_API_KEY=YOUR_API_KEY \
-e BASE_URL=https://taotoken.net/api \
-e CUSTOM_MODELS="<模型广场里的 Qwen3.7 Flash ID>" \
yidadaa/chatgpt-next-web
OPENAI_API_KEY 用从控制台创建的 Key;BASE_URL 用统一 API 地址,末尾不加 /v1;CUSTOM_MODELS 的值必须回模型广场复制。NextChat 的 CUSTOM_MODELS 支持用逗号分隔多个模型,也支持 +、- 做增减,但第一次跑通建议只放一个 Qwen3.7 Flash ID,减少变量。启动后打开 http://localhost:3000,如果下拉里没有模型,先检查 CUSTOM_MODELS 是否被引号截断,再检查容器日志里有没有路径拼接错误。环境变量方式适合固定一台机器长期用,界面方式适合临时切换模型做对照。
2.3 容易把 Base URL 和落地页 UTM 搞混
落地页的 UTM 只用于统计注册来源,接口地址只认 https://taotoken.net/api。把带 UTM 的链接粘进 Base URL 输入框,会出现接口地址里带查询参数,路由层可能直接返回 HTML 或 404,Key 也不会被正确识别。同样,curl、CLI 的 -u、ANTHROPIC_BASE_URL 都不加 UTM。NextChat 这里只填一次 Base URL,后面所有模型共用;切换 Qwen3.7 Flash 的其他版本,只改模型名,不改 Base URL。Key 也只填一次,不要在模型名里夹 Key,更不要把 Key 写进 URL。如果你同时用 Claude Code,记住那套是 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL,和 NextChat 的 BASE_URL、OPENAI_API_KEY 不是同一组变量,复制配置时别串门。
3. Qwen3.7 Flash 在 NextChat 跑一次中文函数调用:从插件配置到 tool_calls 日志
函数调用不是聊天框里问一句“你会调用函数吗”就能验证的。你要给模型一个 tools schema,再用中文 prompt 触发它选择函数、填参数。NextChat 有插件入口,可以添加自定义插件;不同版本对函数调用的可视化和透传程度不同,所以更稳的流程是:先用统一 API 的 /chat/completions 加 tools 跑一次,确认 Qwen3.7 Flash 返回 tool_calls,再回 NextChat 用自定义插件复现同一条中文请求。这样排障时能分清是模型侧不支持、网关没透传,还是 NextChat 插件配置问题。
3.1 定义一个中文函数 schema
我用一个不碰生产数据的函数做样例:查库存。函数名用英文标识符,description 和参数 description 用中文,方便看模型是否理解中文意图。
{
"type": "function",
"function": {
"name": "check_stock",
"description": "根据商品中文名查询仓库库存,只返回库存数量,不执行任何写操作",
"parameters": {
"type": "object",
"properties": {
"product": {
"type": "string",
"description": "商品中文名,例如:机械键盘"
}
},
"required": ["product"]
}
}
}
这个 schema 里没有任何生产库连接信息,模型只负责生成函数名和参数。真正查库存的命令或 SQL 由你本地执行,再把结果贴回对话。AI 工具不能直连你的生产库或生产机执行写操作,这个边界在 NextChat 里也成立。如果你要换成其他函数,保持同样结构:name 用可被 API 接受的标识符,description 写清“只读”或“生成命令不执行”,参数名用英文,参数说明用中文。中文 description 的好处是你能从日志里直接判断模型有没有读懂意图,而不是只看到一串英文函数名。
3.2 用 curl 打一次统一 API 看 tool_calls
先绕过 NextChat,用 curl 验证模型侧。Base URL 不带 UTM,末尾不带 /v1:
curl https://taotoken.net/api/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<模型广场里的 Qwen3.7 Flash ID>",
"messages": [
{"role": "user", "content": "帮我查一下机械键盘的库存"}
],
"tools": [
{
"type": "function",
"function": {
"name": "check_stock",
"description": "根据商品中文名查询仓库库存,只返回库存数量,不执行任何写操作",
"parameters": {
"type": "object",
"properties": {
"product": {"type": "string", "description": "商品中文名,例如:机械键盘"}
},
"required": ["product"]
}
}
}
],
"tool_choice": "auto"
}'
响应里如果出现 choices[0].message.tool_calls[0].function.name 等于 check_stock,arguments 里 product 等于“机械键盘”,说明模型侧的中文函数调用通了。如果没有 tool_calls,先换一个更明确的中文 prompt,比如“请调用 check_stock 查询机械键盘库存”,再检查模型 ID 是否支持 tools。这里不写具体耗时和 Token 数,一次运行也不代表公榜,本文不含排行分数。curl 验证通过后,再把同样的 schema 搬进 NextChat,能少改很多轮。
3.3 回 NextChat 复现同一条中文请求
在 NextChat 里打开自定义插件,新增一个函数插件,把上面的 schema 填进去。如果插件要求请求地址,可以先用一个只返回假数据的本地占位服务,或者只观察会话里是否出现函数名与参数。模型下拉选中 Qwen3.7 Flash 的广场 ID,发送“帮我查一下机械键盘的库存”。一次成功的日志骨架大概长这样:
POST /chat/completions
model: <模型广场 ID>
messages: role=user, content=帮我查一下机械键盘的库存
tools: [check_stock]
response:
choices[0].finish_reason: tool_calls
choices[0].message.tool_calls[0].function.name: check_stock
choices[0].message.tool_calls[0].function.arguments: {"product":"机械键盘"}
日志里的模型 ID 必须和模型广场一致;如果 NextChat 显示的是 OpenRouter slug 或 HF repo id,说明模型名填错了。函数调用命中后,工具结果由你本地执行再贴回,不要让 NextChat 去连生产环境。这个流程跑通一次,就可以把 NextChat 的自定义接口保存为默认供应商,后续切 Qwen3.7 Flash 的其他版本只改模型名。日志骨架里的字段顺序可能因版本略有差异,关键是 finish_reason、函数名、参数三处能对上。
4. 把 Qwen3.7 Flash 固定为 NextChat 默认供应商的复现清单与排障
复现清单要能让你在换一台机器后快速恢复,但不要靠记忆填 ID。第一行写查阅日期,第二行写 HF 仓库 ID,第三行写 OpenRouter slug,第四行写模型广场 ID,第五行写 NextChat 里实际保存的模型名。这五个值里只有后两个会进入请求路径,前三个是证据链。Base URL 固定为 https://taotoken.net/api,Key 用 YOUR_API_KEY 占位,实际值从控制台创建。NextChat 保存后刷新页面,模型下拉里能看到 Qwen3.7 Flash 就算配置生效。清单里再补一条“函数调用日志文件路径”,下次换模型时可以直接对比。
4.1 验证三件事
第一,模型下拉能选中 Qwen3.7 Flash 且名字与广场一致。第二,发一条中文消息,返回 200,内容不是报错页。第三,带 tools 的请求返回 finish_reason: tool_calls,函数名和参数符合预期。三件事都过,再把 NextChat 自定义接口设为默认。任何一件不过,回到上一章对照表查原因。验证时不要只看聊天框有没有回复,函数调用失败有时会退化成自然语言回复,看起来“通了”,其实 tools 没被调用。第三件事最好保留 curl 和 NextChat 两份日志,一份证明模型侧支持,一份证明前端透传正常。两份日志的模型 ID 必须一致,否则先修 ID 再谈其他。
4.2 排障只写本篇配置错
401 通常是 Key 问题:复制时带空格、Key 已删除、或把落地页 UTM 一起粘进了 Key 输入框。404 通常是 Base URL 问题:写成 https://taotoken.net/api/v1 或末尾多斜杠。模型不存在通常是模型名问题:填了 HF repo id 或 OpenRouter slug,而不是模型广场 ID。函数调用没触发通常是 tools 没透传或模型侧不支持,先用 curl 验证,再查 NextChat 插件。还有一种是把 NextChat 的配置和 Claude Code 搞混:NextChat 用 OPENAI_API_KEY、BASE_URL,Claude Code 才用 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL;Codex 用 ~/.codex/config.toml。不要把 ANTHROPIC_* 套到 NextChat,也不要把 NextChat 的 Base URL 写到 Codex 配置里。排障顺序固定为 Key → Base URL → 模型名 → tools 透传,能覆盖这篇里绝大多数错。
4.3 函数调用结果怎么落回对照表
一次中文函数调用跑通后,把三样东西写进对照表:模型广场 ID、NextChat 保存的模型名、tool_calls 里的函数名与参数。不要写具体 Token 数和耗时,除非你明确记了这次运行的环境和时间,并声明“一次运行,不代表公榜”。HF likes/downloads/Trending 与 OpenRouter usage 继续放在热度列,不要和能力列合并。模型广场上的是模型,TaoToken 提供的是 Key、Base URL 和统一通道,读者用统一 Key 接同一个模型,公榜成绩属于模型本身,不属于通道。本文不含排行分数,也不把任何热度字段当跑分。如果你要把 Qwen3.7 Flash 和其他 Flash 模型做对照,至少保持同一把 Key、同一 Base URL、同一函数 schema、同一中文 prompt,再记录运行时间。
跑完这次 Qwen3.7 Flash 中文函数调用,打开 模型对话 确认模型 ID 与广场一致;长期开发可看 Coding Plan。Key 在 控制台 创建,Claude Code / CC Switch 三件套对照 接入文档。落地页 TaoToken 可以回看模型广场与用量,把这次 tool_calls 日志里的模型 ID 和广场页面对一遍,再决定要不要把 NextChat 保存为默认供应商。
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度




被折叠的 条评论
为什么被折叠?



