メインコンテンツまでスキップ
原文链接https://novusai-saas.github.io/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 文档

章节来源