English | 中文
LIGHT CHASER 是一套面向大屏展示、数据报表和数据分析场景的开源可视化设计平台。当前仓库已将前端设计器和后端服务合并到同一个代码库,便于统一开发、联调、构建和部署。
LIGHT CHASER 不是一个简单的页面拼装器,而是一套可视化设计底座。它把“组件编排、蓝图交互、数据源接入、资源管理、项目导出”放在同一条工作流里,适合快速搭建可交付的数据可视化产品。
| 特色 | 说明 |
|---|---|
| 前后端同仓 | 前端设计器、后端服务、部署脚本和开发规范统一维护,减少跨仓库协作成本 |
| 拖拽式设计 | 在画布中完成组件摆放、尺寸调整和属性配置,更贴近可视化搭建场景 |
| 蓝图式交互 | 将事件联动、数据流转和节点关系以蓝图方式表达,复杂交互更容易组织 |
| AI 辅助设计 | 提供模型管理页、样式优化和数据优化,效果与桌面端保持一致 |
| 外部数据源接入 | 默认 SQLite 开箱即用,数据源管理页支持连接测试与维护 |
| 资源统一管理 | 项目资源、图片、封面和静态文件统一保存与访问,便于项目资产管理 |
| 可部署性强 | 支持本地开发、Nginx 静态托管、Docker 镜像和 Compose 编排 |
| 端 | 技术 |
|---|---|
| 前端 | React 18、Vite 5、TypeScript 5、MobX |
| 后端 | Java 17、Spring Boot 3.2.5、MyBatis Plus 3.5.5 |
| 数据库 | SQLite(默认主库) |
| 部署 | Nginx、Docker、Docker Compose |
| 路径 | 说明 |
|---|---|
frontend/ |
前端设计器工程 |
backend/ |
后端服务工程 |
docs/ |
开发规范、Git 规范等文档 |
lc-server.db |
SQLite 数据库文件,启动后生成 |
logs/ |
服务运行日志目录 |
flowchart LR
B["浏览器 / 设计器"] --> F["frontend: React + Vite + MobX"]
F -->|/api /static| S["backend: Spring Boot + MyBatis Plus"]
S --> D["SQLite 主库"]
S --> R["项目资源 / 图片 / 封面"]
- 画布拖拽、缩放和选择
- 属性面板配置样式、布局和行为
- 蓝图式节点交互编排
- AI 模型管理、AI 样式优化和 AI 数据优化
- 组件库和图表扩展
- 代码编辑器和复杂配置支持
- 首页、模板市场、设计器、预览和结果页形成完整链路
- 项目创建、复制、更新、导入和导出
- 数据源列表、分页、添加、更新、删除和连接测试
- AI 模型代理接口,供前端调用兼容 OpenAI 的模型服务
- 图片上传、封面管理和静态资源访问
- SQL 执行器和调试接口
- 加密接口支持,便于前后端协同处理敏感请求
- 数据库迁移能力,启动时可自动执行初始化脚本
- 创建或导入项目
- 在设计器中拖拽组件并完成页面布局
- 绑定数据源并配置 SQL 或接口数据
- 使用蓝图节点定义事件联动
- 预览、导出并部署到目标环境
如果你正在构建企业级数据可视化平台,或者需要更完整的协作与交付能力,可以优先考虑以下版本。
- 官网入口:https://lcpdesigner.cn/home
- 适用场景:团队协作、权限管理、业务化交付、企业内部系统
- 推荐人群:商业项目、生产环境、需要持续扩展的团队
- 下载入口:https://lcpdesigner.cn/download
- 适用场景:离线演示、内网环境、轻量部署、单机交付
- 推荐人群:需要开箱即用桌面客户端的个人或团队
- Node.js
- pnpm
- Java 17+
- Maven 3.6+
建议先启动后端,再启动前端。
cd backend
mvn spring-boot:run后端默认监听 http://localhost:8080。SQLite 数据库默认使用 jdbc:sqlite:${user.dir}/lc-server.db,数据库文件会生成在当前启动目录中。
cd frontend
pnpm install
pnpm dev前端默认访问 http://localhost:5173。开发模式下,/api 和 /static 请求会代理到 http://127.0.0.1:8080,因此需要后端同时启动。
前端:
pnpm build
pnpm lint
pnpm preview
pnpm check后端:
mvn clean compile
mvn test
mvn clean package- 配置文件:
backend/src/main/resources/application.yml spring.datasource.url默认指向jdbc:sqlite:${user.dir}/lc-server.dblight-chaser.project-resource-path未配置时默认取启动目录user.dir,建议指向一个可持久化且可写的目录- 图片资源默认映射到
/static/images - 封面资源默认映射到
/static/covers light-chaser.ai.enabled控制 AI 功能是否启用light-chaser.ai.models用于配置可调用模型列表,默认支持通过LC_AI_MODEL、LC_AI_BASE_URL和LC_AI_API_KEY环境变量覆盖light-chaser.crypto.rsa.public-key-path和light-chaser.crypto.rsa.private-key-path默认位于light-chaser.project-resource-path/keys/,如果文件不存在,启动时会自动生成并持久化- RSA 和 AES 相关配置已内置在
light-chaser.crypto
- 开发代理配置:
frontend/vite.dev.config.ts - 生产 Nginx 配置:
frontend/nginx.conf - 构建产物由
frontend/Dockerfile中的 Nginx 镜像托管
| 模块 | 说明 |
|---|---|
/api/project |
项目创建、更新、复制、导入、导出和详情获取 |
/api/commonDatabase |
数据源管理和连接测试 |
/api/aiModel |
AI 模型管理、列表与调用 |
/api/image |
图片上传、分页和删除 |
/api/db/executor |
SQL 执行 |
/api/crypto |
加密相关能力 |
/api/debug |
调试接口 |
- 推荐的同源部署方式是执行
node scripts/deploy-same-origin.js。脚本会先构建前端,再把frontend/dist合并到backend/src/main/resources/static,最后重新打包后端,并额外生成backend/target/lc-server-release.zip。这个压缩包内同时包含lc-server.jar和docs/部署运维说明.md,适合直接交付给运维或部署人员。 - 启动成功后,直接访问
http://localhost:8080/;如果是远程服务器,把localhost换成服务器 IP 或域名即可。 - 如果你只是想检查流程,可以先加上
--dry-run预览将执行的步骤。 - 如果本机默认 Java 版本低于 17,可以通过
--java-home /path/to/jdk17指定后端构建所使用的 JDK。 - 更详细的启停、配置、日志、升级和回滚说明,请直接查看
docs/部署运维说明.md。 - 如果你仍然需要拆分部署,前端可先执行
pnpm build,再使用frontend/Dockerfile或现有 Nginx 配置部署frontend/dist - 后端可先执行
mvn clean package,产物默认是backend/target/lc-server.jar;backend/Dockerfile已改为直接引用这个固定名称 backend/docker-compose.yml仍保留为拆分部署示例,镜像标签和挂载路径可按实际环境调整- AI 功能提供模型管理页、样式优化和数据优化;其中数据优化仅支持开源版已有的数据源类型:
static、api、database
- 欢迎提交 Issue 或 PR
- 更细的开发规范和 Git 规范请参考
docs/目录 - 如果你在部署或二次开发中遇到问题,可以先对照文档与源码确认实际配置项
- 本项目遵循 Apache 2.0 协议,请保留作品声明
- 本项目仅用于学习交流,商业用途请务必先获取授权
如需反馈问题、沟通合作,或了解项目最新进展,可以通过下方方式联系作者。
如果你对 LIGHT CHASER 项目感兴趣,欢迎加入社区群聊交流使用经验、反馈问题,也欢迎通过 Issue 或 PR 参与项目改进。你的每一次反馈,都会帮助我们把这个项目做得更好。
LIGHT CHASER 已推出 Pro 版本。如果你有捐赠意愿,或希望洽谈商业合作,欢迎赞助我。作为感谢,我会向支持者提供 LIGHT CHASER Pro 版本。
你现在可以通过 http://www.lcdesigner.cn/ 快速体验 Pro 的全部功能。
- 账号:
admin - 密码:
123456
感谢每一位项目贡献者、捐赠者和赞助商。





