用N1飞牛NAS部署New-API:本地Ollama秒变公网OpenAI接口
核心目标:将本地Ollama模型和各类云端API整合为一个统一的、支持公网访问的OpenAI格式接口。
一、核心解决痛点与方案
1.1 常见痛点
- 手里既有本地Ollama模型,又有零散的云端API(如DeepSeek、通义千问),在不同应用里来回配置,非常麻烦。
- 想把家里的AI算力分享给朋友,但无法做统一的密钥管理 和额度限制。
- 离开局域网后,无法连接和使用家里的本地模型。
1.2 解决方案:New-API
New-API (基于One API升级)是一个大模型接口聚合网关,它就像一个超级路由节点,能够:
- 统一整合:将本地Ollama和各家云端API全部整合到一起。
- 协议转换 :把不同格式的接口,统一转换为标准的OpenAI API格式。
- 统一分发:为第三方应用提供一个统一的接口地址和密钥。
- 管理面板:提供可视化界面,进行多用户、额度、日志等精细化管理。
1.3 New-API核心亮点
- 异构接口自动转换:无缝支持Ollama及各大云端厂商接口,转换为OpenAI格式。
- 精细化权限与额度管控:可为每个Token令牌设定调用额度、并发限制、有效期。
- 高可用智能路由:支持将多个API整合进一个通道池,按权重轮询、故障自动重试。
- 全透明监控:图表化展示每个模型、请求、Token的消耗量和延时。
二、部署步骤(基于N1飞牛NAS)
本教程使用N1盒子 (已刷入ARM版飞牛NAS系统)作为部署环境。
2.1 准备工作
-
开启Docker:在飞牛NAS桌面点击【Docker】,确保服务开启。
-
启用SSH:在【系统设置】中,启用SSH功能。
-
远程连接 :在电脑终端(PowerShell)使用SSH命令连接飞牛NAS,并切换至root用户。
bashssh n1@你的飞牛IP地址 # 示例:ssh n1@192.168.11.118 sudo -i
2.2 Docker一键部署New-API
在NAS终端中执行以下命令:
bash
# 1. 下载部署脚本
curl -L https://gitee.com/jun-wan/script/raw/master/new_api_deploy/deploy_sqlite.sh -o deploy_sqlite.sh && ls
# 2. 授权并执行脚本
chmod +x deploy_sqlite.sh && bash deploy_sqlite.sh
- 执行后,按提示选择安装位置(如外置硬盘)。
- 看到"成功部署"提示后,在浏览器中访问
http://你的NAS IP:3000进行测试。
2.3 初始化New-API
- 访问页面后,点击【下一步】检查数据库。
- 创建管理员账号和密码。
- 使用模式选择**【自用模式】**,然后点击【初始化系统】。
- 完成后,使用刚创建的管理员账号登录后台。
三、配置本地Ollama模型作为测试源
3.1 在Windows上安装Ollama(如已有可跳过)
在PowerShell终端中执行:
bash
# 一键安装Ollama
irm https://ollama.com/install.ps1 | iex
# 验证安装
ollama --version
3.2 下载并运行模型
以轻量的qwen3.5:0.8b模型为例:
bash
ollama run qwen3.5:0.8b
- 在对话中输入
你好测试,成功后输入/bye退出。 - 该模型约1GB大小,适合测试。
3.3 验证Ollama的API服务
Ollama默认提供OpenAI兼容接口(端口11434),在CMD终端中测试:
bash
curl http://localhost:11434/v1/chat/completions ^
-H "Content-Type: application/json" ^
-d "{\"model\": \"qwen3.5:0.8b\", \"messages\": [{\"role\": \"user\", \"content\": \"你好\"}], \"stream\": false}"
四、在New-API中接入Ollama渠道
- 登录New-API后台,点击左侧【渠道管理】 -> 【添加渠道】。
- 配置项 :
- 类型 :选择
Ollama。 - 名称:自定义(如"我的本地Ollama")。
- 密钥:随机输入(Ollama默认无需密钥)。
- API地址 :填写运行Ollama的Windows电脑的局域网IP地址 + 端口
11434(例如http://192.168.1.100:11434)。 - 如何获取IP :在Ollama所在电脑的终端执行
ipconfig | findstr "IPv4"。
- 类型 :选择
- 获取模型 :点击【获取模型列表】按钮,选择已下载的模型(如
qwen3.5:0.8b),确定。 - 提交:点击提交,然后点击【测试】按钮,显示"测试成功"即表示接入正常。
五、创建令牌(API Key)并进行调用测试
-
点击左侧【令牌管理】 -> 【添加令牌】。
-
填写相关信息(如名称、额度、过期时间等),提交。
-
创建成功后,复制生成的令牌(sk-xxx)。
-
通过New-API调用模型 :在电脑终端(CMD)中测试,注意替换IP和令牌。
bash# 192.168.11.118 是N1 NAS的IP地址,3000是New-API默认端口 curl http://192.168.11.118:3000/v1/chat/completions ^ -H "Content-Type: application/json" ^ -H "Authorization: Bearer sk-你的令牌" ^ -d "{\"model\": \"qwen3.5:0.8b\", \"messages\": [{\"role\": \"user\", \"content\": \"你好\"}], \"stream\": false}"访问成功,说明已将本地Ollama模型成功包装为带密钥鉴权、标准OpenAI格式的接口。
六、内网穿透:实现公网访问(以cpolar为例)
为了让接口能在公网(如户外、异地)被访问,需要使用内网穿透工具(本教程使用cpolar)。
6.1 安装cpolar
在飞牛NAS的终端中执行:
bash
sudo curl https://get.cpolar.sh | sh
sudo systemctl status cpolar # 检查服务状态
6.2 配置并穿透New-API
- 注册cpolar账号(https://www.cpolar.com/)。
- 在浏览器访问
http://你的NAS IP:9200,用cpolar账号登录Web管理界面。 - 点击左侧【隧道管理】 -> 【创建隧道】:
- 隧道名称 :如
newapi - 本地地址 :
3000(New-API端口) - 点击创建。
- 隧道名称 :如
- 创建后,在【状态】->【在线隧道列表】中,会看到生成的公网地址 (随机域名,如
https://xxxx.cpolar.cn)。 - 访问该公网地址,若能打开New-API页面,说明穿透成功。
6.3 (可选)固定二级子域名
随机域名每24小时会变化。为获得永久固定地址,可升级cpolar套餐并配置固定二级子域名。
- 在cpolar官网【预留】页面,保留一个唯一的二级子域名(如
newapi01)。 - 回到cpolar Web界面的【隧道列表】,编辑
newapi隧道:- 域名类型 :改为
二级子域名 - 子域名 :填写你保留的(如
newapi01) - 更新。
- 域名类型 :改为
- 现在,你就可以通过
https://newapi01.cpolar.cn这样的固定地址永久访问你的New-API了。
总结:你获得了什么?
通过这套方案,你成功地将家中的"战损设备"(如N1盒子)利用起来,构建了一个私有、高可用、可公网访问的多模型云枢纽。实现了:
- ✅ 本地Ollama模型转换为标准OpenAI接口,并支持公网调用。
- ✅ 统一管理多个云端API(可随时添加)。
- ✅ 为不同用户或应用颁发带额度、权限限制的独立令牌。
- ✅ 随时随地,在任何地方调用自己家里的AI算力。