
1. 为什么要在 N1 飞牛 NAS 上折腾 New-API 接口中转站如果你手里有一台刷了飞牛 NAS 的 N1 盒子又刚好在本地跑过 Ollama大概率会遇到一个很现实的问题模型是跑起来了但每个客户端都要单独填地址、填 Key、填模型名。今天在 ChatBox 里配一遍明天在 Cline 里再配一遍后天想给朋友分享一个接口还得把 Ollama 的 11434 端口直接暴露出去既没有鉴权也没有额度控制。New-API 就是来解决这个问题的。它本质上是一个 OpenAI 兼容的接口聚合网关向下可以对接 Ollama、各类云端大模型 API向上统一输出一套/v1/chat/completions格式的入口。你只需要记住一个 Base URL 和一个 Token就能调用后台配置好的所有模型资源。对于 N1 飞牛 NAS 这种 7×24 小时低功耗在线的设备来说把它作为家里的 AI 算力调度中心非常合适。这篇文章面向的是已经有一台 N1 飞牛 NAS、想把手里的本地模型和云端 API 统一管起来的人。我会从 Docker 部署 New-API 开始一步步走到 Ollama 渠道接入、令牌创建、curl 验证最后用 cpolar 做内网穿透让外网也能调用。整个过程我都会给出可复制的命令和配置你跟着做就能跑通。需要提前说明的是N1 盒子的 ARM 架构和飞牛 NAS 的 Docker 环境是这套方案的基础。如果你还没刷飞牛系统建议先完成那一步再回来。另外本文的重点是接口聚合和统一管理不是模型推理性能调优N1 本身跑不动大模型它负责的是调度和转发。2. 部署前的准备飞牛 NAS 的 Docker 与 SSH 环境确认在正式部署 New-API 之前有几个前置条件需要确认。这一步看起来简单但后面很多报错都跟这里没做干净有关。首先打开飞牛 NAS 桌面点击 Docker 图标确认 Docker 服务处于开启状态。飞牛系统自带的 Docker 环境已经能满足 New-API 的运行需求不需要额外安装。如果 Docker 服务没启动后面的部署脚本会直接失败。接着进入系统设置找到 SSH 选项并启用。我们需要通过 SSH 连到 NAS 上执行部署脚本。在 Windows 上按 Win X 选择终端管理员然后用 ssh 命令连接ssh n1192.168.50.228这里的n1是你的飞牛 NAS 用户名IP 换成你自己的。连接成功后切换到 root 用户输入密码时终端不会显示字符这是正常的sudo -i然后下载一键部署脚本。这个脚本会帮我们拉取 New-API 的 Docker 镜像并启动容器curl -L https://gitee.com/jun-wan/script/raw/master/new_api_deploy/deploy_sqlite.sh -o deploy_sqlite.sh ls下载完成后授权并执行chmod x deploy_sqlite.sh bash deploy_sqlite.sh执行过程中脚本会询问安装位置。如果你外接了扩展硬盘会看到扩展存储选项选择对应的编号回车即可。脚本跑完后在浏览器访问http://你的NAS_IP:3000能看到 New-API 的初始化页面就说明部署成功了。这里有个细节值得注意New-API 默认使用 SQLite 作为数据库对于个人自用场景完全够用不需要额外部署 MySQL。如果你后续要接很多渠道和高频调用再考虑换数据库也不迟。3. New-API 初始化与 Ollama 渠道接入配置部署完成后第一次访问 New-API 会进入初始化流程。在数据库检查页面点下一步然后创建管理员账号和密码。使用模式这里选择自用模式点击初始化系统完成。如果初始化后没有自动登录点右上角登录按钮用刚才创建的账号密码进入后台。接下来是核心部分把 Ollama 接入 New-API 作为渠道。先确保你的 Ollama 已经在局域网某台机器上跑起来了。如果还没装在 Windows 上可以用一条命令安装irm https://ollama.com/install.ps1 | iex安装完成后拉取一个测试模型比如小参数的 qwen3.5:0.8bollama run qwen3.5:0.8b测试对话没问题后输入/bye退出。Ollama 默认监听 11434 端口并且支持 OpenAI 兼容格式。先在本地验证一下 API 是否正常curl http://localhost:11434/v1/chat/completions -H Content-Type: application/json -d {\model\: \qwen3.5:0.8b\, \messages\: [{\role\: \user\, \content\: \你好\}], \stream\: false}确认 Ollama 的 API 能返回结果后回到 New-API 后台。点击左侧渠道管理添加渠道。类型选择 Ollama名称自定义密钥随便填一个Ollama 默认不校验密钥API 地址填你运行 Ollama 那台机器的局域网 IP 加端口比如http://192.168.50.100:11434。模型部分点击获取模型列表选中 qwen3.5:0.8b 后提交。提交后点测试按钮出现测试成功就说明渠道通了。如果你有多个本地 AI 服务器可以按同样方式继续添加渠道它们会统一出现在模型广场里。这里补充一个关键配置点。New-API 的渠道配置本质上是一份 JSON 结构如果你习惯用配置文件管理可以参考下面这个 settings 片段的结构{ channel: { type: ollama, name: local-ollama, base_url: http://192.168.50.100:11434, key: sk-ollama-local, models: [qwen3.5:0.8b], model_mapping: {} } }如果你后续想把上游 Base URL 改到 TaoToken 统一管理云端 Key只需要在渠道里把 API 地址换成https://taotoken.net/api密钥填你在 TaoToken 控制台生成的 Key模型 ID 按平台文档填写即可。这样本地 Ollama 和云端模型就都在同一个后台里管理了。4. 创建令牌并用 curl 验证统一入口渠道配好后还需要创建一个令牌才能对外调用。点击左侧令牌管理添加令牌填写名称和额度限制提交后复制生成的 Token。现在用这个 Token 通过 New-API 的统一入口调用刚才接入的 Ollama 模型curl http://192.168.50.228: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}把 IP 换成你的 N1 飞牛 NAS 地址Token 换成刚复制的。如果返回了正常的 JSON 响应说明整条链路已经打通客户端 → New-API → Ollama → 返回结果。这一步验证通过后你可以在任意支持 OpenAI 兼容接口的客户端里填入这个 Base URL 和 Token。比如在 Cline 里配置时需要填三件套Base URL 填http://192.168.50.228:3000/v1API Key 填刚才的令牌Model ID 填qwen3.5:0.8b。这样 Cline 就能通过 New-API 调用你家里的 Ollama 了。如果你同时接了云端模型比如通过 TaoToken 接入的 Claude 或 GPT 系列只需要在客户端里把 Model ID 换成对应的模型名Base URL 和 Key 都不用改。这就是统一入口的价值下游应用只认一个地址和一个令牌上游换什么模型、加什么渠道下游完全无感。验证时如果返回的 JSON 里 choices 字段有内容就说明成功了。如果返回空或者报错先检查令牌额度是否用完、渠道是否被禁用、模型名是否拼写正确。5. 常见报错排查401、local proxy failed 与 reading choices这一节整理几个我在配置过程中实际遇到过的报错以及对应的排查思路。401 鉴权失败最常见的原因是 Token 填错或者令牌被禁用。先确认请求头里的Authorization: Bearer sk-xxx格式正确没有多余空格。然后到 New-API 后台令牌管理里看这个令牌的状态和剩余额度。如果额度为 0请求会被拒绝。另外如果你在渠道里填的云端 Key 失效了New-API 转发时也会返回 401这时候要检查渠道配置里的密钥是否还有效。local proxy failed这个报错通常出现在 New-API 无法连接到上游渠道时。如果是 Ollama 渠道先确认 Ollama 所在机器的 IP 和端口能从 N1 上访问到。可以在 N1 的 SSH 里执行curl http://192.168.50.100:11434/v1/models测试连通性。如果连不上检查防火墙是否放行了 11434 端口或者 Ollama 是否只监听了 127.0.0.1。Ollama 默认监听所有网卡但某些安装方式可能只绑定了本地回环需要在启动时设置OLLAMA_HOST0.0.0.0。reading choices 报错这个通常意味着上游返回的响应格式不符合 OpenAI 规范New-API 在解析 choices 字段时失败了。如果是 Ollama 渠道确认你用的是/v1/chat/completions而不是原生/api/chat。如果是云端渠道检查 Base URL 是否填对了有些平台的 API 路径需要带/v1有些不需要。另外如果上游返回的是流式响应但客户端要求非流式也可能导致解析异常可以在请求里明确设置stream: false。OAuth 相关报错如果你在渠道里配置的是需要 OAuth 认证的云端服务比如某些 Claude 接入方式报错可能提示 token 过期或 refresh 失败。这时候需要回到对应平台重新授权把新的 token 更新到渠道配置里。New-API 本身不处理 OAuth 流程它只负责转发请求认证信息需要你提前准备好。排查时建议先看 New-API 后台的日志页面里面会记录每次请求的渠道、状态码和错误信息。定位到具体是哪个渠道出问题后再针对性地检查网络连通性和密钥有效性。6. 用 cpolar 做内网穿透并固定二级子域名局域网内调通后如果想让外网也能访问这套接口就需要内网穿透。cpolar 可以把 N1 上的 3000 端口映射到公网地址而且支持固定二级子域名适合长期使用。在 N1 的 SSH 里执行一键安装sudo curl https://get.cpolar.sh | sh安装完成后查看服务状态sudo systemctl status cpolar看到 active 就说明服务正常。然后在浏览器访问http://192.168.50.228:9200进入 cpolar 的 Web 管理界面用注册好的账号登录。点击左侧隧道管理创建隧道本地地址填 3000协议选 http创建完成后在在线隧道列表里就能看到公网地址。免费版的随机域名每 24 小时会变一次如果你要长期接入机器人或工作流工具建议配置固定二级子域名。在 cpolar 后台的预留页面保留一个二级子域名然后回到隧道编辑页面把域名类型改为二级子域名填入刚才保留的名称更新后公网地址就固定下来了。这里有个安全提醒New-API 暴露到公网后管理员账号和 API Token 就是唯一的防线。一定要设置复杂的密码令牌要设置额度上限和过期时间不要把自己的 Token 发到公开群组里。如果接入了付费模型更要在 New-API 里配置好频率限制和用户权限避免被滥用。整套方案跑通后N1 飞牛 NAS 负责长期在线New-API 负责接口聚合和令牌管理Ollama 提供本地模型能力cpolar 补上远程访问通道。你可以在外面用手机调用家里的模型也可以把接口分享给朋友而所有调用记录和额度消耗都在 New-API 后台一目了然。如果后续想接入更多云端模型把上游 Base URL 改到 TaoToken 的 API 地址在控制台生成 Key 后填进渠道即可本地和云端的模型就真正统一到一套入口里了。