# DataAnalysis-Agent **Repository Path**: elfbobo_admin_admin/data-analysis-agent ## Basic Information - **Project Name**: DataAnalysis-Agent - **Description**: 数据分析智能体 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-24 - **Last Updated**: 2026-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DataAnalysis-Agent 对话式数据分析智能体。当前仓库已经拆成清晰的前后端结构: - `frontend/`: React + TanStack 前端 - `backend/`: FastAPI + OpenAI SDK + 真实统计 skill - `skills/`: 现有 skill 资料与参考实现 ![](resources/app.png) ## 当前架构 ![](resources/structre.png) - 数据存储: 数据集保存在浏览器 `IndexedDB`,会话保存在 `localStorage` - 数据传输: 用户发起分析时,前端把当前 CSV 文本发送给本地 Python 后端 - LLM 编排: 后端通过 OpenAI Compatible 接口做问题理解、skill 规划、结果总结 - Skill 执行: 后端当前已真实实现 8 个核心 skill 已实现的真实 skill: - `mean` - `median` - `variance` - `iqr` - `correlation` - `linear-regression` - `t-test` - `normal-distribution` ## 目录结构 ```text data-analysis-agent/ ├── backend/ │ ├── app/ │ ├── .env │ ├── .env.example │ └── requirements.txt ├── frontend/ │ ├── src/ │ ├── .env.example │ └── package.json └── skills/ ``` ## 快速启动 ### 1. 启动后端 ```bash cd backend python -m uvicorn app.main:app --reload --port 8000 ``` 后端默认读取: - `backend/.env` - `OPENAI_API_KEY` - `OPENAI_MODEL` - `OPENAI_BASE_URL` ### 2. 启动前端 ```bash cd frontend npm install npm run dev ``` 前端默认读取: - `frontend/.env` - `VITE_API_BASE_URL=http://127.0.0.1:8000` ## 联调流程 1. 在前端页面上传 CSV 2. 前端解析 CSV,推断列类型,并保存到浏览器 3. 用户输入自然语言问题 4. 前端调用 `POST /api/analyze` 5. 后端用 LLM 规划 skill 调用顺序 6. 后端执行真实统计 skill,返回统一结果结构 7. 前端渲染 planning、skill 卡片、指标、表格和图表 ## 常用命令 在仓库根目录执行: ```bash make dev-frontend make dev-backend make build-frontend ``` 如果本机没有 `make`,也可以直接进入各自目录执行原始命令。 ## API 后端当前暴露: - `GET /health` - `POST /api/analyze` ## 说明 - 当前后端是无状态设计,不落库 - CSV 默认不长期上传服务器,只在本次分析请求里发送到本地后端 - 现在已经适合继续扩展剩余 mock skill 为真实实现