Files
DataClaw/README.md
T

150 lines
5.1 KiB
Markdown
Raw Normal View History

2026-05-13 16:43:53 +08:00
## 项目简介
2026-03-14 15:44:48 +08:00
2026-05-13 16:43:53 +08:00
<video src="../../Videos/Captures/全源灵动_30mb.mp4"></video>
2026-03-14 15:44:48 +08:00
2026-05-13 16:43:53 +08:00
### 项目概述
2026-03-14 15:44:48 +08:00
2026-05-13 16:43:53 +08:00
**全源灵动**是一个面向数据分析与知识检索场景的 AI 平台:用自然语言问数、自动生成图表与报告,并管理分析产物,帮助团队更快得到可验证、可复用的结论。
2026-03-14 15:44:48 +08:00
2026-05-13 16:43:53 +08:00
### 项目起源
2026-03-14 15:44:48 +08:00
2026-05-13 16:43:53 +08:00
数据分散在不同系统与文件中时,手写 SQL、手工出图、反复同步口径的成本高且难复用。全源灵动将“提问 → 查询 → 可视化 → 产出”串联为一条可复用的分析链路。
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
### 项目定位
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
- 目标用户:业务/数据分析、运营、产品、研发等需要自助分析与报告产出的角色
- 适用场景:NL2SQL 问数、知识库检索增强、自动图表与报告产出、任务委派与跟踪(A2A)
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
### 核心价值
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
- 更快:把“写 SQL / 查资料 / 出图”合并为一次对话驱动的分析流程
- 更稳:对关键结果提供可回溯的查询与产物(Artifact)
- 更灵活:支持多数据源与可配置的模型接入
2026-03-22 17:42:10 +08:00
2026-05-13 16:43:53 +08:00
## 整体架构与技术栈
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
### 系统架构图
2026-03-21 22:44:41 +08:00
2026-04-18 22:21:04 +08:00
```mermaid
graph TD
2026-05-13 16:43:53 +08:00
User([用户/浏览器]) -->|HTTP| WebUI[前端 WebUI]
WebUI -->|REST/SSE| API[后端 API]
API -->|读写| Data[(DATA_ROOT)]
API -->|连接/查询| DB[(数据源)]
API -->|调用| LLM([外部 LLM])
2026-03-31 21:06:13 +08:00
```
2026-05-13 16:43:53 +08:00
### 技术栈分类
2026-03-31 21:06:13 +08:00
2026-05-13 16:43:53 +08:00
- 后端:FastAPIPython 3.11+
- 前端:React 19 + Vite + TailwindCSS + Zustand
- 数据库:
- 业务元数据/会话:SQLite(默认落在 `DATA_ROOT`
- 数据分析数据源:PostgreSQL / ClickHouse / 上传文件(CSV/Excel 等)
- 部署:Docker Compose(推荐)
2026-03-31 21:06:13 +08:00
2026-05-13 16:43:53 +08:00
## 项目目录概览
2026-03-31 21:06:13 +08:00
2026-05-13 16:43:53 +08:00
```text
.
├── dataclaw-api/ # 后端 FastAPI(API 网关、会话与数据源管理、Agent 能力)
├── dataclaw-ui/ # 前端 React + ViteNginx 生产静态托管)
├── agent-core/ # Agent 核心(nanobot
├── dataclaw-voice/ # Whisper 语音服务(可选)
├── data/ # 运行时数据目录(可挂载为 DATA_ROOT)
└── docker-compose.yml # 一键启动
2026-03-14 15:44:48 +08:00
```
2026-05-13 16:43:53 +08:00
## 核心业务功能
2026-03-27 15:59:23 +08:00
2026-05-13 16:43:53 +08:00
- **自然语言转 SQL**:理解数据表结构,生成/修正 SQL 并执行查询
- **知识库检索(RAG)**:上传多种格式文档,向量检索增强问答
- **即时可视化**:根据数据特征生成交互式图表
- **动态多数据源**PostgreSQL / Supabase / 本地文件上传解析等
- **模型配置**:支持接入 OpenAI 兼容接口的外部模型服务
- **产物管理(Artifact)**:自动提取与管理报告/图片/PDF/PPT 等结果文件
- **A2A 任务委派与跟踪**:把任务委派到远端 Agent,并可订阅状态与产物
2026-03-27 15:59:23 +08:00
2026-05-13 16:43:53 +08:00
## 实际应用场景示例
2026-03-27 15:59:23 +08:00
2026-05-13 16:43:53 +08:00
1. **运营日报/周报**:提问“近 7 天新增用户趋势与转化漏斗”,自动生成图表与报告
2. **产品指标分析**:对留存、转化、渠道贡献等指标进行归因分析,并固化仪表盘
3. **知识库问答**:上传制度/方案/投标文件等,自动总结与检索引用
2026-03-31 21:06:13 +08:00
2026-05-13 16:43:53 +08:00
## 帮助解决的核心问题
2026-03-31 21:06:13 +08:00
2026-05-13 16:43:53 +08:00
- SQL 门槛高、分析链路长、结果难复用
- 多数据源/多口径带来的协作成本高
- 报告产出与分享效率低
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
## 快速开始
2026-03-14 15:44:48 +08:00
2026-05-13 16:43:53 +08:00
### 环境要求
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
- Docker Desktop(推荐)
- (本地开发模式可选)Python 3.11+、Node.js 20+
2026-03-22 19:30:41 +08:00
2026-05-13 16:43:53 +08:00
### 安装步骤
2026-03-28 20:47:57 +08:00
2026-05-13 16:43:53 +08:00
在项目根目录复制环境配置模板:
2026-03-28 20:47:57 +08:00
```bash
2026-05-13 16:43:53 +08:00
cp .env.example .env
2026-04-01 11:21:55 +08:00
```
2026-05-13 16:43:53 +08:00
### 运行步骤(Docker 全量启动)
2026-04-01 11:21:55 +08:00
```bash
2026-05-13 16:43:53 +08:00
docker compose up -d --build
2026-04-01 11:21:55 +08:00
```
2026-05-13 16:43:53 +08:00
访问地址:
- 前端:`http://localhost:10002/`
- 后端(直连):`http://localhost:10001/docs`
2026-04-01 11:21:55 +08:00
2026-05-13 16:43:53 +08:00
运行时数据目录:
- 默认挂载 `./data` 到容器内 `/app/data`(对应 `DATA_ROOT=/app/data`),用于存放上传文件、会话与配置等。
2026-04-01 11:21:55 +08:00
2026-05-13 16:43:53 +08:00
### 默认账号
2026-04-01 11:21:55 +08:00
2026-05-13 16:43:53 +08:00
系统首次注册的用户将自动成为管理员(示例:用户名 `admin`,密码 `admin`)。
2026-04-01 11:21:55 +08:00
2026-05-13 16:43:53 +08:00
### 常见问题
2026-04-01 11:21:55 +08:00
2026-05-13 16:43:53 +08:00
- **后端构建失败(APT 连接失败)**:可使用国内镜像构建:
2026-04-01 11:21:55 +08:00
```bash
2026-05-13 16:43:53 +08:00
APT_CN_MIRROR=true docker compose build
2026-04-01 11:21:55 +08:00
```
2026-05-13 16:43:53 +08:00
- **接口返回 401**:需要先登录并携带 `Authorization: Bearer <token>`
- **接口返回 422**:请求体不符合后端 schema(例如 A2A `message:send` 需要 `message.parts[0].data.project_id`
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
## 运行示例截图
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161644464](images/image-20260513161644464.png)
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161419895](images/image-20260513161419895.png)
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161428375](images/image-20260513161428375.png)
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161445508](images/image-20260513161445508.png)
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513162417349](images/image-20260513162417349.png)
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161532777](images/image-20260513161532777.png)
2026-03-22 13:18:48 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161554077](images/image-20260513161554077.png)
2026-03-21 22:44:41 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161558547](images/image-20260513161558547.png)
2026-03-21 23:42:41 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161604618](images/image-20260513161604618.png)
2026-03-21 23:42:41 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161610084](images/image-20260513161610084.png)
2026-03-21 23:42:41 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161616405](images/image-20260513161616405.png)
2026-03-21 23:42:41 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161621292](images/image-20260513161621292.png)
2026-03-21 23:42:41 +08:00
2026-05-13 16:43:53 +08:00
![image-20260513161626519](images/image-20260513161626519.png)