メインコンテンツまでスキップ
原文链接https://nvuai.cc/ja/ja/docs/quick-start.md

快速开始

本文引用的源码与文档

目录​

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖分析
  7. 性能考虑
  8. 故障排除指南
  9. 结论
  10. 附录

简介​

本指南面向首次接触 NovusAI SaaS 的开发者与运维人员,帮助你在最短时间内完成环境准备、依赖安装、配置设置与首次运行。文档同时覆盖 Docker 本地开发与生产部署两种路径,并提供常见问题排查与最佳实践建议。

项目结构​

仓库采用前后端分离与多模块组织方式:

  • backend:FastAPI 后端、数据库迁移、插件运行时、测试与 CLI
  • frontend:Vue3 前端 Monorepo,包含主应用与共享包
  • docker-compose.dev.yml:本地开发依赖服务(PostgreSQL、Redis)
  • docker-compose.prod.yml:生产编排参考(含后端 API、Worker、Beat、前端静态服务等)

图表来源

章节来源

核心组件​

  • 后端运行时:FastAPI 应用,内置中间件、异常处理、权限与国际化、插件系统、异步任务与实时通信等
  • 数据库与缓存:PostgreSQL(含 pgvector 扩展镜像)、Redis
  • 前端:Vue3 + Vite + pnpm,提供 Ant Design Vue 风格的 Web 应用
  • 工程化:Ruff、MyPy、ESLint、Prettier、Vitest、Turbo 等工具链
  • 部署:Docker 与 Docker Compose,提供开发与生产参考编排

章节来源

架构总览​

下图展示从浏览器到后端、数据库与缓存的整体交互关系,以及 AI 运行链路与插件系统的位置。

图表来源

详细组件分析​

本地开发环境准备​

  • 环境要求
    • Python 3.10+、Node.js 20.19+、pnpm 10+、PostgreSQL、Redis、Docker 与 Docker Compose
  • 启动依赖服务
    • 在仓库根目录启动本地 PostgreSQL 与 Redis
  • 启动后端
    • 创建虚拟环境、安装开发依赖、复制示例环境变量、执行数据库迁移、启动后端服务
    • 另起终端启动 Celery worker
  • 启动前端
    • 在 frontend 目录安装依赖并启动开发服务器

章节来源

Docker 本地开发编排​

  • 使用 docker-compose.dev.yml 启动本地依赖服务
    • PostgreSQL:映射 5432 端口,持久化数据卷
    • Redis:映射 6379 端口,持久化数据卷
  • 健康检查:容器启动后通过健康检查确认可用

章节来源

生产部署编排参考​

  • docker-compose.prod.yml 提供生产参考编排
    • 后端 API、Worker、Beat、前端静态服务分别以独立服务运行
    • 通过环境变量注入数据库与 Redis 凭据
    • 提供健康检查与重启策略
    • 使用独立数据卷挂载存储与日志

章节来源

后端应用启动流程与中间件​

  • 应用生命周期与启动阶段
    • 日志初始化、翻译缓存刷新
    • 数据库初始化或连接性检查(生产环境由迁移服务先行执行)
    • Redis 初始化(早期用于分布式锁)
    • 权限与配置同步(分布式锁保护)
    • WebSocket 平台配置应用、通知模板种子数据
    • Celery Broker 连通性检查
    • 插件自动发现与恢复(分布式锁保护,避免多 Worker 并发迁移)
    • 存储驱动可用性检查
  • 就绪探针 /ready:校验数据库与 Redis 连通性
  • 文档接口:在调试模式下开放 Swagger UI、ReDoc、OpenAPI JSON

图表来源

章节来源

数据库迁移与 Alembic​

  • Alembic 配置
    • 版本位置包含主应用与部分内置插件迁移目录
    • 默认数据库 URL 可被代码覆盖
  • 迁移执行
    • 开发环境可通过 CLI 执行升级至最新版本
    • 生产环境由专用迁移服务在 API 启动前完成

章节来源

环境变量与配置​

  • 后端环境变量
    • 位于 backend/.env.example → backend/.env,包含数据库、Redis、JWT、日志、Celery、AI Provider、存储等配置
    • 生产环境变量示例文件 production.env.example,复制为 production.env 后按部署环境修改
  • 前端环境变量
    • frontend/apps/web-antd/.env.development:API 地址、开发端口、平台域名等
    • frontend/apps/web-antd/.env.local:Vite 本地覆盖配置(可按需创建)
  • 环境变量解析与校验
    • 技能/适配器侧可解析 .env.example 生成 JSON Schema,用于界面化配置与必填字段提示

章节来源

开发工具与测试​

  • 后端常用命令
    • pytest、Ruff 检查与格式化
  • 前端常用命令
    • ESLint、Prettier、TypeScript 检查、单元测试、构建

章节来源

Docker 镜像与多阶段构建​

  • 多阶段构建
    • builder 阶段安装构建依赖与应用代码
    • runtime 阶段仅包含运行时依赖与最小化用户
  • 运行时镜像暴露端口 8000,提供健康检查
  • 提供 API、Worker、Beat 三种镜像变体

章节来源

依赖分析​

  • 后端依赖
    • Web 框架:FastAPI、Uvicorn
    • 数据库:SQLAlchemy、Asyncpg、Alembic、psycopg2
    • 缓存:Redis
    • 异步任务:Celery
    • 数据验证:Pydantic、Pydantic Settings
    • 认证:Python-Jose、bcrypt
    • HTTP 客户端:HTTPX、Requests
    • 存储:boto3、oss2
    • AI:OpenAI、SQLParse
    • RAG/知识库:pgvector、PDF/文档解析库
    • 实时通信:python-socketio
    • 日志与监控:loguru、prometheus-client
    • 模板:Jinja2
    • 图像处理:Pillow
    • 工具:filelock、python-dotenv、orjson、captcha、dnspython、PyYAML
  • 前端依赖
    • Vue3、TypeScript、Vben Admin、Ant Design Vue、Vite、pnpm、vue-i18n
    • 工程化:ESLint、Prettier、Stylelint、Vitest、Turbo

章节来源

性能考虑​

  • 使用多阶段 Docker 构建减少运行时体积
  • 生产环境使用独立 Redis 与 PostgreSQL,避免单点瓶颈
  • 后端 API、Worker、Beat 分离部署,便于水平扩展
  • 启动阶段使用分布式锁避免并发冲突(权限、配置、插件发现与恢复)
  • Prometheus 指标中间件与就绪探针提升可观测性与调度稳定性

故障排除指南​

  • 数据库连接失败
    • 确认 docker-compose.dev.yml 中 PostgreSQL 容器已健康运行
    • 检查后端数据库连接参数与凭据
  • Redis 连接失败
    • 确认 Redis 容器健康,检查密码与网络连通
  • 迁移失败或未执行
    • 开发环境:执行数据库迁移命令
    • 生产环境:确认迁移服务已成功完成
  • 启动阶段报错(如密钥弱或缺失)
    • 生产环境必须替换默认密钥,否则启动会直接失败
  • 插件启动失败
    • 查看日志中插件发现与恢复阶段的错误信息,确认 Redis 可用与分布式锁状态
  • 前端无法访问后端接口
    • 检查前端 .env.development 中的 API 地址与端口配置

章节来源

结论​

通过本指南,你可以在本地快速拉起 NovusAI SaaS 的完整开发环境,并理解生产部署的关键要点。建议在首次运行后,逐步完善环境变量、数据库初始化与插件配置,再进行功能验证与性能优化。

附录​

  • 常用命令速查
    • 启动本地依赖服务:docker compose -f docker-compose.dev.yml up -d
    • 后端安装与运行:cd backend && 虚拟环境激活 && uv sync --extra dev && cp .env.example .env && novusai db upgrade head && novusai run --reload
    • Celery Worker:cd backend && 虚拟环境激活 && novusai celery dev
    • 前端安装与运行:cd frontend && pnpm install && pnpm dev:antd
  • API 文档

章节来源