家用住宅机器搭建NewAPI多模型中转网关
搭建前需要准备什么
- 一台能联网的家庭电脑(Windows / Linux / Mac 均可,建议使用 Linux 或已开启 WSL2 的 Windows)。
- 稳定的网络环境,能正常访问 OpenAI、Claude 等目标 API。
- 各个模型的 API Key(例如 OpenAI、Claude、Gemini 等)。
- 安装 Docker(推荐同时安装 Docker Compose,方便后续管理)。
第一步:在家庭电脑上安装 Docker 与 NewAPI
- 安装 Docker:从 docker.com 下载对应操作系统的 Docker Desktop 或 Docker Engine。安装后打开终端验证:
docker --version
如果没有报错,说明安装成功。
- 拉取 NewAPI 镜像:NewAPI 的官方镜像名是
justsong/new-api,执行:
docker pull justsong/new-api
- 创建数据持久化目录(防止容器重启后配置丢失):
mkdir ~/newapi-data
- 启动容器:
docker run -d --name newapi \
-p 3000:3000 \
-v ~/newapi-data:/data \
justsong/new-api
启动后使用 docker ps 确认容器正常运行。
第二步:配置多模型密钥和路由策略
- 初始化管理员:在浏览器输入
http://你电脑的局域网IP:3000(如http://192.168.1.100:3000),首次访问会要求设置管理员邮箱和密码,请牢记。 - 添加模型渠道:登录管理后台,点击左侧 渠道 → 添加渠道,选择模型类型(如 OpenAI),填写 API Key 并保存。重复此步骤添加 Claude、Gemini 等。
- 生成访问令牌:在 令牌 页面新建一个令牌,设置权限和额度(如果用于共享可设限额),复制保存供客户端使用。
- 配置路由策略:在 设置 → 运营设置 中调整路由规则(随机、优先、权重等),实现不同模型的智能分发。
第三步:让局域网内设备都能访问中转网关
- 同一局域网下的设备(手机、另一台电脑等)直接用
http://内网IP:3000访问即可。查找内网 IP 的方法:在家庭电脑终端执行ipconfig(Windows)或ifconfig(Linux)。 - 如果需要从互联网访问(如在外使用手机调用 API),有两种方式:
- 公网 IP + 端口转发:进入路由器管理后台,找到“端口映射”或“虚拟服务器”,将外部端口 3000 映射到家庭电脑的内网 IP 和端口 3000。同时需要在家庭电脑的防火墙中放行 3000 端口。
- 内网穿透:如果没有公网 IP,可以使用 frp、ngrok 等工具将本地端口暴露出去(教程较多,此处不展开)。
常见问题与避坑说明
- Docker 无法启动:检查系统虚拟化是否开启(特别是 Windows 需要安装 WSL2),Docker Desktop 是否以管理员身份运行。
- 端口 3000 被占用:修改启动命令中的映射端口,例如
-p 3001:3000,然后通过http://内网IP:3001访问。 - API 请求失败:确认 API Key 有效且未过期;检查家庭网络能否直连 OpenAI 等目标(如果被墙需要额外配置代理)。
- 数据丢失:每次更新镜像时,请先备份
/data目录下的newapi.db文件,否则重新创建容器后所有配置会消失。
如何验证中转网关是否正常工作
- 在管理后台查看 日志,确认渠道连接状态为“正常”。
- 使用 curl 发送测试请求(替换令牌和模型名称):
curl http://localhost:3000/v1/chat/completions \
-H "Authorization: Bearer 你的令牌" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-3.5-turbo","messages":[{"role":"user","content":"Hello"}]}'
如果返回包含 choices 字段的 JSON,说明中转网关正常工作。
- 也可以直接在第三方客户端(如 OneAPI、OpenCat)中填入 NewAPI 的地址
http://内网IP:3000和令牌,测试聊天功能。
如果你正在处理家用住宅机器搭建 NewAPI 多模型中转网关,建议先按本文步骤完整执行,再根据自己的环境微调端口映射或安全规则;
遇到异常时优先回看避坑和高频问题部分,大部分问题都能自行解决。