HELLO NAS BLOG

『NAS』AI服务统一中转,绿联NAS部署New API全攻略

New API 是一款高效的 API 接口中转管理系统。它能够将市面上各类大模型的 API(如 Claude, Gemini, DeepSeek 等)统一封装成 OpenAI 格式进行分发,并支持额度监控、令牌管理等...

点赞 + 关注 + 收藏 = 学会了

💡整理了一个 NAS 专属玩法专栏,感兴趣的工友可以戳这里关注 👉 《NAS邪修》

New API 是一款高效的 API 接口中转管理系统。它能够将市面上各类大模型的 API(如 Claude, Gemini, DeepSeek 等)统一封装成 OpenAI 格式进行分发,并支持额度监控、令牌管理等功能,是自建 AI 聚合平台的首选工具。

相比起 One API,New API 长得更漂亮~

01

本次以绿联 NAS 为例进行演示,其他品牌 NAS(如群晖、极空间、飞牛等)通过 Docker 部署的逻辑基本一致,可参考操作。

打开绿联 NAS 的**「文件管理」**应用。

进入 docker 文件夹,新建 new-api 文件夹。。

new-api 目录下再创建一个 data 文件夹。

02

打开**「Docker」**应用,切换到 “项目” 面板,点击“创建”:

  • 项目名称:new-api
  • 存放路径:选择上一步创建的 /docker/new-api

03

Compose配置如下:

services:
  new-api:
    image: calciumion/new-api:latest
    container_name: new-api
    restart: always
    ports:
      - 6690:3000 # 冒号左侧 6690 端口可根据实际情况修改
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./data:/data

进阶提示: 如果你需要处理高并发或进行“对外运营模式”,建议使用更健壮的 生产环境方案(集成 Redis 缓存与 PostgreSQL/MySQL 数据库)。

# New-API Docker Compose Configuration
#
# Quick Start:
#   1. docker-compose up -d
#   2. Access at http://localhost:3000
#
# Using MySQL instead of PostgreSQL:
#   1. Comment out the postgres service and SQL_DSN line 15
#   2. Uncomment the mysql service and SQL_DSN line 16
#   3. Uncomment mysql in depends_on (line 28)
#   4. Uncomment mysql_data in volumes section (line 64)
#
# ⚠️  IMPORTANT: Change all default passwords before deploying to production!

version: '3.4' # For compatibility with older Docker versions

services:
  new-api:
    image: calciumion/new-api:latest
    container_name: new-api
    restart: always
    command: --log-dir /app/logs
    ports:
      - '3000:3000'
    volumes:
      - ./data:/data
      - ./logs:/app/logs
    environment:
      - SQL_DSN=postgresql://root:123456@postgres:5432/new-api # ⚠️ IMPORTANT: Change the password in production!
      #      - SQL_DSN=root:123456@tcp(mysql:3306)/new-api  # Point to the mysql service, uncomment if using MySQL
      - REDIS_CONN_STRING=redis://redis
      - TZ=Asia/Shanghai
      - ERROR_LOG_ENABLED=true # 是否启用错误日志记录
      - BATCH_UPDATE_ENABLED=true # 是否启用批量更新 batch update enabled
    #      - STREAMING_TIMEOUT=300  # 流模式无响应超时时间,单位秒,默认120秒,如果出现空补全可以尝试改为更大值 Streaming timeout in seconds, default is 120s. Increase if experiencing empty completions
    #      - SESSION_SECRET=random_string  # 多机部署时设置,必须修改这个随机字符串!! multi-node deployment, set this to a random string!!!!!!!
    #      - SYNC_FREQUENCY=60  # Uncomment if regular database syncing is needed

    depends_on:
      - redis
      - postgres
    #      - mysql  # Uncomment if using MySQL
    healthcheck:
      test:
        [
          'CMD-SHELL',
          "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' || exit 1",
        ]
      interval: 30s
      timeout: 10s
      retries: 3

  redis:
    image: redis:latest
    container_name: redis
    restart: always

  postgres:
    image: postgres:15
    container_name: postgres
    restart: always
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: 123456 # ⚠️ IMPORTANT: Change this password in production!
      POSTGRES_DB: new-api
    volumes:
      - pg_data:/var/lib/postgresql/data
#    ports:
#      - "5432:5432"  # Uncomment if you need to access PostgreSQL from outside Docker

#  mysql:
#    image: mysql:8.2
#    container_name: mysql
#    restart: always
#    environment:
#      MYSQL_ROOT_PASSWORD: 123456  # ⚠️ IMPORTANT: Change this password in production!
#      MYSQL_DATABASE: new-api
#    volumes:
#      - mysql_data:/var/lib/mysql
#    ports:
#      - "3306:3306"  # Uncomment if you need to access MySQL from outside Docker

volumes:
  pg_data:
#  mysql_data:

项目构建成功后,在浏览器访问 NAS_IP:6690 即可进入 New API 管理界面。

04

首次使用需要完成一些初始化配置。

按提示创建管理员账号,设置用户名和密码。

05

作为 NAS 用户,通常建议选择“自用模式”。

06

最后点击弹窗右下角的“初始化系统”按钮就能用了。

07

登录刚刚创建的账号后,会自动跳到控制台页面。

这个页面可以看到你的使用数据。

08

作为 API 统一平台,核心逻辑是把各大模型的 Key “喂”进来。

在左侧导航栏找到**「渠道管理」**,点击“添加渠道”。

09

创建新的渠道:

  • **类型:**根据你要接入的服务商选择。例如接入 LongCat,因其完全兼容 OpenAI 接口,类型选 OpenAI 即可。
  • 名称:自定义。
  • **密钥:**把你要接入的平台那边申请的 API Key 填过来。
  • **API地址:**根据你要接入的模型,在它的官方文档里找对应的 BaseURL,然后填进 New API 这边。New API 内部已做处理,此处的 Base URL 通常不需要在结尾加 /v1
  • **模型:**选择或输入该渠道支持的模型名称。

10

创建成功后,点击列表中的**“测试”**。如果返回响应时间,说明连接成功。

11

你还可以在**「操练场」**直接发起对话,验证回复质量。

12

我们部署 New API 肯定是想把服务对外暴露给其他应用使用的。

进入**「令牌管理」**页面,点击“添加令牌”。

13

按需配置可用模型、额度和过期时间。

14

令牌创建成功后,回到“令牌管理”页面就能看到刚刚创建的那项了。

15

点击**“复制”**,你会得到一个 sk- 开头的密钥。

sk- 开头的这个密钥复制出来填入需要使用的应用里。

我以 n8n 为例,创建一个 OpenAI 兼容凭证,API Key 填入在 New API 创建的令牌的密钥(也就是上一步复制到的密钥)。

Base URL 填 NAS_IP:6690/v1 。注意注意,URL 后面要加上 /v1

点击保存,可以看到绿色的提示信息“Connection tested successfully”,证明调通了!

16


以上就是本文的全部内容啦,你有好玩的镜像推荐吗?欢迎在评论区留言讨论!

想了解更多NAS玩法记得关注《NAS邪修》👏

往期推荐:

点赞 + 关注 + 收藏 = 学会了

继续看看其他折腾记录

更多 NAS、家庭服务器和工具分享都在博客列表。

返回博客