AI创业第一步,手把手教你在NAS上搭建一套可商业化的AI应用系统

哈喽小伙伴们好,我是Stark-C~

最近几年AI的势头大家有目共睹!从最初的大模型到现在的智能体,从自动化到生产力,AI几乎每隔几个月就有新的突破,最重要的是,AI的使用门槛也是越来越低!

而从另一方面说,当前也是众多AI开发者、AI创业者的一个难得机遇。如何在当前AI浪潮中发挥自己最大的价值,为自己赚到第一桶金,我想应该是几乎所有有梦想的人都在考虑的问题吧!

今天为大家分享的这个项目,可以说是帮助大家迈出 AI 创业第一步的“最优解”:一套能够快速在 NAS 上私有化部署、功能完善、并且真正具备商业化能力的 AI 应用系统--BuildingAI。

关于BuildingAI

🔺BuildingAI 是一款面向 AI 开发者、AI 创业者以及先进组织打造的企业级开源智能体构建平台。它支持在数分钟内完成部署,并通过可视化配置界面(DIY 方式)实现零代码搭建,快速构建具备智能体、MCP、知识库、工作流、大模型聚合、意图识别、上下文工程等原生 AI 能力的应用。同时,BuildingAI 还内置用户注册、会员订阅、算力充值、支付计费等商业闭环能力,让你能够直接搭建可上线、可收费、可运营的原生企业级智能体系统。

BuildingAI 的愿景,是成为新一代企业智能体应用的基础设施,为 AI 开发者、AI 创业者和先进组织提供特性丰富、开箱即用的原生 AI 能力支持,加速智能体应用的构建与落地。

项目Github主页:https://github.com/BidingCC/BuildingAI

项目亮点特色(引自官网):

  • AI对话: 基于 LLM 模型进行对话、文本生成,支持多模态模型调用

  • AI智能体: 支持创建具备记忆、目标和工具使用能力的智能体,实现自主任务执行

  • 知识库: 通过文档构建知识库,支持向量检索与RAG增强生成

  • MCP调用: 支持以 SSE、StreamableHTTP 方式调用MCP工具

  • 模型管理: 支持主流大模型集成,统一API规范

  • 拓展机制:通过安装拓展丰富系统功能和AI能力

  • 充值计费: 内置会员管理、计费管理、支付功能,开箱即用

BuildingAI部署

部署前的说明:

提前说明一下,项目的体系还是比较大的,所以它对于部署设备(NAS)的硬件配置还是有一定要求的,最低需要“2核CPU + 4GB内存 + 5GB存储空间”,如果真正用作商业用途,配置当然是越高越好。本次部署我使用的是极空间Z423旗舰版NAS,所以部署这个项目可以说是毫无压力。

另外,项目作者推荐使用 Docker 的方式进行部署。不过由于涉及源码构建,通常情况下需要在终端执行相关命令,也就是说必须开启 NAS 的 SSH 功能。好在极空间最近对 Docker 功能进行了升级,已经支持直接加载源码,并且原生支持 .env 环境变量文件,这意味着我们可以在不启用 SSH 的情况下,也能完成项目的构建与部署流程。

为了让新手小白直接抄作业,接下来的部署过程我尽量说的足够详细。同时我更希望通过此次部署过程,让极空间用户真正了解当前Docker新功能的玩法,比如说怎么使用“ .env ”环境变量这种专业的能力。

开始部署:

🔺打开文件管理器,在Docker目录下新建一个“buildingai”的文件夹。

🔺然后去项目的Github主页,将项目整个克隆(下载)到本地。

🔺下载到本地的是一个压缩包,需要将压缩包直接解压。

🔺然后我们需要将解压之后的所有文件全部上传到极空间前面新建的“buildingai”文件夹。

🔺如果说你那边显示的和我这边不一样,需要在极空间文件管理的“设置”中开启“显示隐藏文件/文件夹”。

🔺然后我们需要修改的有两个文件:“.env”和“docker-compose.yml”。

🔺我们直接打开这两个文件,系统会提示不支持直接查看。我们直接点“尝试用文本编辑器打开”就可以了。

🔺先说“.env”文件,我已经为大家优化好了,大家直接复制粘贴,然后右上角“保存”就可以了,

# Base
APP_NAME=BuildingAI
APP_DOMAIN=http://192.168.31.122:4090

# Server
SERVER_PORT=4090
SERVER_CORS_ENABLED=true
SERVER_CORS_ORIGIN=*
SERVER_SHOW_DETAILED_ERRORS=false
SERVER_IS_DEMO_ENV=false

# PM2
PM2_APP_NAME=buildingai
PM2_INSTANCES=1
PM2_EXEC_MODE=cluster
PM2_MAX_MEMORY=1G
PM2_WATCH=false
PM2_LOG_DIR=../../logs/pm2
PM2_AUTORESTART=true
PM2_LOG_DATE_FORMAT=YYYY-MM-DD HH:mm:ss Z

# JWT
JWT_SECRET=change_this_to_a_strong_password
JWT_EXPIRES_IN=30d

# Database
DB_TYPE=postgres
DB_HOST=postgres
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE=buildingai
DB_SYNCHRONIZE=false
DB_DEV_SYNCHRONIZE=true
DB_LOGGING=true

# Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_USERNAME=
REDIS_PASSWORD=
REDIS_DB=0
REDIS_TTL=60*60*24
REDIS_MAX_RECONNECT_ATTEMPTS=5
REDIS_RECONNECT_DELAY=3000

# Cache
CACHE_TTL=86400
CACHE_MAX_ITEMS=1000

# Logs
LOG_LEVELS=error,warn,debug,fatal
LOG_WRITE_LEVELS=error,warn,debug,fatal,log
LOG_TO_FILE=true
LOG_DATABASE_SCHEMA=false
LOG_CLEAN_INTERVAL=3

# Web
VITE_DEVELOP_APP_BASE_URL=http://localhost:4090
VITE_PRODUCTION_APP_BASE_URL=http://192.168.31.122:4090
VITE_APP_WEB_API_PREFIX=/api
VITE_APP_CONSOLE_API_PREFIX=/consoleapi

# Docker
NPM_REGISTRY_URL=https://registry.npmmirror.com
DOCKER_CONTAINER_SUFFIX=
DOCKER_MEMORY_LIMIT=6144M
DOCKER_CPU_LIMIT=2.0
DOCKER_MEMORY_RESERVATION=512M
POSTGRES_EXTERNAL_PORT=
REDIS_EXTERNAL_PORT=

以上代码需要修改的地方仅为图中红框所示的地方,端口号如果本地不冲突就不要改,如果需要修改后面的只要是“4090"端口都要改成一致!

🔺然后是“docker-compose.yml”文件,我同样已经为大家优化过,直接复制粘贴后“保存”即可:

name: buildingai

x-resource-config: &resource-config
  deploy:
    resources:
      limits:
        memory: ${DOCKER_MEMORY_LIMIT:-3584M}
        cpus: "${DOCKER_CPU_LIMIT:-1.0}"
      reservations:
        memory: ${DOCKER_MEMORY_RESERVATION:-512M}

services:
  redis:
    image: ccr.ccs.tencentyun.com/buildingai/redis:8.2.2
    container_name: buildingai-redis${DOCKER_CONTAINER_SUFFIX:-}
    restart: always
    environment:
      TZ: Asia/Shanghai
      REDIS_PASSWORD: ${REDIS_PASSWORD:-}
      QUICK_START_MODE: ${QUICK_START_MODE:-false}
    ports:
      - "${REDIS_EXTERNAL_PORT:-}${REDIS_EXTERNAL_PORT:+:}6379"
    volumes:
      - ./docker/data/redis:/data
    networks:
      - buildingai-network
    <<: *resource-config
    healthcheck:
      test: ["CMD-SHELL", "redis-cli -a $$REDIS_PASSWORD ping"]
      interval: 10s
      timeout: 5s
      retries: 5

  postgres:
    image: ccr.ccs.tencentyun.com/buildingai/postgres:17.6
    container_name: buildingai-postgres${DOCKER_CONTAINER_SUFFIX:-}
    restart: always
    environment:
      TZ: Asia/Shanghai
      POSTGRES_USER: ${DB_USERNAME:-postgres}
      POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres}
      POSTGRES_DB: ${DB_DATABASE:-buildingai}
    ports:
      - "${POSTGRES_EXTERNAL_PORT:-}${POSTGRES_EXTERNAL_PORT:+:}5432"
    volumes:
      - ./docker/data/postgres/postgres_data:/var/lib/postgresql/data
    networks:
      - buildingai-network
    <<: *resource-config
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${DB_USERNAME:-postgres}"]
      interval: 10s
      timeout: 5s
      retries: 5

  nodejs:
    image: ccr.ccs.tencentyun.com/buildingai/node:22.20.0
    container_name: buildingai-nodejs${DOCKER_CONTAINER_SUFFIX:-}
    restart: on-failure:3
    working_dir: /buildingai
    volumes:
      - ./:/buildingai
    ports:
      - "${SERVER_PORT:-4090}:${SERVER_PORT:-4090}"    #端口修改,不冲突保持默认
    environment:
      TZ: Asia/Shanghai
      SERVER_PORT: ${SERVER_PORT:-4090}    #端口修改,不冲突保持默认
      QUICK_START_MODE: ${QUICK_START_MODE:-false}
      NPM_REGISTRY_URL: ${NPM_REGISTRY_URL:-}
      DB_USERNAME: ${DB_USERNAME:-postgres}
      DB_PASSWORD: ${DB_PASSWORD:-postgres}
      DB_DATABASE: ${DB_DATABASE:-buildingai}
      DB_HOST: postgres
      DB_PORT: 5432
      REDIS_HOST: redis
      REDIS_PORT: 6379
      REDIS_PASSWORD: ${REDIS_PASSWORD:-}
    command: |
      sh -c '
      set -e
      echo "🚀 Starting BuildingAI container..."

      if [ -n "$NPM_REGISTRY_URL" ]; then
        echo "🔧 Using custom registry: $NPM_REGISTRY_URL"
        if command -v npm >/dev/null 2>&1; then
          npm config set registry "$NPM_REGISTRY_URL"
        fi
        if command -v pnpm >/dev/null 2>&1; then
          pnpm config set registry "$NPM_REGISTRY_URL"
        fi
      else
        echo "⚠️ NPM_REGISTRY_URL not set, using default registry"
      fi

      if ! command -v pnpm >/dev/null 2>&1; then
        echo "📦 Installing pnpm..."
        npm install -g pnpm
        npm install -g pm2

        if [ -n "$NPM_REGISTRY_URL" ]; then
          pnpm config set registry "$NPM_REGISTRY_URL"
        fi
      fi

      echo "🎯 Starting BuildingAI..."
      exec pnpm start --no-daemon
      '
    networks:
      - buildingai-network
    <<: *resource-config
    depends_on:
      redis:
        condition: service_healthy
      postgres:
        condition: service_healthy
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:${SERVER_PORT:-4090}/consoleapi/health || pnpm pm2 describe ${PM2_APP_NAME:-buildingai-api} | grep -q 'online' || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 600s

networks:
  buildingai-network:
    driver: bridge

以上代码需要修改的地方还是端口那里,如果本地不冲突就不要改!

🔺接着就可以正式部署了,点击极空间NAS的“Docker”应用,点击【Compose】 > 【新增项目】。

🔺在“创建项目”页面自定义项目名称,“存储位置”需要手动选择我们前面新建的“buildingai”文件夹,添加方式选择“从本地导入”。

🔺然后勾选“buildingai”文件夹内的“docker-compose.yml”文件,确定。

🔺然后在勾选下面的“添加.env”,同样选择“从本地导入”。

🔺勾选“buildingai”文件夹内的“.env”文件,确定。

🔺最后勾选下方的“所有合规文件夹添加最大读写权限”,点击“创建”按钮就可以了。

🔺它这里会有一个提示,选择“覆盖”即可。

🔺项目创建之后会有3个Docker容器运行,其中“buildingai-nodejs”是项目主程序。首次启动需要拉取依赖和建立数据库,所以启动的时间略长。

🔺等到3个Docker容器全部显示“正常”,就说明项目搭建成功,可以使用了。

BuildingAI体验

🔺本地打开方式没啥特别,依然是浏览器地址栏输入“IP:端口号”即可打开,首次使用需要简单的初始化,直接点“开始安装”即可。

🔺先来创建一个管理员账号,自定义需要的用户名和密码。

🔺然后自定义网站的名称,Logo和图标,就完成了基本的初始化配置。

🔺初始化完成会提示我们“访问前台”还是“前往工作台”。

🔺我们先来看看前台,可以看到它前台其实和我们常见的AI智能体框架没什么区别,主要就是通过右侧的聊天窗口来进行交互。因为目前它还只是一个空的框架,没有AI大模型可以选用,所以还不能正常使用。这个时候我们需要通过点击左下角的“工作台”切换到后台。

🔺然后工作台后台的功能就非常丰富了!从大模型的配置,到秘钥的管理全都一应俱全。

🔺比如说它的“模型厂商”里,基本上咱们熟知常见的国内外大模型服务商都可以在这直接配置,就算没有的我们也可以自定义配置。

🔺这里直接以大家熟知的DeepSeeK为例,基本上只需要绑定设置好的秘钥,然后设置下模型类型,这个模型就配置好了。

🔺当然,秘钥也是有现成的模版可以直接使用。

🔺只要在后台配置好模型,前台就可以直接使用了!可以看到现在的这个可是我私人专属AI助手啊~!

🔺其它的就是一些上线之后的商业化管理方面的设置,比如营销设置,会员管理,订单相关等。项目的官网对于它这里后台的每一项设置都有详细的说明和教程,感兴趣的建议还是去官网观摩,我这里就不啰嗦了~

最后

因为资质有限,我个人目前应该是用不上这个项目了!不过有想法的AI大佬们倒是可以尝试一下,不管怎么说,这么一套现成可商业化的 AI 应用系统,可以让你在NAS上几乎零成本就能运营自己的“AI 小公司”,对于想试水副业、推广产品、搞点小创新的用户来说,都算是一个不错的选择。

目前极空间的各大NAS产品优惠继续,同时极空间部分产品还可享受白条3期或6期免息政策,180天内出现质量问题只换不修,2年官方质保。喜欢的小伙伴不要犹豫赶快入手吧,早买早享受~

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐