OpenRouter多模型聚合AI中转站搭建教程

为什么你需要一个OpenRouter中转站

OpenRouter是一个聚合了多个大模型API的平台,通过一个接口就能调用GPT-4、Claude、Gemini等不同模型。
但国内直接访问OpenRouter官网或API经常遇到网络延迟高、偶尔被墙的问题。
搭建自己的OpenRouter中转站,相当于在你的服务器上做一个反向代理,本地应用通过这个中转站请求OpenRouter,速度更稳定、配置更灵活。
本文用最精简的步骤带你完成搭建,从零开始,全程可操作。

准备工作:服务器与基础环境

  • 一台VPS:推荐最低配置1核1G内存,系统选Ubuntu 22.04或CentOS 7+(本文以Ubuntu为例)。需开启防火墙的80/443端口。
  • 域名(可选):如果只用IP访问,可跳过;但HTTPS和稳定性建议绑域名。
  • 宝塔面板:新手友好,用下面一行命令安装(SSH执行):
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh

安装完成后记下面板地址、用户名密码,登录宝塔面板。

核心步骤:部署中转代理服务

OpenRouter官方提供了多种接入方式,最常用的中转方式是使用Nginx反向代理。
这里我用一个轻量级的Node.js脚本做转发(你也可以用Nginx直接反代)。

1. 获取OpenRouter API密钥

访问OpenRouter官网注册账号,进入Keys页面创建一个API Key,复制保存。
注意:免费额度有限,建议绑定支付方式避免超额暂停。

2. 安装Node.js环境

在宝塔面板的“软件商店”搜索“Node.js”并安装(推荐版本18+)。
或SSH执行:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs

验证安装:node -vnpm -v

3. 编写并启动中转代理脚本

创建一个目录 /opt/openrouter-proxy,新建 proxy.js

const http = require('http');
const https = require('https');

const API_KEY = '你的OpenRouter API密钥'; // 替换
const TARGET_HOST = 'openrouter.ai';

const server = http.createServer((req, res) => {
  const options = {
    hostname: TARGET_HOST,
    path: '/api/v1' + req.url, // 只代理API路径
    method: req.method,
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
      ...req.headers
    }
  };

  const proxyReq = https.request(options, (proxyRes) => {
    res.writeHead(proxyRes.statusCode, proxyRes.headers);
    proxyRes.pipe(res);
  });

  req.pipe(proxyReq);
});

server.listen(8000, () => {
  console.log('OpenRouter proxy running on port 8000');
});

保存后执行:node /opt/openrouter-proxy/proxy.js &(后台运行建议用pm2)。

避坑:只代理/api/v1路径可以防止暴露其他接口;记得替换API密钥;如果报错ECONNRESET,检查服务器能不能访问openrouter.ai:443

4. 通过宝塔面板配置反向代理

在宝塔面板左侧栏点击“网站”→“反向代理”→“添加反向代理”

  • 代理名称:填写任意名称(如“openrouter-proxy”)
  • 目标URL:输入 http://127.0.0.1:8000(即刚才Node.js监听的地址)
  • 发送域名:可以留空或填你的域名
  • 高级设置:开启“缓存”和“高级功能”中的“添加响应头”(可选)

关键:在“站点设置”中绑定你的域名(或直接用服务器IP+端口)。
如果只想用IP访问,直接添加一个纯IP站点(宝塔支持)。

5. 启用HTTPS(推荐)

在宝塔面板该站点的“SSL”菜单中,申请Let's Encrypt免费证书,勾选强制HTTPS。
如果使用IP,则无法申请该证书,可考虑使用Cloudflare的Origin CA证书或自签名证书(不推荐生产用)。

避坑指南:常见错误与解决方法

  • 端口冲突:Node.js默认8000,如果被占用改为其他端口,并同步修改反向代理的target地址。
  • CORS跨域问题:如果前端直接请求中转站,需要添加响应头。在宝塔反向代理的“配置文件”中添加:
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'Authorization, Content-Type';
  • API密钥失效:OpenRouter的免费额度使用完后,请求会返回403。建议绑定支付方式开启按量付费。
  • 代理路径错误:你的客户端请求地址应为 https://你的域名/api/v1/chat/completions(对应OpenRouter的路径),确保proxy.js中拼接正确。

效果验证:简单测试是否可用

在服务器本地或任意终端执行以下curl命令(替换your-domain.com):

curl https://your-domain.com/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

如果返回包含 "id":"chatcmpl-..." 的JSON,说明中转成功。
你也可以在本地应用(如ChatGPT-Next-Web)中将API地址改为你的中转站URL,测试正常对话。

常见问题FAQ

Q1:中转站速度慢怎么办?
优先选择离你服务器最近的区域(如香港、日本VPS),并开启宝塔的“缓存”功能。

Q2:OpenRouter的收费怎么算?
按模型官方定价的1.05~1.1倍收取,详情参考OpenRouter官网。搭建中转站不会额外收费,只做代理转发。

Q3:能否支持多个API Key轮换?
可以在proxy.js中设计多个Key轮询逻辑,但本文基础版只用一个Key。

Q4:我需要同时代理其他AI平台(如Claude、Gemini)吗?
不需要——OpenRouter本身已聚合,你只需代理它一家即可。如果你想单独代理其他平台,请参考相关教程。

如果你在搭建过程中遇到其他报错,建议先检查防火墙、端口监听状态和日志。
本文的步骤经过多台服务器验证,只要按顺序执行,大概率一次成功。

分享到:
上一篇
词元无忧Token5u API企业接入部署指南
下一篇
AI网关本地住宅机器Docker一键部署
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意