拖拽式 BI 可视化分析平台 —— 连上数据源、建好数据集,把字段拖进槽位即时出图,并能一键分享(地址栏短码直链)、拼装仪表盘。
- 数据源管理 — PostgreSQL / MySQL / ClickHouse / StarRocks 四种数据库连接配置与连接测试
- 数据集管理 — 物理表 / 自定义 SQL / 本地文件上传(
.csv、.xlsx)三种模式,列为维度 / 指标并带稳定 id - 拖拽式图表构建 — 拖字段即时出图,内置 13 种图表类型(表格 / 透视 / KPI / 柱 / 折线 / 面积 / 组合双轴 / 饼 / 漏斗 / 雷达 / 散点 / 直方图 / 箱线)
- 仪表盘 — 12 列栅格布局,多页面(底部标签页),图表块 / 文本块 / 盘级筛选器(可设为「本页」或「全部页面」)/ 查询容器,一次请求多块联动取数;支持归档文件夹整理
- 查询记录 — 每次查询落库(内容 hash 去重)并生成短码直链(不可变快照),"地址栏即分享"
- 指标预警 — 绑定图表指标设置阈值规则,后台定时评估,触发历史可追溯(可选 SMTP 邮件通知)
- 用户认证 — 账号注册 / 登录 + Personal Access Token(PAT)管理;资源端点仍渐进式接入鉴权
- 内置示例数据集 — 首次启动可一键加载示例订单数据并直达首图,开箱体验零配置(可忽略 / 移除)
完整功能说明见 docs/user-guide/features.md。
🚧 即将提供。
前后端编译进同一个镜像,由一个进程、一个端口同时提供 API 与页面(没有 nginx)。直接拉现成镜像,不用克隆仓库、不用构建:
docker run -d --name data-insights -p 23352:23352 \
-e DATABASE_URL=postgres://user:password@your-db-host:5432/dbname?sslmode=disable \
kzzhr/datainsights:latest一条命令把 Data Insights 与 PostgreSQL 一起拉起来,不用自己准备数据库:
curl -fsSLO https://raw.githubusercontent.com/askyfun/DataInsights/master/docker-compose.allinone.yml
docker compose -f docker-compose.allinone.yml up -d- 默认用
latest;钉版本:TAG=vX.Y.Z docker compose -f docker-compose.allinone.yml up -d。 - 数据落在命名卷
postgres_data里,down不会删,加-v才清空。 - 要用本机客户端连这个数据库、想换端口、想改数据库密码:都在这份文件的注释里标了位置。
- 生产环境建议换成外部高可用 PostgreSQL,只跑 app 一个容器即可:
docker run -d --name data-insights \
-p 23352:23352 \
-e DATABASE_URL=postgres://user:password@your-db-host:5432/dbname?sslmode=disable \
kzzhr/datainsights:latestgit clone https://github.com/askyfun/DataInsights.git
cd DataInsights
make install # 装前后端依赖(只用 pnpm)
make dev # 前端 23351 + 后端 23352,一起起- 前置:pnpm、
air(未装先go install github.com/air-verse/air@latest)、一个可访问的 PostgreSQL。DATABASE_URL缺失时后端会直接退出。 - 常用命令一览:
make help。
四种方式的完整步骤与「连上第一个数据源 → 建数据集 → 拖图」:docs/getting-started/quick-start.md 本地环境准备(工具链、数据库、逐条命令):docs/developer-guide/dev-setup.md
| 区域 | 内容 |
|---|---|
| docs/getting-started/ | 概览(核心概念 / 应用场景 / 对外路线)、快速开始 |
| docs/user-guide/ | 配置与参数字典、功能指南 |
| docs/deployment/ | 容器部署(Docker / Compose)、发布流程、生产部署实践 |
| docs/developer-guide/ | 架构与设计决策、API 文档、图表查询设计、排障、开发环境、贡献规范 |
- 配置项字典:docs/user-guide/configuration.md
- API 端点说明(契约事实源是
api/openapi.yaml):docs/developer-guide/api.md - 准备放到真实环境用:docs/deployment/production.md
- 遇到问题:docs/developer-guide/troubleshooting.md
欢迎 Issue 与 PR。动手前先看 CONTRIBUTING.md,三条硬约束先记住:
- 包管理器只用 pnpm —— 根目录与
frontend/的preinstall钩子会直接拒绝 npm / yarn / bun。 - 提交前必跑门禁 —— 后端
go test -race ./...,前端pnpm build:check。 - 接口契约的唯一事实源是
api/openapi.yaml—— 改接口先改它,再跑make api-gen同步双端类型。
完整流程与编码规范见 docs/developer-guide/contributing.md;发布新版本(打 tag + 推镜像到 Docker Hub)见 docs/deployment/release.md。
- 前端:React 19 + TypeScript + Ant Design 6 + ECharts 6 + Zustand + Vite(Biome 校验、Vitest 测试)
- 后端:Go 1.27 + Gin + bun ORM + PostgreSQL,goose 版本化迁移、Sentry 上报
- 契约:
api/openapi.yaml是接口单一事实源,make api-gen生成 Go / TypeScript 双端类型 - 部署:Docker 单镜像单进程 —— 一个容器、一个端口(23352)同时提供 API 与页面
分层架构、目录结构与关键设计决策见 docs/developer-guide/architecture.md。
GNU General Public License v3.0 —— 见 LICENSE。