OpenRouter初体验,注册,充值,写Demo!

OpenRouter 已经听过很多次了,终于充钱了,并写了一个 demo。

本文记录一下,充值,调用的过程。

OpenRouter 是什么?

开始之前先简单看一下 OpenRouter 是什么?我就不重复那些枯燥的定义了。

直接看它官网首屏介绍就可以了!

大标题写的是“llm统一接口”。

下面小字部分写的是“更好的价格,更好的正常运行时间,没有订阅。”

下面是它的网站数据,每月 25 T tokens,全球用户 500 万,60+ 个活跃服务提供方,500+ 模型。

主要特性有:

1️⃣ 一个 API,接入所有主流模型(One API for Any Model)

  • 通过 统一 API 访问不同厂商的大模型
  • 覆盖 OpenAI、Anthropic、Google、Meta 等
  • OpenAI SDK 可直接用,几乎零迁移成本 👉 本质:模型聚合层 / 路由层

2️⃣ 高可用性(Higher Availability)

  • 分布式基础设施
  • 某个模型或厂商不可用时 自动切换到其他 Provider
  • 降低单点故障风险 👉 适合生产环境、商业产品

3️⃣ 价格与性能优化(Price and Performance)

  • 边缘节点(Edge)运行
  • 降低推理延迟(Latency)
  • 在不牺牲速度的前提下控制成本 👉 面向:低延迟 + 成本敏感场景

4️⃣ 自定义数据策略(Custom Data Policies)

  • 可配置 数据流向与模型使用规则
  • Prompt 只会发送给你信任的模型 / 提供方
  • 强调隐私与合规 👉 面向:企业 / 团队 / 合规要求高的项目

OpenRouter = 模型聚合 + 智能路由 + 高可用 + 成本与隐私控制的一站式 LLM 接入层。

这个东西对于开发应用来说是一个非常好的选择,对于中国开发者来说也是一个很好的选择。

可以避免写很多接口调用不同平台 API,充值比较方便,不用担心被 Claude 封账号。

从官方数据也看得出来,使用这个平台的用户都非常务实,不是为了追求最强,而是追求够用,实用,性价比。用的基本都不是轻量级的老模型。

我一直不开发任何基于 AI 接口的产品,主要就是调用 API,就像小刀割肉,很难受。

最近看到“小米” 的模型在搞免费。所以刚好可以拿来练练手。这模型实在是很拉跨,但是上面也说了,作为开发者的角度,只要够用就行。如果只是作为学习测试 OpenRouter 肯定是够用了。你管他输出是什么,只要问它,他能回答就可以了~~。

介绍就差不多了。下面就分几个方向来体验一下这个平台。

先来说说充值,然后来调用一下,写个 Demo。

充值

平台上其实提供了一些免费的模型,不充值也可以体验。但是既然要用,我觉得还是需要充一点。所以我决定先冲 $10。

这个平台有一点非常好了。除了提供了传统充值方式之外,还可以用加密货币进行充值。

登录的时候甚至提供了 MetaMask。

这是一个非常极客的平台啊。三方登录,支持 GitHub,谷歌,加密钱包。

支付的时候可以通过 Add Payment Method 添加传统支付方式。

也可以通过 Use crypto 选项使用加密货币支付。

我是 Crypto 的坚定持有者和支持者,我讨厌所有问东问西的银行。我的加密货币比法币多很多。所以这对我来说实在是太友好了。

所以我毫不犹豫选择了 Crypto 支付。

它应该是调用了 Coinbase 的支付服务,通过套娃,应该支持大部分加密钱包。

最终通过 OKX Wallet 成功充值 10 U。过程非常丝滑!我相信最终全世界的 90% 的服务都会支持 Crypto 支付。所以拿得时间越久,越没有出金的必要了。

这一趴好像说的有点多了。

调用

充值成功之后,就可以大胆放心的调用了。10 U 用来测试绝对够了。但是我觉得还完全没必要用上这些钱。因为刚才说了,小米的 API 完全处于免费状态,最近好像又延期了 20 天。

地址:

https://openrouter.ai/xiaomi/mimo-v2-flash:free/api

打开这个地址,有示例代码。

我们首先点击这个页面上的 Create API key 来创建并获取密钥。

也可以通过点击头像 key,进入这个页面。点击右上角的 Create API key 然后。

然后输入名字和限额,点击 Create。

然后就可以看到如下界面了。

复制这里的字符串保存到笔记中。这个内容只能看一次,所以稍微记录一下。

接下来就可以写代码调用了。当然,这个代码不需要自己写。

点击快速开始(QuickStart),就可以看到示例代码。这里提供了很多版本的代码。提供了多种语言,多种模式。

这里提供了兼容 OpenAI 的代码。

OpenAI-Python 代码如下:

from openai import OpenAI

# 创建 OpenAI 客户端(通过 OpenRouter 的 OpenAI 兼容接口)
client = OpenAI(
  base_url="https://openrouter.ai/api/v1",
  api_key="<OPENROUTER_API_KEY>",
)

# =========================
# 第一次调用:开启 reasoning
# =========================
response = client.chat.completions.create(
  model="xiaomi/mimo-v2-flash:free",
  messages=[
      {
          "role": "user",
          "content": "How many r's are in the word 'strawberry'?"
      }
  ],
  extra_body={"reasoning": {"enabled": True}}
)

# 取出 assistant message
assistant_msg = response.choices[0].message

print("====== 第一次回答 ======")
print(assistant_msg.content)

# 有些模型可能不返回 reasoning_details,这里做个保护
reasoning_details = getattr(assistant_msg, "reasoning_details", None)
if reasoning_details:
  print("\n【Reasoning details】")
  print(reasoning_details)

# =========================
# 构造第二轮对话
# =========================
messages = [
  {"role": "user", "content": "How many r's are in the word 'strawberry'?"},
  {
      "role": "assistant",
      "content": assistant_msg.content,
      "reasoning_details": reasoning_details
  },
  {"role": "user", "content": "Are you sure? Think carefully."}
]

# =========================
# 第二次调用:继续 reasoning
# =========================
response2 = client.chat.completions.create(
  model="xiaomi/mimo-v2-flash:free",
  messages=messages,
  extra_body={"reasoning": {"enabled": True}}
)

assistant_msg2 = response2.choices[0].message

print("\n====== 第二次回答(复核后) ======")
print(assistant_msg2.content)

reasoning_details2 = getattr(assistant_msg2, "reasoning_details", None)
if reasoning_details2:
  print("\n【Reasoning details】")
  print(reasoning_details2)

代码非常简单,我用 AI 加了中文注释。

只要换一个 API key。然后把这段代码保存到 test.py 中,运行python test.py就可以了。

Demo

当然,有了 AI 辅助,我们分分钟可以写一个聊天应用出来。

具体实现方法是使用 Trae + Gemini 3。

打开 Trae 选择 Gemini 3 Pro,然后输入内容:

创建一个 AI 大模型对话界面,支持输入,支持对话记录,支持多种提供商,先实现 OpenRouter 这个提供商。核心的参考代码如下:[上面展示的代码]

用不了多久,代码就全部写好了。然后只要运行npm run dev就可以使用了!

第一次开发完成之后,立马就可以进行对话了。

但是有两个问题:

默认没有启用流式输出,看起来卡卡的。

第二个问题,没有思考模式的启停开关。

所以继续迭代:

帮我检查一下代码,是否流式处理。如果没有请启用。修改相关点和显示效果,保证能流式显示。

设置一个开关来控制启用和关闭思考模式。先查询这个模型是否支持这种操作。如果支持,请帮我修改并实现这个功能。

改完之后,这个应用基本就能用了。

已经包含了对话管理和设置功能。

可以添加,查看,删除对话。

设置功能的具体界面如下:

可以设置 API key,设置模型,启用和关闭深度思考。

界面上可以流式输出,体验非常丝滑。

当你能正常使用之后,可能会关心用量。那么可以点击 Activity 菜单。

上面会汇总显示你花了多少钱,消耗了多少 tokens,发送了多少个请求。

下面是具体的调用情况,会详细列出每次的调用情况。

到这里呢,OpenRouter 基本跑通了。如何注册,如何充值,如何调用,如何开发一个简单应用,以及如何查看调用情况,都讲到了。

用起来还是非常省心的!

Demo 体验地址:

https://tools.tonyhub.xyz
 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================

 



发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注