AB
AiBoss
Tutorials

OpenRouter

Tutorials

用 OpenRouter 一个 API Key 接入 GPT-4、Claude 等模型并配置到 Chatbox 与 Obsidian Copilot

OpenRouter 把多家大模型厂商的接口聚合成一个兼容 OpenAI 的端点,注册、充值、创建 API Key 之后,只需在请求里声明模型名就能切换 Claude、Gemini、GPT-4 等模型。本文从账号准备讲到在 Chatbox 和 Obsidian Copilot 中完成配置,并给出可直接运行的 curl 示例与常见坑。

OpenRouter 是一个大语言模型聚合平台:它把多家厂商的模型放在同一个接口后面,你只需要申请一个 API Key,就能在 Claude、Gemini、GPT-4 等模型之间自由切换。它的接口结构与 OpenAI 兼容,因此大量现成的 AI 客户端和插件可以直接把 OpenRouter 当作服务端点使用。适合两类人:一是想同时试用多个模型、又不想分别去各家注册和付费的开发者;二是使用 Obsidian Copilot、Chatbox 这类工具,希望把 AI 能力接进自己工作流的普通用户。如果你只是想先看看站内还有哪些同类工具,可以从 OpenRouter 这一条目入手,再回到本文按步骤操作。

需要先说明的是,OpenRouter 采用预充值扣费模式:先往账户里充一笔钱,之后按实际调用量扣减。它本身不生产模型,收费标准与各模型官方一致,平台只收取少量手续费;具体费率、可用模型清单和免费模型范围会随时调整,请以官网当前信息为准。

准备工作

开始之前,把下面几样东西准备好,后面每一步都会用到。

  • 一个可登录的账号:打开 OpenRouter 官网完成注册并登录。注册只需要邮箱,不需要企业资质。
  • 一种可用的付款方式:平台支持多种银行卡,中国大陆用户可以使用 Visa、Mastercard 等国际卡组织发行的卡片完成充值。能否成功支付取决于发卡行,与平台无关。
  • 一个要接入的客户端:本文以 Chatbox 和 Obsidian Copilot 插件为例。前者是独立的桌面聊天客户端,后者是 Obsidian 的社区插件,需要先在 Obsidian 中安装并启用。
  • 目标模型的完整名称:这是最容易出错的一环。OpenRouter 上同一个厂商往往有多个版本(不同上下文长度、不同定价档位),模型名必须一字不差地填写,不能只写「claude」或「gpt-4」这样的简称。

另外建议提前想清楚预算。预充值金额由你自己决定,充多充少都不影响功能,只影响可用余额。第一次接入时不必充太多,先跑通流程再按需追加即可。

操作步骤

第一步:注册并登录账号

进入 OpenRouter 官网,用邮箱完成注册,然后登录。登录后右上角会出现头像入口,后续的 API Key 管理、余额充值、用量查询都在这个菜单里。

第二步:创建 API Key

API Key 是调用接口的唯一凭证,创建流程如下:

  1. 点击右上角头像。
  2. 在菜单中选择 Keys(密钥)入口。
  3. 点击 Create Key 创建新密钥。
  4. 生成后立即复制并妥善保存。

密钥通常只在创建时完整显示一次,关闭页面后就无法再次查看明文。如果丢失,只能删除旧密钥重新创建。建议把它存进密码管理器,不要直接贴在笔记正文或代码仓库里。

平台支持为每个 Key 单独设置使用额度,也支持创建多个 Key 分给不同的人或不同的应用使用。这样即使某个 Key 泄露,损失也被限制在它自己的额度内,不会波及整个账户余额。

第三步:充值余额

没有余额时调用会失败,所以创建 Key 之后要先充值:

  1. 点击右上角头像。
  2. 选择 Credits(额度)入口。
  3. 点击 Add Credits。
  4. 在弹出的窗口中填写账单地址信息,「国家或地区」按你的实际所在地选择。地址不需要非常精确,填到城市级别即可。
  5. 点击 Update Address 保存地址。
  6. 随后添加付款方式,填写卡号等信息后保存。
  7. 输入充值金额并确认支付。

充值成功后,账户余额会立即更新,可以在 Credits 页面看到当前余额和充值记录。金额大小没有限制,按自己的试用计划填写即可。

第四步:确定要调用的模型名称

OpenRouter 的一个 Key 可以调用平台上所有模型,但每次请求都必须在参数里声明用的是哪一个。因此下一步是去平台的模型列表页找到目标模型,复制它的完整模型标识。

模型标识一般由「厂商名/模型名」两部分组成,中间用斜杠分隔。复制时注意不要带上多余的空格或换行,也不要自己改写大小写。同一个模型可能有多个变体,价格和上下文长度不同,选错变体虽然也能跑通,但计费会不一样。

第五步:用 curl 验证接口是否可用

在配置任何客户端之前,先用命令行确认 Key 和余额都没问题,可以省掉后面排查客户端配置的麻烦。OpenRouter 的接口地址是 https://openrouter.ai/api/v1,与 OpenAI 的接口结构兼容,因此请求体格式也一致:

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer 你的API_KEY" \
  -d '{
    "model": "厂商名/模型名",
    "messages": [
      {"role": "user", "content": "用一句话解释什么是大语言模型"}
    ]
  }'

把 你的API_KEY 换成第二步保存的密钥,把 厂商名/模型名 换成第四步复制的完整标识。返回结果里会包含模型生成的文本,以及本次调用的 token 用量信息。如果返回的是鉴权错误,先检查 Key 是否复制完整;如果返回余额不足,回到第三步充值;如果返回模型不存在,说明模型标识写错了。

由于接口与 OpenAI 兼容,任何支持自定义 OpenAI 端点的 SDK 或客户端,都可以通过把 base URL 改成上面这个地址来接入 OpenRouter,不需要额外的适配层。

第六步:在 Chatbox 中配置

Chatbox 是桌面端聊天客户端,配置项集中在设置里的模型提供方页面:

  1. 打开设置,新增一个自定义的模型提供方,名称可以随意填写,只用于自己识别。
  2. API 域名填写 https://openrouter.ai/api/v1,注意保留末尾的 /v1,不要多加斜杠。
  3. API 路径保持默认,不要修改。
  4. API Key 填写第二步创建的密钥。
  5. 模型名称填写第四步复制的完整模型标识。
  6. 保存后发一条测试消息,确认能正常收到回复。

配置完成后,在对话界面选择刚才添加的模型即可开始聊天。如果想切换成另一个模型,最省事的做法是再添加一个提供方条目,只改模型名称,其余配置保持不变。

第七步:在 Obsidian Copilot 插件中配置

Obsidian Copilot 是 Obsidian 的社区插件,可以把 AI 问答接进笔记库。前提是已经在 Obsidian 中安装并启用了该插件。配置流程如下:

  1. 打开插件设置,找到自定义模型(custom model)相关区域。
  2. 点击添加自定义模型。
  3. 输入第四步复制的完整模型名称。
  4. 在提供方选项中选择 OpenRouter 对应的条目。
  5. 填入 OpenRouter 的接口地址 https://openrouter.ai/api/v1。
  6. 填入第二步创建的 API Key。
  7. 点击测试按钮,确认连接成功。
  8. 保存设置,并把刚添加的模型设为当前使用的模型。

测试通过后,就可以在 Obsidian 里直接对笔记内容提问,让模型基于你的笔记作答。由于笔记本身是本地 Markdown 文件,插件读取的是你指定的内容,模型调用则通过 OpenRouter 完成。

一个完整示例

下面把前面的步骤串成一个从头到尾可跑通的最小流程,假设你要接入的是某个 Claude 模型。

1. 注册并登录:在 OpenRouter 官网完成邮箱注册,登录后进入控制台。

2. 创建 Key:头像菜单 → Keys → Create Key,复制生成的密钥,暂存到一个安全的地方。

3. 充值:头像菜单 → Credits → Add Credits,填写账单地址,添加银行卡,输入一个较小的金额完成支付,确认余额已到账。

4. 查模型名:在模型列表页搜索目标 Claude 模型,复制完整标识,形如 厂商名/模型名。

5. 命令行验证:

export OPENROUTER_KEY="sk-or-你的密钥"

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENROUTER_KEY" \
  -d '{
    "model": "厂商名/模型名",
    "messages": [
      {"role": "system", "content": "你是一个简洁的技术助手。"},
      {"role": "user", "content": "列出三条写技术文档的建议。"}
    ],
    "temperature": 0.7
  }'

把密钥放进环境变量而不是直接写在命令里,可以避免它被 shell 历史记录保存下来。返回的 JSON 中,choices[0].message.content 是模型输出,usage 字段里记录了本次消耗的输入与输出 token 数,可以用来估算成本。

6. 接入 Chatbox:新增提供方,域名填 https://openrouter.ai/api/v1,路径保持默认,填入 Key 和模型名,保存后发消息测试。

7. 接入 Obsidian Copilot:添加自定义模型,填入同一个模型名,提供方选 OpenRouter,填入接口地址和 Key,点击测试,通过后保存并启用。

到这里,同一个 API Key 已经同时服务于命令行、桌面客户端和笔记插件三个场景。之后想换模型,只需要改请求里的 model 字段或客户端里的模型名,Key 和接口地址都不用动。

注意事项

模型名必须完整且准确。 这是接入失败最常见的原因。只写厂商简称、写错大小写、漏掉斜杠后面的部分,都会导致请求被拒绝。每次换模型都回到模型列表页重新复制,不要凭记忆手写。

接口地址末尾的路径不要改。 客户端里的 API 域名应填 https://openrouter.ai/api/v1,路径字段保持默认。有些客户端会自动在域名后拼接 /chat/completions,如果手动把完整路径也写进域名栏,就会拼出重复路径而报错。

预充值模式意味着余额耗尽即停。 调用量超出余额后请求会直接失败,不会自动透支。长期使用的场景建议定期查看 Credits 页面的余额,或者为 Key 设置额度上限,避免某次批量调用把余额一次用光。

免费模型有独立的使用限制。 平台提供部分免费开源模型,但免费额度、速率限制和可用范围会调整,且免费模型通常有更严格的调用频率约束。把免费模型用于正式业务前,先确认当前的限制条件。

密钥泄露要立即处理。 一旦怀疑 Key 外泄,马上在 Keys 页面删除它并重新创建。由于支持为每个 Key 单独设额度,给不同应用分配不同 Key 是降低风险的有效做法。

计费明细可以核对。 平台提供使用记录和计费明细,每次调用的模型、token 数和扣费金额都能查到。发现费用异常时,先对照明细确认是哪个模型、哪个 Key 产生的调用。

价格与可用性以官网为准。 各模型的单价、手续费比例、支持的地区和支付方式都可能变化,本文不给出具体数字。充值前先在官网确认当前费率,再决定充值金额。

网络可达性因地区而异。 平台宣称可直连使用,但实际能否访问取决于你所在地区的网络环境。如果命令行请求超时,先排查本地网络,再考虑客户端配置问题。