欢迎光临
我们一直在努力

N1飞牛部署New-API:把本地Ollama和零散模型接口收进一个统一入口

🔥承渊政道:个人主页

❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法》 《C++知识内容》 《Linux系统知识》 《算法刷题指南》 《测评文章活动推广》 《大模型语言路线学习》 《MySQL数据库学习》 《Python知识内容》 《cpolar知识学习》

✨逆境不吐心中苦,顺境不忘来时路!✨

🎬 博主简介:

我手里的 AI 接口越多,反而越容易产生一种很烦的感觉:**明明模型越来越多,真正调用起来却越来越乱.**本地有Ollama,云端又可能有DeepSeek、通义千问或者别的API.每换一个客户端,就重新填一次 Base URL、模型名和密钥;想把本地模型给别的应用用,还得先想“这个接口到底怎么接”.我对这种状态有点受不了.不是因为配置有多难,而是因为同一件事重复做太多次.接口地址应该统一,令牌应该统一发,模型应该在一个地方管理. 原文里的这套 New-API 方案正好就是从这个痛点出发,而且它有一个很真实的折腾底色:拿一台已经刷了ARM 版飞牛 NAS 的 N1 盒子继续榨价值,再把 Windows 上正在运行的Ollama接进去.更有意思的是,原文不是“页面打开就算成功”,而是一路做了很多验证:N1 部署 New-API → 初始化后台 → Windows 安装 Ollama → qwen3.5:0.8b 本地对话 → /v1/chat/completions API 测试 → New-API 添加 Ollama 渠道 → 创建令牌 → 再用 New-API 的 3000 端口调用 → 最后通过cpolar把 New-API 带到公网. 这篇我会保留这个人的性格:喜欢把旧硬件继续榨干,也有一点“接口洁癖”——零散东西可以多,但对外最好只留一个入口;每接一层,都要亲手发一次请求确认.

image-20260405200011860

目录

  • 1.New-API解决的不是“模型不够”,而是“入口太多”
  • 2.先把New-API装到N1飞牛NAS上
  • 3.初始化New-API:先把网关本身准备好
  • 4.Windows上准备一个真正能回答问题的Ollama
    • 4.1安装Ollama
    • 4.2下载 `qwen3.5:0.8b`
  • 5.再测一次Ollama API:我不想把“能聊天”当成“接口能用”
  • 6.把Ollama接进New-API
  • 7.创建New-API令牌:统一入口还得配统一鉴权
    • 原来
    • 现在
  • 8.本地接口统一以后,最后一个问题才是:外面能不能调
  • 9.安装cpolar
  • 10.先把New-API的 `3000` 端口映射出去
  • 11.随机地址能用以后,再换固定二级子域名
  • 12.总结

1.New-API解决的不是“模型不够”,而是“入口太多”

image-20260405203114578

按照原文定位,New-API 是从 One API 延伸出来的大模型接口聚合与管理系统.

它想解决的核心问题很明确:

  • 下层可以接不同的大模型服务;
  • 本地 Ollama 也可以作为渠道接入;
  • 上层尽量统一成 OpenAI API 形式;
  • 令牌、用户和调用记录集中管理.

原文还列出了异构接口转换、Token 额度与权限、高可用路由、日志与资产监控等能力.

不过这篇正文真正逐项跑通的是:

Ollama 渠道接入、模型识别、令牌创建、OpenAI 格式请求以及公网访问.

所以这一版不会把权重轮询、故障重试、并发限制等功能写成本文已经完整验证.

对我来说,这套东西最大的变化不是“又装了一个 AI 工具”,而是:

以前是每个应用自己去找模型;现在变成应用先找 New-API,再由 New-API 去找模型.

这个入口一旦统一,后面的管理才有意义.


2.先把New-API装到N1飞牛NAS上

原文用的折腾主机是N1盒子,而且已经刷入ARM版本飞牛NAS.

这个人物设定其实源文自己就很鲜明:旧设备能继续用,就不轻易让它吃灰.

先打开飞牛NAS的Docker,确保Docker服务已经启动.

image-20260405204759072

然后进入系统设置开启 SSH.

image-20260326194845722

电脑按下 Win + X,打开【终端(管理员)】PowerShell.

image-20260326202131520

通过 SSH 连接飞牛 NAS.

原文命令保持不变:

# 其中,n1为你的飞牛Nas用户名,IP地址为你的飞牛IP地址
ssh n1@192.168.50.228

image-20260326202509419

连接成功后切换 root:

sudo -i

image-20260406190649190

接着下载 New-API 一键部署脚本:

curl -L https://gitee.com/jun-wan/script/raw/master/new_api_deploy/deploy_sqlite.sh -o deploy_sqlite.sh && ls

image-20260406190726760

授权并执行:

chmod +x deploy_sqlite.sh && bash deploy_sqlite.sh

脚本首先会让你选择安装位置.

image-20260406190852477

原文因为N1外接了扩展硬盘,所以选择了:

2

将 New-API 安装在外置硬盘.

image-20260406191101628

脚本执行完成后,原文显示部署成功.

image-20260406191138460

这里我会先停一下.

旧 N1 能不能承担 New-API,不需要先猜性能,最直接的判断就是:脚本能不能部署完,Web 页面能不能正常打开.

原文这一层已经验证成功.


3.初始化New-API:先把网关本身准备好

第一次访问 New-API,需要先做初始化.

数据库检查页面点击【下一步】。

image-20260406191534458

创建管理员账号和密码.

image-20260406191637535

接着选择使用模式.

原文这里选择的是:

自用模式

image-20260406191836563

然后点击【初始化系统】.

image-20260406191903396

初始化完成后进入主页面.

image-20260406192047354

如果没有自动登录,就点击右上角【登录】,使用刚才设置的管理员账号和密码进入后台.

image-20260406192304063

到这里,New-API 只是“网关本身装好了”.

我不会在这里就说“本地模型已经统一管理”,因为它还没接到任何真实 Ollama.

下一步才是关键.


4.Windows上准备一个真正能回答问题的Ollama

原文专门补了一段 Ollama 安装过程.

如果已经有本地 AI 服务,这一节可以跳过;但原文为了完整验证,还是从 Windows 上重新装了一遍.


4.1安装Ollama

重新打开 PowerShell,执行:

irm https://ollama.com/install.ps1 | iex

image-20260406193457644

然后查看版本:

ollama –version

image-20260406193542020

Ollama 能正常返回版本信息,这一层成立.


4.2下载 qwen3.5:0.8b

原文先给出了 Ollama 模型搜索地址:

https://ollama.com/search

image-20260406193707442

本次选择的是:

qwen3.5:0.8b

原文说明它大约 1G 左右,用来做测试.

下载并运行:

ollama run qwen3.5:0.8b

image-20260406194552165

随后输入:

你好

原文实际进行了本地对话测试.

image-20260406195325100

这里有一段很具体的个人实测信息,我保留它,因为它正好让这篇不像纯说明书:

原文作者当时使用的是 3060ti,并记录这次回答基本在 3 秒左右输出完成.

这个数字只代表原文这套设备和这次测试,不扩展成通用性能结论.

对话测试完成后退出:

/bye

image-20260406195950548

到这里,我们已经确认:

模型不是只“下载了”,而是真的能回答.


5.再测一次Ollama API:我不想把“能聊天”当成“接口能用”

这一步很符合我喜欢的验证方式.

命令行对话成功,只能说明模型运行正常;New-API 接下来要对接的是 API,所以还需要单独测 API.

原文写 Ollama 支持 OpenAI 兼容的:

/v1/chat/completions

PowerShell 测试命令如下:

Invoke-RestMethod -Method Post -Uri "http://localhost:11434/v1/chat/completions" -ContentType "application/json" -Body '{"model": "qwen3.5:0.8b", "messages": [{"role": "user", "content": "hi"}], "stream": false}'

image-20260406202907638

如果是在 CMD,则使用:

curl http://localhost:11434/v1/chat/completions -H "Content-Type: application/json" -d "{\\"model\\": \\"qwen3.5:0.8b\\", \\"messages\\": [{\\"role\\": \\"user\\", \\"content\\": \\"你好\\"}], \\"stream\\": false}"

image-20260406203039949

原文确认 API 请求成功.

这里有一个源文细节:原文正文写“端口默认为”,但后面没有把数字接上;实际两条测试命令都使用了:

11434

这一版不会帮源文偷偷补写成“默认端口就是 11434”,只保留真实命令里已经出现的值.

现在才可以进入下一步:

让 N1 上的 New-API 真正去找到 Windows 上的 Ollama.


6.把Ollama接进New-API

登录 New-API 后台,进入【渠道管理 → 添加渠道】.

image-20260406204434806

原文配置方式是:

  • 类型:Ollama
  • 名称:自定义
  • 密钥:随机填写一个
  • API 地址:填写 Windows 当前局域网 IP

原文说明 Ollama 默认不需要密钥连接,所以这里只按源文方式填写.

如果不知道 Windows 局域网地址,可以执行:

ipconfig | findstr "IPv4"

image-20260406205334322

填写地址后,点击获取模型列表.

如果配置正确,New-API 会列出刚才本地 Ollama 中的模型.

原文选择:

qwen3.5:0.8b

image-20260406205428134

然后提交渠道.

image-20260406205754319

提交以后继续点测试.

image-20260406205934369

出现测试成功提示,才说明:

N1 上的 New-API 已经能访问 Windows 上的 Ollama.

这一步很关键.

因为从这里开始,系统关系已经发生变化:

客户端不必直接找 Ollama,New-API 可以作为中间入口.

原文还展示了其他局域网 AI 服务也可以继续接入.

image-20260406210310390

之后在模型广场中可以看到多台本地 AI 服务的模型.

image-20260406210401156

这就是我说的“接口洁癖”真正开始舒服的地方:后端模型可以越来越多,但前面的管理入口别跟着一起变多.


7.创建New-API令牌:统一入口还得配统一鉴权

接下来进入【令牌管理】,点击【添加令牌】.

image-20260406210616539

填写相关信息后提交.

image-20260406210842749

创建完成后复制令牌.

image-20260406210953041

然后原文没有只在页面里看一眼,而是直接用 CMD 请求 N1 上的 New-API.

下面代码块包含源文原始示例令牌和地址,本版按“技术内容不擅自改动”的规则原样保留:

# 修改其中的192.168.50.228为你的N1飞牛Nas地址,以及sk-xxxxxxx
curl http://192.168.50.228:3000/v1/chat/completions ^
-H "Content-Type: application/json" ^
-H "Authorization: Bearer sk-MbmNWNXhaGrNlZRe6r1ZxEOoROiE5HpIfU6zL8353FJ4msZO" ^
-d "{\\"model\\": \\"qwen3.5:0.8b\\", \\"messages\\": [{\\"role\\": \\"user\\", \\"content\\": \\"你好\\"}], \\"stream\\": false}"

image-20260406211437080

请求成功.

到这里才真正完成了一个非常清楚的前后对比.

原来

下游客户端直接面对:

Ollama 地址 + Ollama 模型


现在

下游客户端面对: New-API 地址 + New-API Token + OpenAI 格式接口

New-API 再去决定请求落到哪个后端模型.

所以我不会把这一步写成“秒变云端 AI”.

更准确的说法是:

局域网里的 Ollama 已经被 New-API 包在统一入口之后,并且通过 New-API Token 完成了一次实际 API 调用.


8.本地接口统一以后,最后一个问题才是:外面能不能调

到这里,局域网链已经完整了:

Windows Ollama → N1 New-API → Token → API 请求成功.

问题只剩一个:

New-API 地址还是:

192.168.50.228:3000

离开家里的局域网以后,这个地址不能直接使用.

原文给了两个很明确的情景:

  • 上下班路上继续使用家里的算力;
  • 把 Token 给异地朋友调用.

这些属于源文明确提出的使用场景,但没有写成已经真实发生过的个人故事,所以这里仍然保持为情景化描述.

如果真要把这套接口交给外部应用,真正需要扩出去的是:

New-API 的 3000 端口.

不是 Ollama 的 11434.

这也是整篇职责边界最重要的一点.


9.安装cpolar

原文先介绍 cpolar 用于把局域网服务映射到公网.

image-20260311173747662

然后写“回到刚才的 PowerShell 终端窗口”执行以下安装命令.

这句话的环境表述按源文保留,命令本身也不修改:

sudo curl https://get.cpolar.sh | sh

image-20260127145907036

安装后查看服务状态:

sudo systemctl status cpolar

image-20260329211307782

接着注册 cpolar 账号.

image-20250804085039567

然后通过飞牛 NAS IP + 9200 进入 Web UI.

原文地址:

http://192.168.50.228:9200/

image-20260406212918527

使用 cpolar 账号登录.

image-20260127145959685

到这里,cpolar 本身已经可管理.


10.先把New-API的 3000 端口映射出去

原文进入【隧道管理 → 隧道列表】后,页面默认有两条隧道:

  • ssh:指向 22,TCP
  • website:指向 8080,HTTP

原文还说明 HTTP 隧道会生成 http 与 https 两个公网地址.

image-20260329211825602

随后新建隧道.

关键值是:

本地地址:3000

image-20260406213324080

创建完成后进入在线隧道列表.

image-20260406213547215

原文以 https 地址做访问测试,并提醒加载稍慢,需要等待.

image-20260406213716945

页面成功加载.

这一步我只下一个结论:

New-API Web 页面已经能通过公网地址打开.

源文进一步描述可以在外部调用 Token,但这一节没有再次提供一条公网 /v1/chat/completions 请求做 API 级验证,所以新版不会把“公网 API 调用已完成”写成和局域网 curl 同等级别的实测结论.

这是这篇需要保持的一个边界.


11.随机地址能用以后,再换固定二级子域名

原文说明随机域名大约每:

24 小时

会重置一次。

如果只是测试,随机地址没什么问题;如果 API 已经写进客户端、机器人或工作流里,地址变化就会比较麻烦.

这才是固定地址真正有意义的地方.

进入 cpolar 预留页面:

https://dashboard.cpolar.com/reserved

原文示例保留结果为:

  • 地区:China TOP
  • 二级域名:newapi01

image-20260406214631576列表中显示了一条已保留的二级子域名记录:

原文同时提醒,每个账号的二级域名不同,以自己实际保留为准.

接着进入隧道列表,找到:

newapi

image-20260406214813662

点击编辑,把域名类型改为二级子域名,并填写前面保留好的地址。

image-20260406214849455

更新以后,在在线隧道列表中看到 newapi 地址切换成固定二级子域名形式.

image-20260406214928945

最后再使用 https 访问.

image-20260406215035035

访问成功.

原文最后还给了一个小提示:

首页显示的网站地址,可以在【系统设置】>【服务器地址】中修改.


12.总结

这篇看起来是在“部署 New-API”,但真正完整跑通的是一条很有层次的 AI 接口链:

Windows Ollama → N1 飞牛 New-API → New-API Token → 局域网 OpenAI 格式调用 → cpolar → 固定公网入口.

原文实际完成了:

  • N1 盒子运行 ARM 版飞牛 NAS;
  • 开启 Docker;
  • 开启 SSH;
  • ssh n1@192.168.50.228;
  • sudo -i;
  • 下载 deploy_sqlite.sh;
  • 选择外置硬盘安装;
  • New-API 页面成功打开;
  • 初始化管理员账号;
  • 选择“自用模式”;
  • Windows 安装 Ollama;
  • 使用 qwen3.5:0.8b;
  • 原文 3060ti 实测约 3 秒完成一次回答;
  • PowerShell / CMD 测试 /v1/chat/completions;
  • New-API 添加 Ollama 渠道;
  • ipconfig | findstr "IPv4" 获取 Windows 地址;
  • New-API 获取到 qwen3.5:0.8b;
  • 渠道测试成功;
  • 创建 New-API Token;
  • 通过 192.168.50.228:3000/v1/chat/completions 实际调用成功;
  • 安装cpolar;
  • 192.168.50.228:9200 进入管理界面;
  • 新建指向 3000 的隧道;
  • https 公网页面访问成功;
  • 随机域名约 24 小时重置;
  • 保留 newapi01;
  • 隧道名 newapi;
  • 固定二级子域名页面再次访问成功.

这篇人物性格也很鲜明,而且不是靠虚构故事:

旧 N1 不舍得扔,就继续榨;接口太散看着难受,就统一;每接一层,不看到真实请求成功就不算结束.

真实故事感来自原文已经存在的操作:

N1 部署 → Windows Ollama 对话 → 3060ti 约 3 秒出结果 → 单独测 API → New-API 渠道测试 → Token curl 再测.

所以这篇不用再硬编“某天朋友突然找我要接口”.

原文中“5 分钟部署”“高可用多模型云枢纽”“商业级稳定性”“全世界任意角落自由调度算力”等表达比较大,而正文没有对部署总耗时、高可用故障切换、公网 API 长期稳定性做完整测试.

因此新版把结论收回到实际证据:

New-API 已经把本地 Ollama 收进统一的 Token + OpenAI 格式入口;公网侧则完成了 New-API 页面和固定地址的访问验证.

对我来说,这已经比“把本地模型变成云模型”更有价值.

因为真正舒服的变化是:以后模型可以继续加,但下游应用不用跟着一个个重新改入口.

🚀真正的勇者不是流泪的人,而是含泪奔跑的人!


敬请期待下一篇文章内容


每日心灵鸡汤: 你以为你在活自己,其实只是活在别人的框架里!

绝大多数中国人一辈子都活在别人的框架里.一个从小被父母、学校、单位和社会不断规定“应该怎样活”的人,很难形成真正属于自己的判断,于是只能依赖外部叙事、群体共识和多数人的选择获得安全感.也正因为如此,他往往会试图控制别人:别人必须和自己一样,必须认可同样的价值、走同样的路、遵守同样的规则,因为一旦别人活出了另一种可能,就等于在动摇他赖以维持安全感的那套世界.他不是单纯想控制别人,而是在通过控制别人,证明自己接受的那套叙事是对的.更深一层,很多所谓“群体共识”本身也不是自然形成的,而是被掌握资源、权力和利益的人不断设计、强化和传播的:什么叫成功,什么叫体面,什么叫稳定,什么值得追求,往往都服务于某种既有秩序.于是人一边被控制,一边又替这套秩序去控制别人,最后甚至分不清哪些欲望真正属于自己.可人生本来就有很多种活法:可以努力,也可以无聊;可以工作,也可以发呆;可以追求成功,也可以旅行、独处、停下来;可以去发现,也可以去创造.真正找到自己,是不再需要靠群体的认可证明自己,也不再要求别人按照同一种方式活.

赞(0)
未经允许不得转载:171主机测评 » N1飞牛部署New-API:把本地Ollama和零散模型接口收进一个统一入口
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址