针对想进行二次开发(Secondary Development)的需求,选择开源项目时需要重点考察代码的模块化程度RAG(检索增强生成)与SQL生成的结合机制、以及对私有化部署的支持

以下是目前GitHub上最活跃、质量最高,且适合作为数据分析/智能问数(Text-to-SQL / Code Interpreter)基座的开源项目推荐:

第一类:综合型数据智能体平台 (Full-Stack Data Agents)

这类项目提供了从前端UI到后端LLM调度的完整架构,适合作为企业级应用的基座。

1. DB-GPT
  • 特点:目前国内最成熟的开源数据智能项目之一。它不仅仅是Text-to-SQL,还是一个完整的RAG框架。
  • 核心优势
    • 私有化优先:原生支持私有模型(如Qwen, Llama, ChatGLM)的部署和微调。
    • 多模态能力:支持Text-to-SQL(查库)、Text-to-Dashboard(生成报表)和Chat Data(对话式分析)。
    • AWEL (Agentic Workflow Expression Language):定义了一套智能体编排语言,非常适合二开复杂的业务流程。
  • 二开建议:适合作为企业内部统一的“数据大脑”平台,您可以重点修改其Prompt模板和元数据管理模块。
  • GitHub: eosphoros-ai/DB-GPT
2. WrenAI (原WrenAI)
  • 特点:专注于**语义层(Semantic Layer)**的Text-to-SQL引擎。
  • 核心优势
    • 语义建模:它引入了“语义建模”的概念,允许用户定义业务术语和数据库表的关系。这意味着LLM不是直接猜表结构,而是基于业务逻辑生成SQL,准确率通常高于直接Text-to-SQL
    • RAG结合:利用向量数据库存储业务上下文。
  • 二开建议:如果您关注SQL生成的准确性,特别是面对复杂表结构时,WrenAI的语义层架构非常值得借鉴。
  • GitHub: Canner/WrenAI

第二类:开发者友好的核心库 (Developer-First Libraries)

这类项目通常以Python库的形式存在,轻量级,非常容易集成到您现有的系统中,二开灵活度最高。

3. Vanna AI
  • 特点:目前最火的Python RAG-to-SQL 框架。
  • 核心优势
    • 极简架构:基于“训练数据(DDL/文档/SQL对) -> 向量库 -> LLM”的流程。
    • 模块化:它的前端、LLM后端(OpenAI/Ollama等)、向量库(ChromaDB/PgVector等)都是完全解耦的,极易替换。
    • 自我修正:生成的SQL如果报错,会自动反馈给LLM进行修正。
  • 二开建议:这是做轻量级智能问数应用的首选。您可以基于Vanna快速搭建后端,然后自己写一个Streamlit或React前端。
  • GitHub: vanna-ai/vanna
4. PandasAI
  • 特点:不仅仅是SQL,它主要针对DataFrame(Pandas)进行对话分析。
  • 核心优势
    • 代码执行模式:它让LLM生成Python代码(而不是SQL)来处理数据,并能直接生成图表(Matplotlib/Plotly)。
    • Smart Datalake:支持连接多种数据源(CSV, Excel, PostgreSQL等)并在内存中分析。
  • 二开建议:如果您的场景偏向Excel/CSV文件分析或者需要做复杂的统计预测(不仅仅是查询),参考PandasAI的代码执行沙箱机制很有价值。
  • GitHub: gventuri/pandas-ai

第三类:高阶Agent框架 (Advanced Agent Frameworks)

这类项目是通用的Agent框架,但在数据分析领域表现出了SOTA(State of the Art)的能力。

5. MetaGPT (Data Interpreter 模块)
  • 特点:多智能体协作框架,其发布的Data Interpreter号称在数据分析任务上超越了GPT-4 Code Interpreter。
  • 核心优势
    • 动态规划:它能构建复杂的任务计划(Plan),并根据执行结果动态调整工具链。
    • SOP(标准作业程序):将数据分析师的思维链(Chain of Thought)固化为代码流程。
  • 二开建议:适合研究复杂任务拆解。如果您需要智能体不仅能查数,还能写报告、做机器学习建模,请深入研究MetaGPT。
  • GitHub: geekan/MetaGPT
6. TaskWeaver (微软开源)
  • 特点:代码优先(Code-First)的Agent框架,专为数据分析和领域任务设计。
  • 核心优势
    • 有状态执行:支持带有上下文记忆的代码执行,非常适合多轮对话分析数据。
    • 安全沙箱:在企业级数据分析中,代码执行的安全性至关重要,TaskWeaver在这方面设计得比较完善。
  • 二开建议:如果您在做toB产品,且对数据安全和代码执行环境有高要求,借鉴其架构。
  • GitHub: microsoft/TaskWeaver

第四类:可视化与BI增强 (Visual/BI Focused)

7. Chat2DB
  • 特点:从数据库客户端工具演变而来的智能SQL客户端。
  • 核心优势
    • 实用主义:它更像是一个加了AI翅膀的Navicat/DBeaver。
    • 落地性强:已经有很好的Web端界面和交互逻辑。
  • 二开建议:如果您想做一个面向DBA或运营人员的查询工具,可以直接基于其社区版进行魔改。
  • GitHub: chat2db/Chat2DB
8. Kanaries (Rath / PyGWalker)
  • 特点:主打自动探索性数据分析(EDA)和可视化。
  • 核心优势
    • 可视化强:它能像Tableau一样通过拖拽或自然语言生成极其美观的图表。
    • Graphic Walker:其核心组件类似Tableau的开源替代品,可嵌入Web。
  • 二开建议:如果您的痛点在于图表生成的交互体验,请务必查看PyGWalker。
  • GitHub: Kanaries/pygwalker

二次开发选型建议

  1. 如果您想快速出Demo,验证业务逻辑

    • Vanna(查库) 或 PandasAI(查文件)。
    • 理由:代码量少,逻辑清晰,几天就能跑通。
  2. 如果您想做企业级私有化知识库+数据分析平台

    • DB-GPT
    • 理由:全栈架构,省去了自己搭建RAG、微调模型、前端UI的大量工作。
  3. 如果您关注准确率,特别是表结构很复杂(上百张表)

    • WrenAIVanna
    • 理由:重点在于如何构建Semantic Layer(语义层)和Schema Linking(模式链接),这两个项目在这方面做得最好。
  4. 如果您需要复杂的逻辑推理(如:“分析上个月销售额下降的原因”)

    • MetaGPT (Data Interpreter)
    • 理由:这类问题不能单靠SQL解决,需要Agent编写Python代码进行多步推理和归因分析。

非常理解您的需求。您需要的是**“有完整前端界面(UI)、后端逻辑打包好、支持 Docker 一键启动”**的开源成品应用,而不是那种需要自己写 Python 代码调用的库。

以下是严格筛选的、带有完整 Web/桌面 UI、且目前维护活跃的开源数据智能体成品。您可以直接把它们部署起来,参考其产品交互、API 设计和前后端通信模式。

———————————————————————————

1. Chat2DB (智能数据库客户端)

这可能是目前 GitHub 上 UI/UX 完成度最高的开源数据产品。它对标的是 Navicat,但核心是 AI 能力。

  • 产品形态:桌面客户端 / Web 端应用。
  • 核心功能
    • 自然语言转 SQL:在查询框直接输入“查询上个月销售额”,自动生成 SQL。
    • SQL 解释与优化:选中一段复杂的 SQL,让 AI 解释含义或给出优化建议。
    • 智能报表:查询结果可以直接一键生成简单的柱状图/折线图。
  • 参考价值
    • UI 交互:非常值得参考它如何将 AI 对话框无缝嵌入到传统的数据库操作界面中(Side-by-side 或 弹窗模式)。
    • 多模型支持:后端如何统一管理不同 LLM(OpenAI, Ollama, 阿里云等)的配置接口。
  • 部署方式:提供 Docker 镜像和安装包。
  • GitHub: chat2db/Chat2DB

2. DB-GPT (全栈数据智能平台)

虽然我也把它列为框架,但它其实提供了一个非常完整的Web 管理台和对话界面,完全可以当作一个成品来用。

  • 产品形态:Web 端管理平台 + 对话界面。
  • 核心功能
    • Chat Data:类似 ChatGPT 的对话框,上传 Excel 或连接数据库后,直接对话查数。
    • Chat Dashboard:这块功能很强,通过对话生成完整的可视化仪表盘(前端基于 Vue/React 动态渲染图表)。
    • 知识库管理:有完整的 UI 用于上传文档、进行切片和向量化管理。
  • 参考价值
    • 可视化生成:如果您的产品需要生成图表,一定要看它的前端是如何渲染后端返回的图表配置(ECharts/G2Plot)的。
    • 工作流编排 UI:它有一个可视化的 Flow 编辑器,用于编排智能体流程,这点对于做复杂 B 端产品很有参考意义。
  • 部署方式:Docker Compose 一键启动。
  • GitHub: eosphoros-ai/DB-GPT

3. WrenAI (语义层问数引擎)

WrenAI 是一个独立的 Server 服务,但自带了一个专用的 Modeling & Asking UI(建模与提问界面)。

  • 产品形态:Web 端服务(主要由 Server + UI 组成)。
  • 核心功能
    • 语义建模 UI:它最核心的部分不是对话框,而是一个可视化建模工具。用户可以在界面上定义“订单表”和“用户表”是如何关联的,定义什么是“高价值用户”。
    • 精准问答:基于定义好的模型进行 Text-to-SQL,准确率极高。
  • 参考价值
    • 中间层设计:如果您的目标客户是企业,您会发现直接问数据库往往不准。WrenAI 展示了如何通过一个 UI 让用户预先定义业务逻辑(Semantic Layer),这对于解决“幻觉”问题至关重要。
  • 部署方式:Docker Compose。
  • GitHub: Canner/WrenAI

4. DeepBI (AI 原生 BI 平台)

如果您想做一个AI 版本的 Tableau 或 Superset,看这个。

  • 产品形态:完整的 Web BI 系统。
  • 核心功能
    • 对话生成报表:用户输入问题,系统生成图表,并自动保存到仪表盘。
    • 自动洞察:对数据进行自动分析并生成文字结论。
  • 参考价值
    • 它是在开源 BI 工具 Byzer-BI 的基础上重构的,展示了如何将 LLM 能力加装到传统的 BI 架构中。
    • 可以参考其Agent 调度逻辑:如何让 Agent 自己决定是去查数据库,还是去跑 Python 代码解释器。
  • GitHub: Deep-BI/DeepBI

5. Superset (开启 AI 功能版)

Apache Superset 是全球最流行的开源 BI,虽然它本体不是 AI 项目,但最新版本已经集成了 AI 功能。

  • 产品形态:企业级 BI 平台。
  • 核心功能
    • 在 SQL Lab(查询编辑器)中,支持使用 AI 辅助编写 SQL。
  • 参考价值
    • 虽然它的 AI 功能不如上面几个激进,但它的代码规范、权限管理、图表渲染引擎是行业标准。如果您想做正规的 B 端产品,Superset 的架构(Flask + React)是教科书级别的。
  • GitHub: apache/superset

总结推荐

  • 想做桌面工具/数据库管理助手:直接抄 Chat2DB
  • 想做企业级对话式数据分析平台(带图表、带大屏):首选 DB-GPTDeepBI
  • 想做高准确率的业务查数工具(解决业务口径问题):研究 WrenAI 的界面交互。

这些项目都是 git clone 下来配置一下 docker-compose.yml 就能跑起来看到界面的,非常适合您直接体验和借鉴。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐