AgentOS Data Intelligence 是一个面向企业知识与数据分析场景的 AI Agent 平台示例项目。项目包含知识库 RAG、智能问数 Text2SQL、Wiki 知识管理、文件处理管道、权限治理、模型配置和统一智能问答入口。
这个仓库是开源整理版,不包含真实密钥、本地依赖、构建产物、本地模型文件、上传文件或运行缓存。
截图文件位于仓库的
images/目录,GitHub 会自动渲染以下相对路径图片。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- 统一智能问答:根据问题自动判断是否需要 RAG、Wiki、Text2SQL 或普通对话能力。
- RAG 知识库:支持文件上传、解析、切片、向量化、混合检索、重排序和引用来源展示。
- 智能问数:支持数据源配置、只读 SQL 生成、结果表格展示、图表展示和查询历史。
- Wiki 知识:支持结构化知识条目、富文本维护、版本管理和语义检索。
- 权限体系:支持菜单权限、知识库权限、数据源权限、Wiki 权限和管理员账号。
- 模型配置:支持 OpenAI 兼容接口、Qwen、Ollama 等模型配置,LLM 和 Embedding 可分开配置。
- 首页工作台:展示知识库、文件、对话、数据库、任务状态和最近动态。
- 后端:FastAPI、SQLAlchemy、Alembic、Pydantic Settings
- 数据库:PostgreSQL + pgvector
- 缓存:Redis
- 文件对象存储:MinIO
- 前端:Vue 3、Vite、Element Plus、ECharts
- 模型接口:OpenAI-compatible API、Qwen、Ollama
.
├── python_project_back/ # FastAPI 后端
├── python_project_front/ # Vue 3 前端
├── docs/ # 开源文档
├── AI-Agent系统重构技术方案-整理版.md
├── 系统完整测试文档.md
├── .gitignore
├── LICENSE
└── README.md
cd python_project_back
Copy-Item .env.example .env
pip install -r requirements.txt
python scripts/init_db.py
python main.py说明:开源版从零建库建议先执行 python scripts/init_db.py,它会根据 ORM 模型创建当前完整表结构。alembic/versions 目录保留了项目演进过程中的增量迁移,后续二次开发新增字段时再使用 Alembic 管理。
数据库表结构说明见:docs/database_schema.md。
默认后端地址:
http://localhost:8000
接口文档:
http://localhost:8000/docs
cd python_project_front
npm install
npm run dev默认前端开发服务会通过 Vite 代理把 /api 转发到:
http://localhost:8000
后端使用 python_project_back/.env.example 作为配置模板。开源版不会提供真实密钥。首次运行时请复制为 .env 后自行填写:
DB_HOST / DB_PORT / DB_USER / DB_PASSWORD / DB_NAME
REDIS_HOST / REDIS_PORT / REDIS_PASSWORD
MINIO_ENDPOINT / MINIO_ACCESS_KEY / MINIO_SECRET_KEY
QWEN_API_KEY
LLM_PROVIDER / LLM_MODEL / LLM_API_KEY / LLM_BASE_URL
EMBEDDING_PROVIDER / EMBEDDING_MODEL / EMBEDDING_API_KEY / EMBEDDING_BASE_URL
JWT_SECRET_KEY
如果使用本地 Ollama,可以参考 .env.example 中的默认配置:
LLM_PROVIDER=ollama
LLM_BASE_URL=http://localhost:11434/v1
EMBEDDING_PROVIDER=ollama
EMBEDDING_BASE_URL=http://localhost:11434/v1
- 请不要把
.env、真实 API Key、数据库密码、MinIO 密钥提交到仓库。 - Text2SQL 结果来自模型生成,生产环境必须保留只读 SQL、行数限制、危险语句拦截和审计日志。
- 文件上传和解析应限制文件类型、文件大小和解析超时。
- RAG 权限隔离目前主要是应用层权限隔离:检索前按用户权限计算可访问知识库,再按知识库范围过滤文档切片。
发布前建议执行:
rg -n "sk-|API_KEY|SECRET|PASSWORD|JWT_SECRET|MINIO_SECRET" .确认没有真实密钥后再提交到公开仓库。
MIT










