开源项目
JohnYan2017/SmartCharts avatar
JohnYan2017/SmartCharts

SmartChart 评测:面向技术人员的低代码数据可视化平台

该项目围绕「, , Echarts,SQL,API,VUE, Jupyter, pyecharts , , , , , , , , , , , , , .」构建,适用于实际场景的开源实践,提供可复用的工具链与集成方式。

763 个 Star127 个 ForkVueApache-2.0

秒懂

它是什么?
SmartChart 是一个基于 Python + Django 的低代码数据可视化平台,主打数据集开发、ECharts 图形配置和拖拽布局。本文基于仓库文档分析其架构、部署方式和适用边界。
适合谁用?
SmartChart 适合已经使用 Django 构建数据管理系统的团队,尤其是需要快速搭建数据大屏、仪表盘,并且希望保留 SQL 和代码控制力的技术人员。它不适合追求纯无代码操作的非技术业务人员,也不适合需要复杂数据治理或大规模流处理的场景。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 45 天前。
用什么语言写的?
主要是 Vue(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题

SmartChart 的目标是让技术人员用低代码方式完成数据可视化应用的开发。传统 BI 工具面向非技术人员,强调无代码操作,但可视化效果和定制能力有限。SmartChart 反其道而行,面向技术部门,保留 SQL 和代码扩展的自由度。它解决的问题是:当你需要快速搭建数据大屏或仪表盘,又不想从零写前端图表代码时,如何在一个平台内完成从数据接入、图形配置到权限管理的全流程。

核心架构:数据服务层与应用层

从产品架构图看,SmartChart 分为三层。数据服务层提供 API 接口、自助取数、数据订阅、智能助手和智慧 BI。应用层包含 SmartChart 可视化、SmartPip 数据治理和填报服务。平台层负责数据流批处理、数据开发管理和多系统数据集成。这个分层表明它不是一个单纯的图表库,而是一个从数据源到前端展示的完整链路。架构图中没有展示具体的模块间通信方式,但基于 Django 的插件机制,各模块很可能通过 Django 的应用机制组合。

开发流程:从仪表盘到发布

README 给出了明确的开发流程:新建仪表盘,新增图形组件,编辑数据集(写 SQL),编辑图形(配置 ECharts 或 HTML),拖拽调整布局,最后预览或发布。这个流程的核心是数据集与图形分离。数据集通过 SQL 定义,图形组件引用数据集并配置 ECharts 选项。这种设计让数据开发和前端展示解耦,一个数据集可以对应多个图形。文档提到支持一个数据集对应多查询,意味着可以在一个数据集内定义多个 SQL 查询,进一步减少重复工作。

安装与部署:pip 到生产环境

部署方式有三种。开发测试或个人使用可以直接 pip install 安装启动。Linux 生产环境推荐 uWSGI 加 Nginx 的组合。离线环境则依赖专业版提供的离线安装包。登录方式支持用户名密码、企业微信 OAuth、钉钉 OAuth 和第三方 OAuth。这些信息来自 README 的部署方案表格,但缺少具体的 pip 安装命令和配置文件示例。文档指向 help.smartchart.cn 的部署指南,实际安装步骤需要查阅该文档。

功能特色中的亮点与疑点

功能列表很长,但有几个点值得注意。内置 OA 组织架构和工作流引擎,支持审批流设计、并行分支、驳回撤回转交,这是很多开源 BI 工具没有的。APScheduler 调度器用于数据集定时刷新,支持分布式主从模式。内存加速技术声称减少数据库压力。这些功能听起来强大,但 README 没有提供实现细节。例如分布式主从模式如何配置,内存加速的具体机制是什么,都需要在文档中进一步确认。

局限性与不适用场景

SmartChart 有明显的适用边界。它面向技术人员,如果团队主要成员是非技术业务人员,学习曲线会很陡峭。README 明确说传统 BI 面向非技术人员,而 SmartChart 对技术人员更友好,这意味着它放弃了无代码市场。另外,它不是一个数据中台,只是数据中台的一部分。如果团队没有数据中台,需要额外引入。数据治理能力由 SmartPip 提供,但 README 没有详细说明 SmartPip 的功能范围。对于需要复杂数据清洗或实时流处理的场景,这个平台可能不是最佳选择。

与传统 BI 和大屏设计器的对比

README 做了多组对比。与传统 BI 相比,SmartChart 强调低代码而非无代码,可视化效果更好,访问速度更快。与大屏设计器相比,大屏设计器只关注前端展示,不注重数据开发,而 SmartChart 覆盖数据开发到嵌入的完整流程。与低代码平台相比,传统低代码以流程驱动,SmartChart 以数据驱动。这些对比揭示了它的定位:不是给业务人员用的自助分析工具,而是给开发人员用的数据应用构建平台。

维护与升级成本

项目采用 Apache-2.0 许可证,这是一个宽松的开源协议,允许商用和修改,但需要保留版权声明。README 声称已在 5000 多家企业使用,核心项目在上市公司运行 5 年以上,但仓库没有提供最近的 release 信息,最后一次 push 时间未知。从 Change Log 看,更新记录停留在 2020 年,版本号到 v3.9.9.18。虽然 README 提到 8.0 持续发布中,但仓库本身缺乏活跃的发布记录,这可能是维护风险的信号。升级成本取决于你使用的版本和自定义程度,因为高度可定制化意味着升级时可能需要重新适配自定义代码。

编辑结论

SmartChart 适合已经使用 Django 构建数据管理系统的团队,尤其是需要快速搭建数据大屏、仪表盘,并且希望保留 SQL 和代码控制力的技术人员。它不适合追求纯无代码操作的非技术业务人员,也不适合需要复杂数据治理或大规模流处理的场景。在采用前,应验证其内置工作流引擎和 AI 智能体功能是否满足你的审批流程和模型集成需求,同时确认社区支持和文档更新频率是否足以支撑长期维护。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
社区笔记

社区笔记