
Aix-DB
一句话问数据,自动出图出结论
Aix-DB 是一个基于 LangChain/LangGraph 与 MCP Skills 多智能体协作架构的开源数据分析工具,目标是把自然语言问题直接转化为数据洞察。用户用日常语言提问,系统自动完成意图理解、数据查询、分析与可视化,省去写 SQL、拼图表、跨工具切换的繁琐流程。它整合了 DeepSeek-R1、Qwen 等大模型,支持 Neo4j 图数据库、ECharts 可视化,并兼容 Dify、LlamaIndex 等生态,覆盖从数据接入到结果呈现的完整链路。核心能力包括多智能体任务拆解、MCP 技能调度、自然语言转查询、自动生成图表与洞察报告,适合需要快速探索数据但不想深陷技术细节的团队。项目以 JavaScript 为主,星标约 2200,处于成长阶段。
项目数据
使用教程
环境要求
- 已安装 Docker(使用镜像一键部署)
- 使用 Compose 方式需安装 docker-compose 并具备 git
- 本地开发前端需安装 Node.js 与 npm
- 本地运行 serv.py 需 Python 环境,Windows 建议用 PowerShell
安装与启动步骤
-
1获取项目代码
克隆仓库到本地,Compose 部署必须基于仓库内的 docker 目录进行。
git clone https://github.com/apconw/Aix-DB.git -
2准备环境变量
进入 docker 目录,把环境变量模板复制为 .env,再按需修改,推荐开启 VITE_ENABLE_PAGE_AGENT=true。
cd Aix-DB/docker cp .env.template .env -
3Compose 一键启动
在 docker 目录执行,以后台方式拉起数据库、MinIO、后端与前端等全部服务。
docker-compose up -d -
4或用 docker run 部署
不克隆仓库时可直接运行官方镜像,需按需调整端口映射与挂载目录。
docker run -d --name aix-db --restart unless-stopped -e TZ=Asia/Shanghai -e SERVER_HOST=0.0.0.0 -e SERVER_PORT=8088 -e SERVER_WORKERS=2 -e LANGFUSE_TRACING_ENABLED=false -e LANGFUSE_SECRET_KEY= -e LANGFUSE_PUBLIC_KEY= -e LANGFUSE_BASE_URL= -e VITE_ENABLE_PAGE_AGENT=false -e LLM_MAX_TOKENS=65536 -p 18080:80 -p 18088:8088 -p 15432:5432 -p 9000:9000 -p 9001:9001 -v ./volume/pg_data:/var/lib/postgresql/data -v ./volume/minio/data:/data -v ./volume/logs/supervisor:/var/log/supervisor -v ./volume/logs/nginx:/var/log/nginx -v ./volume/logs/aix-db:/var/log/aix-db -v ./volume/logs/minio:/var/log/minio -v ./volume/logs/postgresql:/var/log/postgresql --add-host host.docker.internal:host-gateway crpi-7xkxsdc0iki61l0q.cn-hangzhou.personal.cr.aliyuncs.com/apconw/aix-db:1.2.4 -
5本地启动后端
进入后端目录后运行 serv.py;Windows 建议先设置 UTF-8 环境变量以增强字符兼容性。
$env:PYTHONUTF8=1; python serv.py -
6启动前端开发服务
另开一个终端,进入 web 目录安装依赖并运行开发服务器。
cd web npm install npm run dev -
7安装命令行工具
可选,全局安装 Aix-DB 官方 CLI,便于在终端中调用。
npm install -g @apconw/aix-db-cli
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
TZ | 否 | 容器时区设置 | Asia/Shanghai |
SERVER_HOST | 否 | 后端服务监听地址 | 0.0.0.0 |
SERVER_PORT | 否 | 后端服务监听端口 | 8088 |
SERVER_WORKERS | 否 | 后端工作进程数量 | 2 |
LLM_MAX_TOKENS | 否 | 大模型单次最大输出 token 数 | 65536 |
VITE_ENABLE_PAGE_AGENT | 否 | 是否开启页面 Agent 功能 | true |
如何确认成功
容器启动后访问 http://localhost:18080 可打开前端页面,后端 API 对应映射端口 18088。
常见问题
Q:Docker 和 Compose 两种方式该选哪个?
A:README 推荐 Docker 部署,直接 docker run 官方镜像即可;需要改环境变量或本地留存数据时,用 Compose 方式更灵活。
Q:前端页面打不开怎么排查?
A:确认容器已运行且端口未被占用:默认前端映射 18080、后端 18088,如冲突请修改 -p 参数后重新启动。
Q:Windows 下运行 serv.py 报编码错误?
A:先执行 $env:PYTHONUTF8=1 再运行 python serv.py,可解决部分机器的字符兼容性问题。
Q:数据会不会随容器删除而丢失?
A:docker run 命令已把 pg_data、minio/data 与各类日志目录挂载到宿主机 ./volume,只要保留这些目录数据即可留存。
注意事项
- docker run 方式使用了 ./-v 相对路径挂载,请在固定目录下执行以免数据分散。
- Langfuse 相关变量默认留空并关闭追踪,如需接入请自行填写密钥与地址。
- 生产环境请修改默认端口与账号配置,不要直接暴露数据库端口 15432。
核心亮点
- 多智能体+MCP Skills 架构,能把复杂分析任务拆解调度,不是单轮问答
- 打通自然语言到 ECharts 可视化与洞察报告的端到端链路,减少手工拼 SQL 和图表
- 兼容 DeepSeek-R1、Qwen、Dify、LlamaIndex、Neo4j 等主流模型与生态,接入灵活
不足之处
- 项目处于成长阶段,文档完整度与社区案例仍在积累
- 多智能体与多模型依赖较重,部署和调试门槛对新手偏高
适用场景
- 业务人员用自然语言查询数据库并直接得到图表结论
- 数据分析师快速探索 Neo4j 图数据关系并生成洞察
- 团队在 Dify/LangChain 生态中嵌入自动数据分析能力
替代项目
WrenAI、DB-GPT
项目介绍
同类项目推荐
firecrawl
开源
网页抓取像喝水一样简单,开发者省下整周加班
The web data API to search, scrape, and interact at scale.
contoso-chat
开源
一键跑通 Azure RAG 应用,从代码到评估部署全流程
This sample has the full End2End process of creating RAG application with Prompty an···
graphify
开源
整个代码库画成一张图,找问题一眼定位
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···
qiaomu-youtube-ai-podcast
开源
一站式索引AI播客,快速找到有文字稿和总结的节目
AI 播客索引:整理 AI 播客、中文简介、Transcript 状态和总结入口 | Curated AI podcast ···