NAS飞牛N1搭建低成本OneAPI多模型网关
为什么要在飞牛NAS上搭建OneAPI多模型网关
如果你手头有多个大模型API(比如OpenAI、Claude、本地部署的模型),每个API有独立的Key和地址,管理起来会非常麻烦。
OneAPI是一个开源的多模型网关,能把这些API统一成一个接口,提供限流、缓存、统计等功能。
飞牛NAS这类低功耗设备常年开机,非常适合用来部署这个服务,成本几乎为零。
本文针对零基础用户,全程使用命令行操作,但每一步都附有详细说明。
你只需要准备一台已安装Docker的飞牛NAS(如果没有Docker,下面也会补充安装方法),以及一点耐心。
准备条件:确认NAS状态并安装Docker
开始之前,请确保你的飞牛NAS满足以下条件:
- 已连接网络,可通过SSH或本地终端登录。
- 系统为基于Linux的NAS操作系统(如飞牛OS,通常基于Debian)。
- 如果还没有安装Docker,请先执行以下命令安装:
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker
安装完成后,运行 docker version 确认版本信息。
如果你的NAS系统使用其他包管理工具,请对应调整。
第一步:拉取OneAPI镜像并启动容器
Docker就绪后,可以开始部署OneAPI。
推荐使用官方镜像 justsong/one-api,它集成了所有依赖。
通过SSH登录NAS,执行以下命令:
docker run -d --name one-api -p 3000:3000 -v /path/to/data:/data justsong/one-api
这里要注意几点:
-p 3000:3000表示将容器的3000端口映射到NAS的3000端口,你可以换成其他未使用的端口(如8080)。-v /path/to/data:/data是数据持久化,把容器内的数据目录映射到NAS上的一个文件夹。建议创建一个固定目录,比如/docker/one-api/data,这样重装容器不会丢失配置。
第二步:初始化设置并登录管理后台
等待几秒钟让容器启动,然后通过浏览器访问 http://你的NASIP:3000(比如 192.168.1.100:3000)。
首次打开会进入初始化引导页面:
- 设置管理员账号和密码(请牢记)。
- 配置全局设置,包括Token加密密钥(可以随机生成)、缓存策略等,新手保持默认即可。
- 点击“保存”后,页面会跳转到登录页。使用刚才创建的管理员账号登录。
登录后你就进入了管理看板,可以开始添加模型渠道了。
第三步:添加模型渠道并配置多API
OneAPI的核心能力是管理渠道(每个渠道代表一个实际的API服务)。
点击左侧菜单“渠道”,然后“添加渠道”:
- 渠道类型:选择你使用的模型提供商,如OpenAI、Claude、Azure OpenAI、自定义等。
- API Key:填入你从提供商那里获得的真实API Key。
- 模型:选择或手动输入一个模型名称(如gpt-4o),注意每个渠道只对应一个模型。
- 其他设置:如代理地址(如果你NAS需要代理访问外网就填上)、速率限制等,新手保持默认。
重复以上步骤添加你需要的其他模型渠道。
添加完成后,OneAPI会自动为你生成一个统一的访问地址(默认仍是 http://NASIP:3000)和管理密钥。
可以在“令牌”菜单里创建新的API令牌,用于客户端调用。
避坑指南:常见问题与解决
- 端口冲突:如果3000端口已被占用,启动容器会报错。请更换端口,并确保防火墙放行新端口。
- 数据丢失:没有加
-v参数持久化数据,容器删除后配置全丢。务必提前创建挂载目录。 - 无法访问管理页面:检查防火墙是否开启,Docker镜像是否正确启动(运行
docker logs one-api查看日志)。 - Key泄露:不要在非安全网络下暴露管理页面;考虑添加Nginx反代加HTTPS。
效果验证:测试统一接口是否可用
一切配置完成后,使用以下命令测试OneAPI的连通性(以OpenAI渠道为例):
curl http://你的NASIP:3000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你在OneAPI中创建的令牌" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Hello"}]
}'
如果能正常返回JSON响应(包含choices字段),说明网关搭建成功。
至此,你的飞牛NAS就完成了一台低成本的多模型API网关,所有客户端只需指向这个统一地址即可。
常见问题解答
Q:我的飞牛NAS性能很低,能跑起OneAPI吗?
A:OneAPI本身非常轻量,N1级别的设备(1GB内存)运行完全没问题,它只做请求转发,不跑模型。
Q:如何升级OneAPI版本?
A:先停止并删除旧容器,拉取最新镜像,再用相同的 -v 持久化参数重新启动。数据不会丢失。
Q:可以添加本地部署的模型吗?
A:可以。在渠道类型中选择“自定义”,填写本地模型的API地址和Key即可,前提是本地模型服务已暴露到NAS网络。
如果你在搭建过程中遇到其他报错,建议先查看容器日志(docker logs -f one-api),或者查阅OneAPI项目的官方文档。
按照本文步骤完整执行一遍,你的多模型网关就能稳定运行了。