[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-806":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},806,"VizPilot_AI","Zafer-Liu\u002FVizPilot_AI","Zafer-Liu","Data-Analysis-Agent-Charts_generation_Platform","https:\u002F\u002Fzaferliuvizpilot-e8ojoaz3f-zafer-lius-projects.vercel.app\u002F",null,"HTML",20,1,26,0,3,4,5,9,0.9,"GNU General Public License v3.0",false,"main",[25,26,27,28,29],"ai","ai-tools","analysis","charts","datavisualization","2026-06-12 02:00:18","# VizPilot AI \u002F 智能图表推荐与生成系统\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.7%2B-blue.svg)](#)\n[![Flask](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBackend-Flask-black.svg)](#)\n[![Plotly](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVisualization-Plotly-3F4F75.svg)](#)\n[![LLM](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLLM-OpenAI%20Compatible-green.svg)](#)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-GPL3.0-yellow.svg)](#)\n[![Status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Active-success.svg)](#)\n\n> **中文**：上传数据，智能推荐图表，一键生成交互式可视化。  \n> **English**: Upload data, get chart recommendations, and generate interactive visualizations in one click.\n\n---\n\n## 目录 \u002F Table of Contents\n\n- [项目简介 \u002F Overview](#项目简介--overview)\n- [功能特性 \u002F Features](#功能特性--features)\n- [在线预览截图 \u002F Screenshots](#在线预览截图--screenshots)\n- [快速开始 \u002F Quick Start](#快速开始--quick-start)\n- [项目结构 \u002F Project Structure](#项目结构--project-structure)\n- [图表系统（Registry 驱动）\u002F Registry-driven Chart System](#图表系统registry-驱动-registry-driven-chart-system)\n- [LLM 配置 \u002F LLM Configuration](#llm-配置--llm-configuration)\n- [支持的图表类型 \u002F Supported Chart Types](#支持的图表类型--supported-chart-types)\n- [使用流程 \u002F Usage Flow](#使用流程--usage-flow)\n- [开发指南 \u002F Development Guide](#开发指南--development-guide)\n- [常见问题 \u002F FAQ](#常见问题--faq)\n- [路线图 \u002F Roadmap](#路线图--roadmap)\n- [贡献指南 \u002F Contributing](#贡献指南--contributing)\n- [许可证 \u002F License](#许可证--license)\n\n---\n\n## 项目简介 \u002F Overview\n\n**VizPilot AI** 是一个基于 LLM 的智能图表推荐与生成系统。  \n上传 Excel\u002FCSV 数据后，系统会自动分析字段类型与数据特征，推荐最适合的图表，并生成可交互 HTML 结果。\n\n**VizPilot AI** is an LLM-powered chart recommendation and generation system.  \nAfter uploading Excel\u002FCSV files, it automatically analyzes data structure, recommends suitable chart types, and generates interactive HTML charts.\n\n### 核心价值 \u002F Why this project\n\n- **降低图表选择门槛**：不会选图也能快速出图\n- **提升可视化效率**：从数据到图表只需几步\n- **可扩展架构**：图表注册中心统一管理，前后端自动同步\n\n---\n\n## 功能特性 \u002F Features\n\n### 1) 数据上传与分析 \u002F Data Upload & Profiling\n- 支持 `CSV`、`Excel (.xlsx)`\n- 自动识别字段类型：数值 \u002F 类别 \u002F 日期\n- 展示数据规模（行数、列数）\n\n### 2) LLM 智能推荐 \u002F LLM-based Recommendation\n- 支持多提供商：DeepSeek、MiniMax、OpenAI 兼容接口\n- 推荐 3-5 个候选图表\n- 提供推荐理由、星级评分、字段映射建议（X\u002FY\u002FColor\u002FSize）\n\n### 3) 图表选择与详情 \u002F Chart Selection & Details\n- 图表网格单击选择\n- 双击查看图表详情页（README + 示例）\n- 支持 Markdown 渲染（表格、代码块、列表）\n\n### 4) 图表生成与导出 \u002F Chart Generation & Export\n- 自动字段映射\n- 调用对应图表模块生成 Plotly 图表\n- 输出交互式 HTML 并支持下载\n\n### 5) 注册中心架构 \u002F Registry Architecture\n- 所有图表元数据统一在 `charts\u002Fregistry.py`\n- 新增\u002F删除图表只需改 registry\n- 前后端列表自动同步，无需重复修改逻辑\n\n---\n\n## 在线预览截图 \u002F Screenshots\n\n### 首页 \u002F Home\n![Home](Images\u002Fscreenshot-home.png)\n\n### LLM 推荐结果 \u002F LLM Recommendations\n![LLM Recommendations](Images\u002Fscreenshot-recommendation.png)\n\n### 图表详情页 \u002F Chart Detail\n![Chart Detail](Images\u002Fscreenshot-detail.png)\n\n### 生成结果 \u002F Generated Chart\n![Generated Chart](Images\u002Fscreenshot-result.png)\n\n---\n\n## 快速开始 \u002F Quick Start\n\n### 环境要求 \u002F Requirements\n- Python 3.7+\n- pip\n\n### 1) 安装依赖 \u002F Install dependencies\n```bash\npip install -r requirements.txt\n```\n\n### 2) 启动应用 \u002F Run the app\n```bash\npython app_pro.py\n```\n\n或 Windows 下双击：\n```bash\nstart.bat\n```\n\n### 3) 访问地址 \u002F Open in browser\n`http:\u002F\u002Flocalhost:5017`\n\n---\n\n## 项目结构 \u002F Project Structure\n\n```text\nChart_generate\u002F\n├── app_pro.py                 # Flask 后端应用（API + 页面路由）\n├── chart_generate.py          # 图表生成核心（调用 charts 模块）\n├── LLM\u002F\n│   ├── llm_recommender.py     # LLM 推荐引擎\n│   └── llm_config_manager.py  # LLM 配置管理\n├── templates\u002F\n│   ├── index.html             # 主页面\n│   └── chart-detail.html      # 图表详情页面\n├── charts\u002F\n│   ├── registry.py            # 图表元数据注册表（核心）\n│   ├── base.py                # 图表统一接口\n│   ├── bar_chart\u002F\n│   │   ├── chart.py\n│   │   ├── README.md\n│   │   └── result.html\n│   ├── line_chart\u002F\n│   ├── scatter_plot\u002F\n│   └── ...                    # 其他图表实现\n├── uploads\u002F                   # 上传文件（临时）\n├── outputs\u002F                   # 生成结果（下载）\n└── README.md\n```\n\n---\n\n## 图表系统（Registry 驱动）\u002F Registry-driven Chart System\n\n### 设计理念 \u002F Design\n- 图表实现与图表元数据解耦\n- 通过 `registry.py` 单点维护图表目录\n- 新增图表无需修改主流程代码\n\n### 新增图表 \u002F Add a new chart\n1. 在 `charts\u002F\u003Cnew_chart>\u002F` 新建实现：\n   - `chart.py`\n   - `README.md`\n   - `result.html`（可选）\n2. 在 `charts\u002Fregistry.py` 注册元信息\n3. 重启服务后自动出现在前端列表\n\n---\n\n## LLM 配置 \u002F LLM Configuration\n\n### 支持的提供商 \u002F Supported Providers\n1. **DeepSeek**\n   - API: `https:\u002F\u002Fapi.deepseek.com`\n   - Model: `deepseek-chat`\n   - Env: `DEEPSEEK_API_KEY`\n\n2. **MiniMax**\n   - API: `https:\u002F\u002Fapi.minimax.chat\u002Fv1`\n   - Model: `MiniMax-M2.7`\n   - Env: `MINIMAX_API_KEY`\n\n3. **OpenAI-compatible**\n   - 自定义 `base_url`、`model`、`api_key`\n   - Customizable `base_url`, `model`, and `api_key`\n\n### 配置方式 \u002F How to configure\n\n#### 方式 A：环境变量 \u002F Option A: Environment variables\n**Windows**\n```bash\nset DEEPSEEK_API_KEY=your_api_key\nset MINIMAX_API_KEY=your_api_key\n```\n\n**macOS\u002FLinux**\n```bash\nexport DEEPSEEK_API_KEY=your_api_key\nexport MINIMAX_API_KEY=your_api_key\n```\n\n#### 方式 B：前端 Settings 面板 \u002F Option B: Settings panel in UI\n在页面 Settings 区域输入并保存 API Key。  \nEnter and save API keys in the Settings panel.\n\n---\n\n## 支持的图表类型 \u002F Supported Chart Types\n\n> 当前支持 **45+** 图表（以 `charts\u002Fregistry.py` 为准）。  \n> Currently supports **45+** chart types (source of truth: `charts\u002Fregistry.py`).\n\n### 比较类 \u002F Comparison\n- `arc_chart` - 弧图\n- `bar_chart` - 柱状图\n- `bullet_chart` - 靶心图\n- `cycle_chart` - 循环图\n- `diverging_bar` - 对比条形图\n- `grouped_bar` - 分组柱状图\n- `stacked_bar` - 堆叠柱状图\n\n### 趋势类 \u002F Trend\n- `area_chart` - 面积图\n- `bump_chart` - 凹凸图\n- `connected_scatter` - 连接散点\n- `horizon_chart` - 地平线图\n- `line_chart` - 折线图\n- `slope_chart` - 斜率图\n- `sparkline` - 迷你图\n- `waterfall` - 瀑布图\n\n### 分布类 \u002F Distribution\n- `boxplot_chart` - 箱线图\n- `dot_plot` - 点图\n- `heatmap` - 热力图\n- `histogram_chart` - 直方图\n- `stem_leaf` - 茎叶图\n- `violin_chart` - 小提琴图\n\n### 占比类 \u002F Composition\n- `marimekko` - 马里美科\n- `nightingale` - 南丁格尔玫瑰图\n- `pie` - 饼图\n- `pyramid_chart` - 金字塔图\n- `sunburst` - 旭日图\n- `treemap` - 树图\n- `waffle` - 华夫饼图\n\n### 关系类 \u002F Relationship\n- `chord_diagram` - 弦图\n- `network_diagram` - 网络图\n- `sankey` - 桑基图\n- `scatter_plot` - 散点图\n\n### 地理类 \u002F Geo\n- `bubble_map` - 气泡地图\n- `choropleth_map` - 分级设色地图\n- `dot_density_map` - 点密度图\n- `flow_map` - 流向图\n- `proportional_symbol` - 比例符号图\n- `voronoi` - 沃罗诺伊图\n\n### 金融类 \u002F Finance\n- `candlestick` - 蜡烛图\n\n### 文本类 \u002F Text\n- `word_tree` - 词树\n- `wordcloud` - 词云\n\n### 多维类 \u002F Multivariate\n- `parcoords` - 平行坐标\n\n---\n\n## 使用流程 \u002F Usage Flow\n\n1. 上传 CSV\u002FXLSX 文件  \n2. 选择 LLM 提供商并配置 API Key  \n3. 输入分析需求（可选）并获取推荐  \n4. 在图表网格中选择图表  \n5. 点击生成并下载 HTML 图表\n\n---\n\n## 开发指南 \u002F Development Guide\n\n### 本地开发 \u002F Local development\n```bash\n# install deps\npip install -r requirements.txt\n\n# run\npython app_pro.py\n```\n\n### 代码规范建议 \u002F Suggested conventions\n- 图表模块遵循统一接口（见 `charts\u002Fbase.py`）\n- 图表目录命名使用 snake_case\n- 每个图表建议包含：\n  - `chart.py`（实现）\n  - `README.md`（说明）\n  - `result.html`（示例）\n\n---\n\n## 常见问题 \u002F FAQ\n\n### Q1: 为什么推荐结果为空？\n- 检查 API Key 是否配置正确\n- 检查网络与 LLM 服务状态\n- 确认上传文件非空且字段可解析\n\n### Q2: 为什么图表生成失败？\n- 检查字段类型是否与图表要求匹配\n- 查看后端日志中的异常信息\n- 确认对应图表模块实现完整\n\n### Q3: 图表数量为什么和文档不一致？\n- 以 `charts\u002Fregistry.py` 为唯一准源（single source of truth）\n\n---\n\n## 路线图 \u002F Roadmap\n\n- [ ] 自动图表参数调优（主题、配色、标签布局）\n- [ ] 多图仪表板拼接与导出\n- [ ] SQL 数据源接入\n- [ ] 更细粒度字段映射交互\n- [ ] 单元测试与回归测试集\n\n---\n\n## 贡献指南 \u002F Contributing\n\n欢迎提交 Issue 和 PR！\n\n1. Fork 仓库\n2. 新建分支：`feat\u002Fyour-feature`\n3. 提交代码并发起 Pull Request\n\n建议在 PR 中说明：\n- 变更内容\n- 影响范围\n- 截图或测试结果\n\n---\n\n## 许可证 \u002F License\n\n本项目建议使用 **GPL License**。  \nThis project is recommended to use the **GPL License**.\n","VizPilot AI 是一个基于 LLM 的智能图表推荐与生成系统。用户上传 Excel 或 CSV 数据后，系统自动分析数据特征并推荐最适合的图表类型，一键生成可交互的 HTML 可视化结果。其核心功能包括数据上传与自动分析、多提供商支持的 LLM 智能推荐、图表选择与详情查看以及图表生成与导出。此外，项目采用注册中心架构管理所有图表元数据，便于扩展和维护。适用于需要快速进行数据可视化但缺乏专业技能的场景，如数据分析报告制作、业务展示等。",2,"2026-06-11 02:39:28","CREATED_QUERY"]