OpenRouter 专题
本专题共 55 篇。内容依据 官方文档 的公开内容整理。凡官方文档没有写明的地方,文中一律照实写 「官方文档没有说明这一点」,不做推断。
OpenRouter API 怎么接入?一个 key 调 GPT/Claude 等上百个模型
讲清 OpenRouter API 怎么接入:它作为海外 LLM 聚合平台的定位、注册拿 key 的步骤、OpenAI 兼容 base_url 与 Python 最小调用、模型命名空间前缀怎么写、免费模型档的限速规则,以及中国大陆访问这件事的真实情况。
接入与鉴权
把 key 拿到手之后的几条路:给应用接 OAuth PKCE 登录、用 BYOK 走自己的供应商账号、用管理型 key 做自动化轮换、什么任务适合走批量 API、嵌入与重排怎么拼进 RAG。最后一篇是官方对自己的定位自述——正文全程标注「官方自述」,不替它背书。
给你的应用接 OpenRouter 登录:OAuth PKCE 流程怎么走
让用户自带 OpenRouter 账号、你的应用只拿一把归用户所有的 key,靠的是 PKCE 流程。这篇按官方《OAuth PKCE》页把每一步拆开:/auth 上挂哪些查询参数、回调回来的 code 长在哪、换 key 的那个 POST 要带哪三个字段、localhost 与 headless 两种形态各自的限制,以及四个错误码分别对应哪一步配错了。
BYOK 自带密钥怎么接:用自己的供应商账号走 OpenRouter
按 OpenRouter 官方文档梳理 BYOK 的配置流程与生效范围——密钥放在哪一层、Prioritized 与 Fallback 两个分区怎么排序、三种 key filter 何时生效、为什么 BYOK 会盖过你写的 provider order、以及它跟数据策略和预算的关系。附 Azure / Bedrock / Vertex 三种凭据格式与排错入口。
用 OpenRouter 管理型 API key 自动化管密钥:轮换与作用域
OpenRouter 的 Management API key 和平时发请求用的那把 key 不是一回事,官方文档明确写了它调不了补全端点。这篇把两页文档合在一起讲清楚:管理 key 的权限边界在哪、`/api/v1/keys` 上有哪几个动作、零停机轮换的三步各自在改什么、哪些地方文档压根没说明,以及删掉旧 key 之前该怎么确认流量已经迁走。
OpenRouter 的批量 API:什么任务适合走批量
OpenRouter 的 Batch API 用一个内联的 requests 数组提交,用同一个批次 ID 轮询,完成后结果直接内联返回,没有单独的下载端点。本文按官方文档梳理提交格式、三个必填字段、状态流转与结果取法,以及它明说不支持的那几类请求。
在 OpenRouter 上做嵌入与重排:RAG 那一段怎么拼
按 OpenRouter 官方文档的《Embeddings》与《RAG with Embeddings & Rerank》两页,把嵌入、重排、生成这三段的请求字段、响应字段与上下文拼接顺序对齐一遍:input 的三种形状、rerank 的 documents 与 results 结构、两页示例里不一致的取值方式,以及文档明说不支持的部分。
OpenRouter 把自己定位成什么:principles 与 models 两页的自述
OpenRouter 的 Principles 页用六条价值主张给自己定了位,Models 页则把这些主张落成了可以被程序读到的字段。本文顺着一次 /api/v1/models 请求走一遍,逐条对上「官方自述」与「接口里真能核到的字段语义」,也标出哪几条自述在这两页里找不到对应字段,帮你判断该信哪个字段做模型选择与成本口径。
路由:这一层才是它的核心
provider 路由的字段与排序过滤语义、回退链怎么触发、模型名后面的 nitro/floor/exacto 这些后缀各自换掉了哪一段、几种 router 分别按什么挑、响应里的路由元数据怎么读出「这次到底走了谁」、presets 把一整套参数收成一个名字。★这一组全部只写机制与字段,不列供应商名单——那些数据是页面运行时才拉取的。
OpenRouter 的 provider 路由怎么配:把请求钉在你想要的那家
同一个模型 slug 背后可能挂着多家供应商,默认是按价格做负载均衡。这篇按 OpenRouter 官方《Provider Routing》页把 provider 对象里的字段一个个过一遍:order、only、ignore 怎么筛,sort 与 partition 怎么排序,哪些字段是硬过滤、哪些只是软偏好,以及配错时会以什么形式炸出来。
给 OpenRouter 模型配回退链:主模型挂了自动换下一个
线上调模型最怕的不是慢,是主模型突然返回错误、整条链路一起断。OpenRouter 官方文档的《Model Fallbacks》页写明了 `models` 数组与 Anthropic Messages 端点上 `fallbacks` 参数的字段语义、默认会触发回退的错误类型,以及三条会直接返回 400 的限制。这篇按文档把这些字段逐个讲清楚,并说明哪些部分文档并没有交代。
OpenRouter 模型名后面的后缀改变了什么:nitro、floor、exacto 各自换掉路由的哪一段
同样一段请求体,只在 model 字段后面多了个冒号后缀,走的路就不一样了。本文按 OpenRouter 官方文档,把七个变体后缀逐个落到它实际改写的那一项上:哪些改的是你在寻址哪个模型条目,哪些改的是选定模型之后供应商怎么排序,以及哪一个已经被标了 deprecated。
OpenRouter 的几种 router 分别按什么挑模型
把 model 字段填成一个 router slug,模型就不是你选的了。本文沿着 OpenRouter 官方文档 routers 一节的六页,逐个说清每个 router 拿什么当选择依据——市场消费份额、编码百分位、能力过滤后随机、家族最新版——以及怎么从响应里回读它到底挑了谁。
OpenRouter 响应里的路由元数据怎么读:这次到底走了谁
OpenRouter 默认不告诉你一次请求最终落到哪个 provider、中途有没有被压缩或拦截。本文按官方文档《Router Metadata》页,把 `X-OpenRouter-Metadata` 开关、`openrouter_metadata` 的字段语义、pipeline 阶段的读法,以及错误响应里它出现在哪一层,逐个走一遍,重点放在排障时怎么用它做判断。
OpenRouter presets 怎么用:把一整套参数收成一个名字
OpenRouter 的 preset 允许把模型、系统提示、provider 路由偏好和 tools 收进一个带 slug 的命名配置,请求里用 @preset/slug 引用。本文按官方文档梳理 preset 能存哪些字段、三种引用写法、从已有请求体反向建 preset 的三个端点,以及请求字段与 preset 字段之间的覆盖优先级——包括 tools 数组那条与其它字段不一样的合并规则。
OpenRouter 路由失败怎么排查?五层剥洋葱式定位法
OpenRouter 调用失败时该按什么顺序查:先分清连不通、被拒绝、有响应但结果不对这三类现象,再从网络链路、鉴权与 base_url、模型命名空间前缀、余额与免费档限速,一路查到 provider 层的自动 fallback 到底管什么、不管什么,附一份可直接抄的日志字段清单。
OpenRouter 上怎么挑性价比模型?一套可复现的比价方法
OpenRouter 上能调的模型有上百个,光看每百万 token 单价挑不出真正划算的那个。这篇讲清楚性价比该怎么算:输入输出价为什么要分开看、充值手续费如何抬高真实单价、免费档适合做什么不适合做什么、代表模型的官方价目怎么读、以及怎么用一批固定样本把"感觉不错"变成可复现的结论。
OpenRouter 的免费模型能用到什么程度?限速、模型池与适用边界
OpenRouter 提供一档免费模型路由,但"免费"到底能撑住什么样的使用强度?这篇讲清免费档的每日/每分钟限速怎么分级、充值记录如何影响额度、免费池里大多是什么模型、哪些场景真的够用、哪些场景必须换付费档,以及大陆访问这个绕不开的前提。
功能特性
工具调用的跨供应商统一层在哪、结构化输出不是所有路由路径都支持、响应缓存与提示缓存是两回事(断点打在哪很关键)、服务端工具让工具跑在平台侧而不是你这边、plugin 与 server tool 的介入点不同、message transforms 会在你不知道时改写消息。
OpenRouter 的工具调用怎么写:跨供应商的统一层在哪
换一个模型,工具调用就回不来了?本文按 OpenRouter 官方文档梳理 tools 定义里每个字段的含义、tool_choice 与 parallel_tool_calls 的取值、请求为什么每一轮都要重发 tools,以及跨供应商差异是靠 require_parameters、参数软偏好和 Auto Exacto 这三层处理的,最后给出几处文档自身不一致的地方与验证办法。
在 OpenRouter 上要结构化输出:不是所有路由路径都支持
OpenRouter 的结构化输出靠 response_format 里的 json_schema 声明,但官方文档写明支持与否是按 endpoint 判定的,同一个模型换个 provider 就可能不生效。本文按官方文档梳理 schema 的写法、strict 的实际含义、require_parameters 的兜底方式,以及不支持时会得到什么。
OpenRouter 的响应缓存怎么开:命中与不命中的判定
OpenRouter 的响应缓存作用在请求转发给 provider 之前,开关有请求头和 preset 两条路。本文按官方文档梳理缓存键由哪几样东西拼成、哪些改动会让它失效、优先级规则怎么算,以及命中之后从响应头和用量字段怎么看出来确实命中了。
提示缓存在 OpenRouter 上怎么用:缓存断点打在哪
OpenRouter 的提示缓存有三种声明形态——顶层 cache_control、逐块 cache_control、OpenAI 风格的 prompt_cache_breakpoint。本文按官方文档梳理这三种断点写在请求体的哪一层、彼此怎么互转、哪些接口不支持,以及怎么从 usage 字段确认缓存真的命中了。
服务端工具体系:让工具跑在 OpenRouter 那边而不是你这边
一次请求里到底是谁在执行工具?本文按 OpenRouter 官方文档的《Server Tools》一节,把服务端工具、插件与用户自定义工具的职责边界走一遍,重点讲 apply_patch 的人在回路验证、shell 的托管沙箱执行,以及 subagent 把执行权交回客户端的那条路径。全部为 beta 阶段能力。
OpenRouter 的插件机制:plugin 与 server tool 不是一回事
同样是给模型加一项能力,OpenRouter 的 plugin 写在 plugins 数组里、启用就跑一次,server tool 写在 tools 数组里、由模型决定调不调。这篇沿官方文档把两者的介入点走一遍:谁决定、谁执行、跑几次、配置写在哪一层,以及 Fusion 与 Response Healing 这两个例子怎么把差异摆到明面上。
OpenRouter 把你的消息改写了:message transforms 在你不知道时做了什么
发给 OpenRouter 的对话,中间几轮可能在到达模型之前就被删掉了。这篇按排查顺序走一遍:怎么用官方文档写明的 openrouter_metadata 与 debug 字段确认压缩确实发生过,触发它的三个条件分别是什么,怎么在单次请求里关掉,关掉之后怎么验证,以及哪些现象说明问题不在这里。
治理、合规与可观测
工作区与预算把团队花销切开(只写「可以设上限」这个能力,不落任何金额)、护栏与提示注入检测拦在请求链路上、服务分级影响哪一段体验、ZDR 与主权 AI 是两个常被混为一谈的开关、你的数据被哪一层记了、Broadcast 怎么把调用日志推到自己的可观测平台。
OpenRouter 工作区与预算:把团队的花销切开
一个账号下多个项目共用密钥,出了账单谁也说不清是谁花的。这篇按 OpenRouter 官方文档梳理 workspace 的隔离范围、预算上限的四个 interval 与严格递减规则、管理 API 的三个端点,以及切换工作区时会咬人的几处边界。
护栏与提示注入检测:OpenRouter 在请求链路上加的那道闸
从一条含注入短语的用户消息出发,沿 OpenRouter 官方文档描述的路径走一遍:guardrail 的检测在什么位置介入、扫的是请求的哪些部分、命中后 flag/redact/block 三档动作各自发生什么、403 响应里能拿到哪些排查字段,以及文档自己写明的漏网与误报边界。
服务分级是怎么回事:OpenRouter 的 service_tier 影响的是哪一段体验
从「请求里写了一个档、响应里报回来另一个档」这个具体现象出发,沿 OpenRouter 官方文档《Service Tiers》页把一次请求的分档路径走一遍:请求侧怎么选档、两种选法的差别、priority 与 flex 的回退规则各不相同、响应字段在三种 API 里放的位置不一样。只讲字段语义与机制,不涉及价格与额度数值。
OpenRouter 的零数据保留与主权 AI:两个常被混为一谈的开关
OpenRouter 文档里的 ZDR 与 Sovereign AI 经常被当成同一件事,但它们约束的是两个不同维度——数据请求结束后还在不在,和数据在哪个辖区被处理。本文沿着一次请求的路径,把两者各自的字段、生效层级与覆盖边界拆开讲清楚。
在 OpenRouter 上你的数据被哪一层记了:data collection 与 provider logging 的口径
合规同事问「我们发给模型的内容被谁留了」,很多人一句话答不上来。OpenRouter 官方文档把这件事拆在两页里讲:平台自己这一层、各 provider 那一层、还有一条只记 metadata 的旁路。本文按排查顺序把三层的开关位置、默认状态和文档明确划出的边界过一遍。
把 OpenRouter 的调用日志推到你的可观测平台:Broadcast 怎么接
OpenRouter 的 Broadcast 会把每次 API 请求的 trace 自动推到外部可观测平台。本文按官方文档梳理它的配置层次、请求侧可带的 trace 字段,以及 OTLP 目标端、Webhook、S3 三类落地端在字段映射上的实际差异,并写清哪些是文档明说不保证、哪些是文档根本没说的部分。
报错与排查
官方 errors 页把错误分成了哪几层、撞上哪条限制会返回什么(只写怎么识别,不写具体数值)、流式中断在 SSE 这层能看到什么信号、Responses API 的错误结构与 chat completions 不是一套、推理 token 拿不到思维链、延迟要把排队路由生成分开看、可用性怎么配、空补全保险与 response healing 各自覆盖到哪、Agent 跑进死循环怎么判、API 变更怎么跟。
OpenRouter 报错怎么定位:官方 errors 页把错误分成了哪几层
拿到一个 OpenRouter 的报错,只看 HTTP 状态码往往会走偏。本文按官方 Errors and Debugging 页的写法,把错误拆成状态码、error 对象、error_type 词表、provider_code、openrouter_metadata 五层,说清每层能回答什么问题、下一步该做什么,以及哪些情况根本不是报错。
OpenRouter 的各种限制项:撞上哪一条会返回什么
把 OpenRouter 官方文档里散落在两页的「限制」拆成可判定的几类——额度类、速率类、长度类、内容策略类、路由可用性类,各自对应什么状态码、什么 error_type、去哪个字段确认,以及哪些情况说明你排错了方向。全文不涉及任何额度与限流的具体数值。
OpenRouter 流式响应中断怎么查:SSE 这一层能看到什么
流式输出写到一半停了,客户端却什么都没报——这类问题绝大多数能在 SSE 原始行里看出来。本文按 OpenRouter 官方文档《Streaming》页写明的事件形态,梳理正常流、注释行、中止事件与两类错误各自的可见信号,给出逐层判定动作、文档语义下的处置,以及哪些现象说明不是这个原因。
OpenRouter Responses API 的错误处理:与 Chat Completions 不是一套
把 OpenRouter 的调用从 Chat Completions 换成 Responses API 之后,原来的错误分支会大面积失灵——两套接口的 error 结构不一样,error.code 一个是数字一个是字符串,error_type 所在的层级也不同。本文按官方文档的字段语义,讲清怎么判定自己踩的是不是这个坑、改哪里、怎么验证,以及哪些症状其实是别的原因。
OpenRouter 推理 token 排查:思维链拿不到、用量算不清
接 OpenRouter 的推理模型时,reasoning 字段有时是空的,usage 里报的推理 token 数又跟看到的文本对不上。本文按官方文档梳理 reasoning / reasoning_details 的返回位置、三种 detail 类型与 format 标记,给出逐步判定动作、处置方式,以及哪些现象其实不是这个原因。
OpenRouter 的延迟从哪来:把排队、路由与生成分开看
同一个 model slug、同一段 prompt,两次调用的首字返回快慢差很多,该查哪一段?本文按 OpenRouter 官方文档的口径,把一次请求拆成边缘接入、余额检查、路由与回退、router pipeline、供应商生成几段,给出每段可核查的判定动作与文档写明的可调字段,并说明什么情况下问题不在这一层。
OpenRouter 可用性配置越加越脆:uptime optimization 页那套组合怎么排查
按官方文档《Uptime Optimization》与《Provider Routing》的字段语义,梳理一次「参数加得越多、失败得越干脆」的排查路径:先用 X-OpenRouter-Metadata 把路由决策打开看候选端点数,再按收窄程度重排 order、allow_fallbacks、only、data_collection 这些过滤项,最后区分哪些错误跟路由配置根本无关。
OpenRouter 的空补全保险是什么:返回空内容时的计费与重试口径
调用 OpenRouter 拿到一次空返回,最先担心的是这次白跑要不要付钱。本文按官方文档《Zero Completion Insurance》页的原文,梳理这层保护的两个触发条件、覆盖到哪几类 token、文本转语音与图像生成各自怎么算「有效输出」,以及哪些附加服务费用不在覆盖范围内,并说明文档里没有写的部分。
OpenRouter 的 response healing 插件在修什么:不是所有畸形输出都能救
结构化输出偶发解析失败时,很多人挂上 OpenRouter 的 response-healing 插件就当问题解决了。这篇按官方文档把它的激活条件、文档列出的可修类型、以及文档明确写明修不了的情况拆开,给出一套能自己走一遍的判定顺序,避免把「文档写明不覆盖」误当成「插件坏了」。
Agent 跑进死循环:OpenRouter 的 doom-loop detection 怎么判
一个 agent run 反复调同一个工具却不推进,怎么确认它是死循环、而不是别的毛病?本文按 OpenRouter 官方文档的字段语义,梳理 doomLoop 的检测条件、ladder 各档动作、loopKey 的三种写法,以及 stopWhen 这条兜底线各自负责什么,最后说清哪些情况根本不归它管。
OpenRouter 的 API 变更怎么跟:versioning 与 changelog 怎么读
接入 OpenRouter 之后,客户端某天开始解析失败,或者 changelog 上挂着 Breaking 标签却不知道要不要改。这篇按排查顺序走一遍:怎么定位版本、官方把哪几类改动算破坏性、null 字段为什么算破坏、以及哪些症状根本不该去翻 changelog。
Agent 工程:call-model、MCP 两端与评测
OpenRouter 的 Agent SDK 把循环放在 call-model 这一层,与裸调 chat completions 的分工完全不同。这一组还包括:平台侧 MCP server 与客户端里配的 MCP 根本不是一回事、Ori 自带的评测管到哪,以及三篇与 Claude Code 的机制对照(工具跑在服务端还是本地、护栏与权限模型拦的位置不同、两套可观测方案吐的数据不一样)。
OpenRouter Agent SDK 的 call-model 层:与传统 chat completions 的分工
同样是调一次模型加几个工具,走 chat completions 你得自己写那个 while 循环,走 Agent SDK 的 callModel 则由它接管。本文按官方文档逐条对照两种形态在循环职责、停止条件、流式消费与观测点上的边界,说清各自把责任划在哪、哪些差异会在多轮工具场景里咬到你。
MCP 的两端:OpenRouter 的 MCP server 与客户端里配的 MCP 不是一回事
OpenRouter 官方文档里的 MCP 落在两处:一处是它自己当远程 server 被编辑器连过去,另一处是 @openrouter/mcp 让你的程序去连别人的 server。这篇沿着这两页文档切开服务端与客户端的职责,再与 Claude Code 文档写明的客户端行为对照,落到 stdio、elicitation、resources 与凭据存放上。
OpenRouter Ori 的 eval 与 harness:官方自带的评测这一层管到哪
Ori 有两层,harness 层把你已有的 agent CLI 接到 OpenRouter,eval 层做模型对比。本文按官方文档梳理两层各自的边界、一次评测跑完文件落在哪几个位置(.ori/eval/history.jsonl 与临时工作区)、以及 CI 里该跑哪条命令。
工具跑在 OpenRouter 服务端还是本地:两种形态各自的约束
给模型接一个能跑命令、能改文件的工具时,最先要定的不是选哪个工具,而是它在哪台机器上执行。本文对照 OpenRouter 的服务端工具(`openrouter:shell` 与 `openrouter:apply_patch`)与 Claude Code 的本地 Bash 工具,逐条看两边文档各自把权限边界和可见性划在哪,以及这个差异什么时候会真的咬到你。
OpenRouter 护栏与 Claude Code 权限模型:拦在请求链路上和拦在动作执行前
OpenRouter 的 guardrail 在请求转发给模型之前拦,Claude Code 的权限规则在工具动作执行之前拦。两处拦截位置不同,能防住的东西也不同。本文按两边官方文档写明的机制,拆开各自的判定时机、动作分档、层级合并规则,以及各自文档自己承认的失效边界。
可观测方案对照:OpenRouter Broadcast 与 Claude Agent SDK observability 各自吐什么
两边的文档都写着 observability,但一条记录里装的东西、配置落在谁那台机器上、内容默认在不在里面,三处都不一样。本文按官方文档逐条对照数据形态与落地端,并给出从处境倒推的选择路径。
选型与集成
聚合层与直连官方 API 的取舍(★「直连官方 API」不在我们的事实源里,那篇只写 OpenRouter 文档自述的这一跳做了什么以及它自己承认的代价,不替上游厂商描述能力,也不下「谁更好」结论)、在 Claude Code 与 Cursor 里怎么接、以及站内既有的计费与额度管理文章。
OpenRouter 聚合层与直连官方 API 的取舍:多这一跳换来什么
把请求交给 OpenRouter 之后,它会在中间做路由、回退、参数改写和插件处理。本文只依据 OpenRouter 官方文档,梳理这一跳白纸黑字承诺了什么、又在文档里承认了哪些代价,并给出一条从自身处境倒推的决策路径,不比较任何一家上游厂商,也不下谁更好的结论。
在 Claude Code 里用 OpenRouter:官方 cookbook 给的接法与它的边界
OpenRouter 的 Claude Code cookbook 给了一条五步接入路径,但它和 Claude Code 自己的网关文档在几个地方口径并不一致:Windows 侧的环境变量写法、项目 settings 文件该不该进版本控制、接上网关之后会失去哪些功能。本文把两边文档摆在一起逐条对照。
在 Cursor 里用 OpenRouter:cookbook 那一页没说的前置
OpenRouter 的 Cursor 接入 cookbook 只有四步,但真正让人卡住的东西都不在这四步里——base URL 必须带 `/cursor`、模型别名要 `~` 前缀、哪些功能压根不走你的 key。这篇把 OpenRouter 与 Cursor 两边官方文档写明的口径摆在一起,指出它们不重合的地方,以及这些差异什么时候会咬到你。
OpenRouter 和 OmniRoute 差在哪?托管聚合与自跑网关的取舍
OpenRouter 是托管的海外聚合服务,OmniRoute 是 MIT 开源、跑在自己机器上的 AI 网关。从计费方式、凭证归属、模型命名、稳定性责任、大陆访问五个维度讲清两者的真实差别,附分场景选型结论与踩坑提醒。
OpenRouter 怎么收费?信用金机制、加价与各模型单价
讲清 OpenRouter 的计费逻辑:预充值 credits 机制、官方声明的"不加价"透传规则、真正的收费点在充值手续费而不是模型调用、代表模型的实际单价、BYOK 免费额度两处官方口径的出入,以及月成本怎么估算。
OpenRouter 额度怎么管才不超支?充值节奏、免费档限速与路由取舍
OpenRouter 用预充值 credits,钱花在哪、怎么控制是两件事。这篇拆开模型调用费、充值手续费、BYOK 平台费三笔账,讲清最低手续费与一年到期怎么夹住你的充值节奏、免费档的具体限速能干什么、自动 fallback 对成本口径意味着什么,最后给一份不超支的操作清单。
接了好几家模型 API,怎么统一封装才不乱?
项目里同时接了多家大模型 API 之后,代码很快会被 if-else 和各家 SDK 撑爆。这篇讲一套可落地的分层封装思路:把模型抽象成配置、只统一最小公共面、把重试降级和用量记账收敛到一处,并说明什么时候直接用 OpenRouter 这类聚合层更划算、什么时候不该自己封装。
其它
尚未归入上面几组的篇目。
Claude Agent SDK 与 OpenRouter Agent SDK 对照:循环放在哪一层、谁管工具谁管路由
Claude Code 和 OpenRouter 各有一个叫 Agent SDK 的库,名字撞了,但两边官方文档对「这个库替你接管到哪一层」的写法并不一样。本文只对照双方文档白纸黑字写明的机制:循环跑在谁的进程里、内置工具是默认给满还是默认给空、停止条件是固定选项还是可组合谓词、结果怎么取,以及这些差异在什么场景下会咬到你。
OpenRouter 上的 Qwen3.8-27B 怎么调:八家供应商给的参数并不一样
同一个 qwen3.8-27b,在 OpenRouter 的八家供应商那里量化精度、上下文上限、最大输出长度都不同,其中一家报的上下文是别家的近四倍。本文讲怎么用 endpoints 接口把这些差异查出来,而不是照着首页那个数字下单。
想把多模型接入做成一层稳定的基础设施?
从 API 接入到 Agent 工程落地,站内有成体系的教程与学习路线。