Skip to content

项目简介 ​

概述 ​

MARS AI Studio是一套面向企业的全栈AI应用开发平台,在常规后台管理框架之上,原生集成了 AI 能力与 BPM 工作流引擎。项目以"单体仓库(Monorepo)+ 前后端分离"的形态组织,目标是在同一个平台内打通系统管理、基础设施、人工智能(智能问答、RAG、AI工作流和智能体编排)、BPM工作流程等各子系统。

技术选型 ​

后端技术栈 ​

后端以 Python 3.12+ 为基线,采用 FastAPI 异步框架 + SQLAlchemy 2.0 ORM,并通过一组自研 framework 封装把第三方依赖收敛为统一能力。

  • 语言/框架:Python 3.12、FastAPI、Pydantic / Pydantic-Settings
  • ORM/数据库:SQLAlchemy 2.0(异步),支持 MySQL(asyncmy) 与 PostgreSQL(asyncpg)
  • 缓存/队列:Redis、ARQ 异步任务队列、APScheduler 定时任务
  • AI 框架:LlamaIndex(RAG 主力)、LangChain、OpenAI SDK
  • 文档解析:pdf/word/ppt/html 解析、tiktoken、BM25 检索
  • 向量数据库:开发态 Chroma,生产可切换 Milvus / PGVector / Qdrant
  • 其他:JWT、fastapi-limiter 限流、WeasyPrint(HTML→PDF)、阿里云/腾讯云短信、SMTP 邮件

后端技术栈明细:

领域选型说明
编程语言Python 3.12(<3.14)优先使用新语法特性
Web 框架FastAPI 0.141 + Uvicorn异步 ASGI,自动生成 OpenAPI 文档
数据建模Pydantic v2 / pydantic-settings请求校验与配置管理
ORMSQLAlchemy 2.0异步驱动:asyncmy(MySQL)、asyncpg(PostgreSQL)
数据库迁移Alembic版本化表结构变更
缓存Redis(同步/异步)缓存、限流、任务队列后端
认证授权PyJWTJWT / OAuth2 会话体系
限流fastapi-limiter + pyrate-limiter接口级限流
定时任务APScheduler周期性任务
任务队列arq基于 Redis 的异步任务队列
日志Loguru结构化日志
文件存储aiobotocore(S3 协议)对象存储,支持本地/云
短信阿里云 / 腾讯云 SDK多通道短信
邮件fastapi-mailSMTP 邮件发送
文档处理openpyxl / weasyprint / pandasExcel、PDF、数据处理
AI 框架LlamaIndex / LangChain / LangGraphRAG 编排与大模型调用
向量数据库Chroma(开发)Milvus、PGVector、Qdrant(生产)
嵌入与重排Ollama / XInference / SiliconFlow可插拔嵌入与重排模型
文档解析pypdf / python-docx / python-pptx / BeautifulSoup多格式入库解析
命令行Typer启停、迁移等管理命令

前端技术栈 ​

前端基于 Vben Admin(Vue 3 中后台最佳实践),采用 pnpm + Turborepo 的 Monorepo 工程化方案,统一了编码规范、组件资产与构建流程。

  • 核心:Vue 3、Vite、TypeScript、Pinia、Vue Router
  • UI:Vben Admin 5.x、Element Plus、Tailwind CSS
  • 可视化/工作流:bpmn-js(BPMN 流程设计)、dhtmlx-gantt、ECharts、视频播放、签名/截图等

前端技术栈明细:

领域选型说明
框架Vue 3 + Vite 8 + TypeScript 6组合式 API,<script setup>
工程化pnpm 11 + TurborepoMonorepo 多包管理与并行构建
样式Tailwind CSS 4原子化 CSS,配套 stylelint
状态管理Pinia 3模块化 store(access/user/auth…)
路由Vue Router 5后端菜单驱动的可访问路由
UI 组件Element Plus / Ant Design Vue / Naive UI多 UI 库共存,优先 Vben 公共组件
表单设计@form-create / @tinyflow-ai/vue表单与流程设计器
流程设计bpmn-jsBPMN 流程建模
图表ECharts 6监控与数据可视化
请求axios + 适配层响应归一化与拦截器
校验zod / vee-validate表单与运行时校验
国际化vue-i18n 11多语言切换
代码规范oxlint / oxfmt / ESLint / stylelint / lefthook提交与保存钩子校验
测试Vitest / Playwright单元与端到端测试

各子系统定位 ​

系统管理(module_system) ​

企业后台基础能力:

  • 认证授权:登录、验证码、RBAC(用户/角色/菜单/权限/部门/岗位)、OAuth2、社交登录
  • 字典、通知公告、站内消息与消息模板
  • 短信(阿里云/腾讯云等通道、模板、日志、回调)、邮件(账户/模板/日志)
  • 日志:登录日志、操作日志

基础设施(module_infra) ​

运维与平台支撑能力:

  • 参数配置、文件管理(含文件配置)
  • 定时任务(Job + JobLog,基于 APScheduler)
  • 在线用户、Redis 监控、服务器监控、健康检查
  • WebSocket 实时通道(可全局开关)

AI 大模型(module_ai) ​

企业级 AI 能力载体:

  • 对话:多轮会话(会话/消息)、AI 写作(write)
  • 模型管理:API Key 管理、聊天角色(Prompt 预设)、模型注册、工具(Tool)接入
  • 知识库(RAG):知识库、文档、分段(Segment)、索引构建任务(Task),优先使用 LlamaIndex 原生能力,减少重复造轮子。开发环境默认使用 Chroma 向量库,生产可切换至 Milvus 等。
  • AI 框架层:LLM 接入、Embedding、文档加载/切片、检索(含 BM25 混合检索)、重排序(Rerank)、向量库适配、联网搜索、异步任务队列

BPM工作流程(module_bpm) ​

自研钉钉飞书风格工作流引擎,覆盖流程设计到流转的全生命周期:

  • 流程建模(Model)、流程定义(Definition)、流程实例(Instance)、任务(Task)
  • 表单(Form)、用户组(UserGroup)、分类(Category)、评论(Comment)
  • 流程表达式(Expression)、流程监听器(Listener,含 HTTP 监听器)
  • 引擎支撑:engine 驱动、condition 条件分支、candidate 候选人解析、child_process 子流程、trigger/timeout 触发与超时、notifier 通知
  • 示例业务:OA 请假(oa_leave)

致谢 ​

感谢开源社区及其贡献者提供的坚实基础:

  • Web 开发框架:FastAPI、SQLAlchemy、Vue 3、Vben Admin、RuoYi
  • AI 与大模型生态:LangChain 、LangGraph、LlamaIndex、Milvus