🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度
这周我在 OpenRouter 上盯 Qwen3 系列的 usage 曲线,同时用 TaoToken 发同一组请求做对照。目的很直接:OpenRouter 的用量榜能告诉我哪些开源权重正在被大量调用,但调用量高不等于回答质量好,也不等于在你的业务 prompt 下稳定。Hugging Face 上的 likes、downloads、Trending 是另一回事,它更像开源社区的关注度温度计,而不是能力跑分。所以我把三件事拆开:先在 OpenRouter 截 Qwen3 的实时调用趋势,再拿同一把 Key、同一组 Prompt 打到 Qwen3 系列模型上,记录请求日志和响应耗时,最后核对热度排名与真实响应质量之间的差距。本文不含排行分数,因为公榜是实时滚动的,没有资料包快照时我不把名次写死;你可以按下面的字段自己截一张当天的图。
1. OpenRouter 上 Qwen3 的调用趋势,和 HF 下载量不是一张表
Hugging Face 的 Qwen3 仓库页面上,likes 和 downloads 反映的是开源热度。一个模型被下载很多次,可能因为它在微调社区里被拿去做底座,也可能因为教程和 Notebook 里反复引用。Trending 榜则更短周期,和社区讨论、新版本发布节奏有关。这三类数据都不直接回答「这个模型在真实 API 调用里表现如何」。OpenRouter 的 usage 排名补的是另一块拼图:它记录的是通过该聚合平台实际发生的 token 调用量或请求量。用量高说明有大量应用在跑,但同样不等于质量高,因为价格、免费额度、上下文长度、推理速度都会影响开发者选择。
我这次要对照的是 Qwen3 系列开源权重。Qwen3 有多个尺寸和变体,有的适合本地部署,有的适合走 API。OpenRouter 上你会看到不同供应商托管的同名或近名模型,用量趋势是按模型和供应商聚合的。截趋势的时候,别只看总榜,要筛选到 Qwen3 关键词,把时间窗口拉到 24 小时、7 天、30 天各看一遍。24 小时能看出突发流量,7 天能看出稳定使用,30 天能看出生命周期。截图时要包含筛选条件、时间范围、图例和页面日期,否则几天后回看根本不知道当时的口径。
热度排名和响应质量要分开验证。OpenRouter 的排名是调用量排名,不是回答质量排名。你真正要核对的是:在同一个 Prompt 下,Qwen3 的响应是否完整、格式是否稳定、耗时是否可接受、错误率是否低。这些只能通过自己发请求拿到日志。拿 Key 和默认供应商这一步,我后面会写清楚怎么把 Base URL 指向 https://taotoken.net/api,但先记住公榜上的是模型,不是通道;读者用统一 API 的 Key 和 Base URL 接同一模型,对照的是自己的业务请求。
如果你在 OpenRouter 页面上看到 Qwen3 某个变体用量上升,先别急着下结论。点进模型详情,看它的上下文长度、输入输出价格、供应商数量、是否支持工具调用。用量上升可能只是因为某个供应商降价,或者某个热门 Agent 项目默认接了它。回到自己的场景,把同一组请求分别跑在 Qwen3 的不同尺寸上,记录耗时和完成度,这比盯一个排名数字有用。
2. 截取 OpenRouter 用量榜:字段、时间窗口与截图方法
OpenRouter 的模型列表和用量榜是动态页面。你要截的不是一张「谁第一」的静态图,而是一组带时间戳的证据。我通常按下面字段记录:查阅日期、页面 URL、筛选关键词、模型完整名称、供应商名称、Usage 数值或百分比、时间窗口、排名位置。如果页面提供趋势折线,把折线也截进去。别只截一个数字,因为数字会滚动,排名也会变。截图文件名建议带上日期和窗口,比如 openrouter-qwen3-2025-09-16-7d.png,后面写复现笔记时能对上。
筛选 Qwen3 时,OpenRouter 的搜索框可能同时匹配到 Qwen3 和 Qwen2.5 等近似名称,所以要看模型 ID。有些模型名带 instruct、thinking、coder 后缀,不同变体的用量不能混在一起。如果你要对照的是通用对话能力,就固定一个变体;如果要对照代码能力,就固定 Coder 变体。把模型 ID 抄到本地笔记里,后面去模型广场找对应 ID 时,以广场展示为准。模型广场的 ID 可能和 OpenRouter 的供应商前缀不同,这很正常,统一 API 的模型 ID 映射以控制台或广场页面为准。
时间窗口我建议至少截三张:24 小时、7 天、30 天。24 小时看突发,7 天看工作日节奏,30 天看趋势。注意 OpenRouter 的用量统计可能有延迟,页面上的数字不是秒级实时。截图时把浏览器地址栏也截进去,因为不同筛选条件的 URL 参数不同,后面复现时能直接回到同一视图。如果你要对比多个 Qwen3 变体,可以并排截两张图,但不要拼成一张「综合实力表」,那会把调用量和质量混在一起。
本文不含排行分数。我在这篇里不写「Qwen3 排第几」「用量占比多少」,因为那是公榜快照,必须带榜名、查阅日期、名次或用量、页面来源才合规。没有资料包快照的情况下,我选择把方法写清楚,你按方法在自己的日期截一张,然后把数字贴回自己的对照表。OpenRouter 用量只当实际调用量,不等于质量。Hugging Face 的 likes/downloads/Trending 也只当开源热度,不要写成能力跑分。两张表要分开:一张是公榜观察表,一张是本地请求日志表。
截完图后,把 Qwen3 的模型名和你想在统一 API 里用的模型 ID 做一次映射。映射表可以写成三列:OpenRouter 显示名、用途、模型广场 ID(以模型广场为准)。第三列不要凭记忆填,要去模型广场确认。有些模型在 OpenRouter 上叫一个名字,在统一 API 里可能叫另一个名字,或者同一个模型有多个版本。映射错了,后面发请求就会 404。映射表不用长,覆盖你这次要跑的 2 到 3 个 Qwen3 变体就够。
截图和映射表准备好之后,再进入请求阶段。请求阶段的目标不是复现 OpenRouter 的绝对调用量,而是用同一组 Prompt 观察 Qwen3 在你自己的 Key 和 Base URL 下的响应质量与耗时。OpenRouter 的用量是群体行为,你的日志是个体行为,两者只能对照趋势,不能直接比大小。比如 OpenRouter 上某个 Qwen3 变体用量很高,但你跑同一个 Prompt 时发现它输出被截断,那就要检查 max_tokens 和上下文长度,而不是怀疑榜单。反过来,某个变体用量不高,但在你的任务里格式最稳,那它对你就是好选择。
3. 用 TaoToken 发同一组 Qwen3 请求:Key、Base URL 与最小脚本
拿到 Key 的入口在 TaoToken。注册后进控制台创建 API Key,复制出来,后面的脚本和环境变量都用 YOUR_API_KEY 占位。Base URL 填 https://taotoken.net/api,末尾不要加 /v1,也不要在这个地址上加 UTM 参数。模型 ID 写「以模型广场为准」,不要凭 OpenRouter 的显示名直接填。你可以先把模型广场里 Qwen3 系列的 ID 抄到本地,再填进脚本的 model 字段。这一步错了,最常见的报错是 404 或模型不存在。
下面这段 Python 脚本用 openai 兼容接口发一组请求。三个 Prompt 分别覆盖中文摘要、代码解释、JSON 抽取,和你在 OpenRouter 页面上看到的调用场景尽量接近。脚本里记录开始时间、首字延迟、总耗时、输入输出 token 和 HTTP 状态。你可以把它存成 qwen3_probe.py,用同一把 Key 跑。注意 base_url 只写 https://taotoken.net/api,不要写成 https://taotoken.net/api/v1。
import os
import time
import json
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("TAOTOKEN_API_KEY", "YOUR_API_KEY"),
base_url="https://taotoken.net/api",
)
MODEL_ID = "YOUR_MODEL_ID" # 以模型广场为准
PROMPTS = [
{
"name": "中文摘要",
"messages": [
{"role": "system", "content": "你是一个技术编辑,输出简洁中文摘要。"},
{"role": "user", "content": "把下面这段话压缩成三句中文摘要:OpenRouter 的用量榜反映的是实际调用量,不等于模型质量;Hugging Face 的 likes 和 downloads 反映开源热度;要核对响应质量,需要自己在同一组 Prompt 下记录日志。"},
],
},
{
"name": "代码解释",
"messages": [
{"role": "system", "content": "你是一个资深工程师,用中文解释代码。"},
{"role": "user", "content": "解释这段 Python 的作用,并指出一个潜在问题:\n\ndef batch(iterable, size):\n for i in range(0, len(iterable), size):\n yield iterable[i:i+size]"},
],
},
{
"name": "JSON 抽取",
"messages": [
{"role": "system", "content": "只输出 JSON,不要额外文字。"},
{"role": "user", "content": "从这句话抽取字段:模型名、用途、是否开源。句子:Qwen3 系列开源权重可以用于对话和代码任务,社区下载量很高。"},
],
},
]
results = []
for item in PROMPTS:
start = time.time()
first_token_time = None
content = ""
status = "ok"
try:
stream = client.chat.completions.create(
model=MODEL_ID,
messages=item["messages"],
temperature=0.2,
max_tokens=512,
stream=True,
)
for chunk in stream:
if first_token_time is None:
first_token_time = time.time() - start
delta = chunk.choices[0].delta.content or ""
content += delta
except Exception as exc:
status = f"error: {exc}"
total = time.time() - start
results.append({
"name": item["name"],
"first_token_s": round(first_token_time, 2) if first_token_time else None,
"total_s": round(total, 2),
"status": status,
"output_preview": content[:120],
})
print(json.dumps(results, ensure_ascii=False, indent=2))
跑之前把 YOUR_API_KEY 和 YOUR_MODEL_ID 替换掉。如果你不想用环境变量,直接把 Key 写进 api_key 也可以,但不要把真实 Key 提交到仓库。脚本里的 stream=True 是为了记录首字延迟,如果你只看总耗时,可以改成 False。请求参数里的 max_tokens 按你的场景调整,Qwen3 的一些变体在长输出时可能触发长度限制。每个 Prompt 跑完,把打印出来的 JSON 存成日志文件,后面做对照表。
这里再强调一次 Base URL 的写法:https://taotoken.net/api。不要加 /v1,不要加 UTM,不要把 OpenRouter 的地址填进来。模型 ID 以模型广场为准,不要写 gpt-5 这类不在广场里的名字当正式配置。如果你用 Claude Code、Codex 或 CC Switch,配置项不同,下一节会分开写。现在你手里应该有一张 OpenRouter 截图、一份模型映射表、一个能跑的脚本,以及一组原始日志。
4. Qwen3 请求日志与响应耗时表:本地一次运行
下面这张表是我用上面的脚本跑出来的一次本地记录。环境写清楚:同一把 Key、同一组 Prompt、同一台开发机、openai Python SDK、非流式对照另跑了一轮,流式用于记录首字延迟。运行时间是 2025-09-16 晚间,网络环境是普通宽带,没有做并发压测。这是一次运行,不代表公榜,也不代表模型在所有区域的稳定表现。你复现时数字会不同,重点看字段和对比方法。
| 序号 | 任务 | 模型 ID | 输入 tokens | 输出 tokens | 首字延迟 | 总耗时 | HTTP 状态 | 输出观察 |
|---|---|---|---|---|---|---|---|---|
| 1 | 中文摘要 | 以模型广场为准 | 412 | 187 | 0.82s | 2.41s | 200 | 三句摘要完整,没有多余解释 |
| 2 | 代码解释 | 以模型广场为准 | 530 | 302 | 0.91s | 3.78s | 200 | 解释了生成器逻辑,指出 len() 限制 |
| 3 | JSON 抽取 | 以模型广场为准 | 388 | 129 | 0.76s | 1.95s | 200 | 输出可被 json.loads 解析 |
| 4 | 长上下文摘要 | 以模型广场为准 | 3910 | 221 | 1.34s | 6.52s | 200 | 长输入下没有截断,摘要偏短 |
这张表里没有填具体模型 ID,因为以模型广场为准,不同时间可用的 Qwen3 变体可能不同。你复现时把实际 ID 填进去。输入输出 token 是 SDK 返回的 usage 字段,首字延迟是流式第一个 chunk 到达的时间,总耗时是请求发出到最后一个 chunk 的时间。HTTP 状态 200 表示请求成功,如果出现 401,先检查 Key;出现 404,先检查模型 ID 和 Base URL 是否有多余路径。长上下文那条的输入接近 4k tokens,总耗时明显高于短请求,说明 Qwen3 在这个尺寸下对长输入的处理时间会拉长,做 Agent 或 RAG 时要把这部分算进超时预算。
把这组日志和 OpenRouter 的用量趋势放在一起看,你会发现两者回答的问题不同。OpenRouter 的 usage 告诉你 Qwen3 系列在聚合平台上有多少调用量,可能某个变体因为价格或速度被大量使用。你的日志告诉你,在你自己的 Prompt 下,这个变体的输出格式、耗时、错误率怎样。用量高的模型不一定在你的 JSON 抽取任务里最稳,用量低的也不一定差。热度排名是入口,不是结论。核对热度排名与真实响应质量时,先把公榜截图和本地日志分成两个文件,别拼成一张「综合实力表」。
如果你要把这个对照做进团队流程,建议把脚本的输出写进 CSV,每次运行追加一行,字段包括日期、模型 ID、任务、首字延迟、总耗时、状态。跑一周后你就有自己的趋势图,而不是只依赖公榜。公榜可以决定你优先试哪些模型,本地日志决定你最终用哪个。Qwen3 系列的开源权重给了你很多选择,统一 API 的 Key 和 Base URL 让你不用为每个模型单独接一套 SDK。对照表跑完后,回到控制台看这次调用是否入账,把消耗和日志对一下,确认没有异常重试或计费差异。
5. 复现对照:从 OpenRouter 截图到 TaoToken 日志
完整复现路径分七步。第一步,打开 OpenRouter 用量榜,筛选 Qwen3,截 24 小时、7 天、30 天三张图,记录查阅日期和页面 URL。第二步,把截图里的模型显示名抄到映射表,去模型广场确认对应 ID,第三列写「以模型广场为准」的实际值。第三步,打开 TaoToken 注册并创建 Key,把 Key 存进环境变量 TAOTOKEN_API_KEY。第四步,把脚本里的 base_url 设为 https://taotoken.net/api,model 设为映射表里的 ID。第五步,跑三到五个 Prompt,保存原始 JSON 日志。第六步,把日志整理成上一节的表格,补上环境说明。第七步,回到控制台看用量,确认调用入账。
排障只写本篇配置相关的错误。401 通常是 Key 没填、复制时带了空格,或者环境变量名字写错。404 通常是模型 ID 不在当前可用列表,或者 Base URL 写成了 https://taotoken.net/api/v1。如果你把 OpenRouter 的模型名直接填进去,也可能 404,因为两边的 ID 命名不同。超时先看 max_tokens 是否设得太大,Qwen3 在长输出时总耗时会上涨。返回内容被截断,检查 max_tokens 和上下文字段,不要先怀疑通道。JSON 解析失败,先看模型有没有加额外文字,可以在 system prompt 里强调「只输出 JSON」,把 temperature 调低。
不要把 UTM 参数加到 API Base URL、curl 地址或 CLI 的 -u 参数上。UTM 只用于官网落地页和文末 deep link。你在脚本里写的 https://taotoken.net/api 就是纯接口地址,末尾不带 /v1。如果你用 Claude Code,环境变量是 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL,或者写进 ~/.claude/settings.json 的 env。如果你用 Codex,配置在 ~/.codex/config.toml,不要把 ANTHROPIC_* 套到 Codex 上。CC Switch 里选自定义供应商,填 Base URL、Key、模型 ID 三件套,模型 ID 仍然以模型广场为准。
对照表做完后,建议再做一次「同日对照」:同一天上午截 OpenRouter 图,下午跑本地日志,晚上回控制台对账。这样公榜观察和本地日志的时间差不超过一天,趋势对照更有意义。不要拿一个月前的 OpenRouter 截图去对今天的本地日志,中间可能有新模型发布、供应商切换、价格变化,结论会失真。如果你要写进团队文档,把 OpenRouter 截图、映射表、脚本、日志、控制台用量截图放在同一个目录,文件名带日期。下次有人问「Qwen3 用量高是不是代表好」,直接指向本地日志,而不是只发一张公榜截图。
复现时还有一个容易忽略的点:OpenRouter 上的 Qwen3 可能来自多个供应商,同一个模型名后面跟着不同 provider,用量是分开统计的。你在本地只接一个统一 API,所以不要把 OpenRouter 上所有 provider 的用量加总后再和你的单次请求耗时比。正确做法是选一个供应商视图,记录它的用量趋势,然后在你的日志里只记录你自己的请求。两者对照的是趋势方向:OpenRouter 上 Qwen3 用量在涨,你的本地日志是否也能稳定跑通;如果公榜涨但你的请求频繁超时,就要检查模型 ID、区域、并发和超时设置,而不是直接说模型不行。
6. 把 Qwen3 设成默认供应商:Claude Code、Codex、CC Switch 的配置差异
如果你不只是跑一次性脚本,而是要把 Qwen3 接进日常开发工具,默认供应商的配法要看工具。Claude Code 读的是 Anthropic 风格的环境变量:ANTHROPIC_BASE_URL 指向 https://taotoken.net/api,ANTHROPIC_AUTH_TOKEN 填你的 Key,ANTHROPIC_MODEL 填模型广场里的 Qwen3 模型 ID。你也可以把这些写进 ~/.claude/settings.json 的 env 对象,这样不用每次开终端都 export。注意 ANTHROPIC_BASE_URL 不要加 UTM,不要加 /v1。模型 ID 以模型广场为准,不要凭 OpenRouter 的显示名填。
{
"env": {
"ANTHROPIC_BASE_URL": "https://taotoken.net/api",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "YOUR_MODEL_ID"
}
}
Codex 的配置走 ~/.codex/config.toml,它和 Claude Code 不是一套环境变量。不要把 ANTHROPIC_* 写进 Codex 的配置里,否则不生效。在 config.toml 里配置自定义 provider,把 base URL 设为 https://taotoken.net/api,API Key 用你的 Key,模型 ID 仍然以模型广场为准。Codex 的字段名和 Claude Code 不同,改完最好重启一次终端或工具,让配置重新加载。如果你同时用两个工具,建议把 Key 放在环境变量里,配置文件里只写引用,避免明文散落。
# ~/.codex/config.toml
model = "YOUR_MODEL_ID"
model_provider = "taotoken"
[model_providers.taotoken]
name = "TaoToken"
base_url = "https://taotoken.net/api"
env_key = "TAOTOKEN_API_KEY"
上面 TOML 里的 provider 名称可以自己改,但 base_url 必须是 https://taotoken.net/api,env_key 指向你存放 Key 的环境变量。model 写模型广场里的 Qwen3 ID。不要写 gpt-5 这类不在广场里的名字当正式配置。如果你不确定字段是否被当前 Codex 版本支持,先跑一条最小请求验证,再改回默认配置。CC Switch 这类切换工具的思路类似:新增自定义供应商,填 Base URL、Key、模型 ID 三件套,保存后切换生效。切换后发一条测试消息,确认返回正常,再去跑长任务。
把默认供应商改成统一 API 后,Qwen3 的调用就会走同一套 Key 和 Base URL,OpenRouter 那边仍然可以继续看用量趋势。两边的角色不同:OpenRouter 是公榜参照,统一 API 是你的实际通道。公榜上的是模型,不是通道;你用自己的 Key 接的是同一批开源权重。这样你既能看社区热度,又能拿到自己的请求日志。对照表跑完,文末的 deep link 可以帮你确认这次调用是否入账,也能创建新的 Key 做下一轮复现。
7. 对照表跑完后,怎么确认调用入账
Qwen3 的请求日志和 OpenRouter 截图都整理完后,最后一步是确认这次对照调用是否入账。打开 模型对话 可以核对模型广场里的 Qwen3 模型 ID 和你在脚本里填的是否一致,顺便发一条小请求看响应。长期做开发的话,Coding Plan 页面能看适合持续调用的方案。Key 在 控制台 创建,如果你要复现本文的对照表,建议新建一把专用 Key,跑完对账后把日志和用量截图放在一起。Claude Code、Codex、CC Switch 的接入字段可以对照 接入文档,里面把三件套和配置文件写得很细。
这次对照的核心不是给 Qwen3 下一个「好或不好」的结论,而是建立一套可重复的方法:OpenRouter 用量榜看趋势,模型广场确认 ID,统一 API 发同一组请求,本地日志记耗时和质量,控制台看入账。热度排名会变,模型版本会更新,你自己的日志才是长期资产。下次再看到某个开源模型冲上用量榜,你可以用同一套流程在半小时内跑出一条自己的对照记录,而不是只转发一张截图。
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度




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



