DataTalk Studio:开源AI原生BI工作台,对话式一键智能生成数据报表

AI新闻 dotaai
88

一、DataTalk Studio 是什么

DataTalk Studio 是AI原生开源BI报表工作台,核心能力是通过自然语言对话完成报表全流程开发。项目将传统BI里的数据源、指标、查询、可视化、报表编辑流程整合在统一工作区。用户可以使用自然语言创建、修改报表,也可切换至可视化编辑器、数据源管理、指标知识管理等专业模块做精细化调整。

项目目前处于持续开发阶段,页面、API、数据模型和Agent工具接口存在变动可能性,在没有完成安全加固、权限审查和备份策略的前提下,不建议直接投入生产环境使用。

二、功能特色

  • 对话式报表开发:输入自然语言即可新建报表、调整指标、修改筛选条件、更新图表、调整页面结构,AI自动完成SQL生成与图表渲染,不满意可持续对话迭代。

  • 多数据源连接器:支持 MySQL、PostgreSQL、SQLite、SQL Server、Oracle、MongoDB、Redis、ClickHouse、Databricks、BigQuery、Snowflake、Elasticsearch、Trino、DuckDB,同时支持API/GraphQL接入,最终可用能力取决于对应适配器与运行环境。

  • 指标知识管理:支持指标定义、别名、计算公式、业务口径确认与反馈,统一统计口径,减少自然语言分析时的歧义,提升报表结果一致性与复用性。

  • 完整报表工作区:包含报表草稿、预览、编辑、发布、版本回滚、公开分享链接、资源复用能力,支持报表成果沉淀。

  • AI Agent工具链:内置受控工具接口,可完成数据源探测、Schema读取、SQL预览校验、指标读取、指标提案、报表读取、预览检查、图像生成、网页搜索。

  • 资源中心:报表、模板等资源支持发布、检索、收藏、分类、复制复用。

  • 基础多租户能力:内置租户、成员、角色、会话与资源隔离基础实现,支持企业多部门隔离使用。

  • 独立本地工作区存储:报表文件、运行状态、会话密钥、SQLite数据库统一放在项目目录之外的工作区目录,不会混入代码仓库。

  • 容器化部署:基于Next.js standalone output提供Dockerfile与镜像构建脚本,支持容器快速部署。

DataTalk Studio(图1)

三、技术细节

技术栈

Next.js 16 App Router、React 19、TypeScript、Tailwind CSS;存储默认使用SQLite,企业部署可切换MySQL;后端运行环境要求Node.js 22.5.0及以上;AI能力依赖外部Agent Runtime与第三方大模型服务,项目本身不内置大模型。

架构逻辑

浏览器请求进入Next.js路由层,分发至认证租户、报表工作台编辑器、数据源查询、指标知识库、资源中心、Agent工具等API服务;底层对接数据库、本地工作区存储、外部业务数据源以及Agent模型运行时。

主要目录说明

  • app/:Next.js页面与API路由处理器

  • components/:前端页面与交互组件

  • lib/server/:服务端核心,数据库、认证、报表、资源、Agent存储服务

  • config/:配置模板与本地配置入口

  • runtime-managed/:Agent Runtime插件与运行配置

  • scripts/:数据库初始化、构建辅助脚本

  • skills/:Agent可用技能、工具定义

  • templates/:报表与工作区模板

  • docs/:项目文档

  • public/:静态资源、图标

四、应用场景

  1. 企业内部经营分析:业务人员通过自然语言快速生成销售、客户、库存类分析报表,降低BI使用门槛。

  2. 私有化数据分析平台:敏感数据不对外上云,本地或内网部署,实现数据自主管控。

  3. 团队指标口径统一管理:搭建企业指标知识库,规范指标定义,避免不同报表统计口径不一致。

  4. 二次开发定制BI系统:开发人员基于开源代码扩展数据源、自定义Agent工具、改造前端界面,搭建行业专属分析工作台。

  5. AI BI技术研究:用于NL2SQL、Agent工具调用、对话式数据可视化方向的技术学习与原型验证。

五、使用方法

环境要求

Node.js >=22.5.0,npm;如需MySQL部署,准备MySQL 8.x兼容实例。

本地启动

git clone https://github.com/mihuajun/datatalk
cd datatalk
npm ci
npm run dev

开发服务默认监听3000端口,访问http://localhost:3000。未配置MySQL时自动使用SQLite,数据库文件存放在项目上级目录 ../datatalk-workspace/chat-bi.sqlite。

本地开发默认账号:admin/admin(管理员)、dev/dev(开发者),仅用于本地测试。

可选初始化示例数据:

npm run db:init-members
npm run db:init-data-sources
npm run db:init-metric-knowledge
npm run db:init-reports

Docker部署

构建镜像:

docker build -t datatalk:local .

持久化工作区启动:

docker run --rm \
 --name datatalk \
 -p 3000:3000 \
 -e WEB_APP_URL=http://localhost:3000 \
 -v datatalk-workspace:/app/workspace \
 datatalk:local

容器内 /app/workspace 存放SQLite、报表文件与运行密钥。

基础操作流程

  1. 新建数据源连接器,接入业务数据库或API;

  2. 在报表工作台使用自然语言描述分析需求,AI Agent自动生成报表;

  3. 在可视化编辑器手动调整图表、筛选、页面布局;

  4. 预览、发布报表,生成公开链接分享或保存为模板复用。

DataTalk Studio(图2)

六、竞品对比

对比维度 DataTalk Studio DataEase Metabase
产品定位 AI原生BI,对话优先,可视化兜底 传统拖拽式开源BI,AI为附加功能 轻量自助查询BI,AI能力薄弱
指标管理 原生指标知识库,统一业务口径 基础指标配置,无标准化口径管理 无专门指标管理模块
技术架构 Next.js+Node.js,轻量 Java架构,资源占用较高 独立Java服务,扩展能力有限
多租户 原生基础多租户、角色隔离 仅企业版支持多租户,开源版受限 无原生多租户,需要二次开发
AI能力 完整Agent工具链,支持对话迭代报表 基础NL2SQL,不支持报表全流程对话编辑 仅简易查询,无Agent工具体系

七、常见问题解答

Q:DataTalk Studio内置大模型吗?

项目没有内置大模型,仅提供AI Agent工具框架,需要自行对接外部模型服务作为Agent Runtime,才能启用对话生成报表、SQL校验等AI功能。

Q:是否可以直接部署到企业生产环境?

项目处于持续开发阶段,接口、数据模型可能变动,默认存在测试账号与自动生成密钥,缺少安全加固、权限审计和备份方案,不建议直接用于生产,需要完成安全评审后再使用。

Q:报表和数据库文件保存在哪里?会提交到Git仓库吗?

报表文件、运行状态、SQLite数据库存放在项目目录外的独立工作区目录,该目录已加入忽略列表,不会提交到Git仓库。

Q:支持MySQL数据库吗?

支持,配置对应的DATABASE_URL、用户名、密码环境变量即可切换MySQL;本地开发场景推荐直接使用内置SQLite。

Q:生产环境能否继续使用admin、dev默认账号?

不可以,这两个账号仅用于本地开发调试。部署到共享或生产环境后,必须修改密码或者直接停用,同时更换各类密钥。

Q:Agent访问数据库有什么安全建议?

数据源尽量使用只读账号,按租户、角色限制表与字段访问范围;开启SQL查询审计,对高风险查询增加人工确认机制。

八、相关链接

九、总结

DataTalk Studio是一套开源AI原生BI工作台,将对话式报表开发作为核心交互方式,集成多数据源连接器、指标知识管理、AI Agent工具链、报表全生命周期管理和基础多租户能力,支持SQLite开箱即用与Docker容器私有化部署,兼顾业务人员自然语言快速制作报表和技术人员二次开发的需求,适合企业轻量化数据分析、私有化BI搭建以及AI BI相关技术原型落地。

打赏
THE END
作者头像
dotaai
正在和我的聊天机器人谈恋爱,它很会捧场。