Releases: Carloslee96/vizagent-dashboard
Release list
v0.1.8
Release Notes — vizagent-dashboard v0.1.8
一句话
修首页主题展示标题:v0.1.7 README 主题章节仍写「5 个主题」,与「25 个主题」特性不符,改为「25 个主题任选」并补另外 20 个去品牌主题的出处。
安装
pip install --upgrade vizagent-dashboard==0.1.8
vizagent skill install --target all # 注册 Claude Code / Cursor / Codex 的 Skill为什么发 v0.1.8
v0.1.7 把特性 bullet 写成「25 个主题」,但下方「同一份数据,5 个主题」展示章节标题没同步——只展示了 5 个原创主题的截图,让人误以为总共只有 5 个主题。PyPI 首页以 README 为描述,新用户第一眼看到的就是这个矛盾。
修复
| # | 问题 | 修复 |
|---|---|---|
| 8 | README 主题展示章节标题写「5 个主题」,与「25 个主题」特性矛盾 | 标题改为「同一份数据,25 个主题任选」(中/英);预览下方注明「展示 5 个原创主题预览,另 20 个去品牌主题见 docs/THEME_AUDIT.md,用 --theme <id> 切换」,并点名真实存在的 coral-warm/grove-dark/phosphor-green 三个示例 |
纯文档变更,无代码改动。修复后 PyPI 首页 README 主题章节与特性描述一致。
v0.1.7
Release Notes — vizagent-dashboard v0.1.7
一句话
修复新用户预期断裂:pip install 后 /vizagent-dashboard 在 Claude Code 找不到——安装指引补上 vizagent skill install --target all 第二步。
安装
pip install --upgrade vizagent-dashboard==0.1.7
vizagent skill install --target all # 注册 Claude Code / Cursor / Codex 的 Skill为什么发 v0.1.7
v0.1.6 把 Skill 规则文件打包进 wheel(skill_assets/),但 pip 不会自动把它们写到用户级目录。新用户按文档 pip install 后,直接在 Claude Code 里敲 /vizagent-dashboard 会「找不到命令」——必须额外执行 vizagent skill install 才行。这一步之前埋在文档下方,新用户容易漏看,导致预期断裂。
修复
| # | 问题 | 修复 |
|---|---|---|
| 7 | pip install 后 /vizagent-dashboard 在 Claude Code 找不到(Skill 未注册) |
README(中/英)「1. 安装」段从一步改两步——pip install + vizagent skill install --target all,并注明两步分别装 CLI 与注册 Skill 规则文件、装完需重启工具;统一以 --target all(一次装齐 Claude + Cursor + Codex)为推荐命令 |
纯文档变更,无代码改动。修复后 PyPI 首页 README 与 pip show 显示的描述同步为两步安装。
说明
vizagent skill install --target all把规则文件写到~/.claude/skills/、~/.cursor/rules/、~/.codex/prompts/,三个工具一次装齐。- 装完需重启对应工具(Claude Code 在会话启动时扫描 Skill 目录)。
- 只想用命令行不接 AI 工具,可跳过第二步,直接
vizagent build --data 你的数据.xlsx --open。
v0.1.6
Release Notes — vizagent-dashboard v0.1.6
一句话
修复 vizagent --version 永远报 0.1.0 的版本号双源头问题,改为从包元数据读取(SSOT)。
安装
pip install --upgrade vizagent-dashboard==0.1.6为什么发 v0.1.6
v0.1.5 验证时发现 vizagent --version 始终报 0.1.0,但 pip show 显示正确版本。根因:__init__.py 里有硬编码的 __version__ = "0.1.0",从 v0.1.0 起就没同步过,与 pyproject.toml 的版本号形成双源头,违反单一事实来源原则。
修复
| # | 问题 | 修复 |
|---|---|---|
| 6 | vizagent --version 永远报 0.1.0(__init__.__version__ 硬编码,从未同步 pyproject) |
改用 importlib.metadata.version("vizagent-dashboard") 读包元数据,版本号 SSOT 在 pyproject.toml;源码未安装时兜底 0.0.0 |
修复后 vizagent --version 与 pip show vizagent-dashboard 始终一致,以后 bump pyproject 版本即自动同步到 CLI。
测试
141 passed(新增 test_version_matches_package_metadata 防退化);ruff src/ tests/ 全清。
v0.1.5
Release Notes — vizagent-dashboard v0.1.5
一句话
修复 v0.1.4 含 gauge 的大屏整屏图表不渲染的严重 bug,并让 14 种图表类型在自动模式真正可达(按字段兼容性分配),CLI 中文不再乱码。
安装
pip install --upgrade vizagent-dashboard==0.1.5为什么发 v0.1.5
v0.1.4 发布后 E2E 测试发现:凡是用到 gauge 仪表盘的大屏,整屏图表都不显示。根因是 gauge builder 的 option 结构写错,叠加图表初始化代码没有 per-chart 容错——一张图抛异常就中断整个初始化循环。本轮修这个 critical bug,并顺带修了 planner 选型和控制台编码问题。
相对 v0.1.4 的变化
修复
| # | 问题 | 严重度 | 修复 |
|---|---|---|---|
| 4 | gauge axisLine.lineStyle 写成列表,setOption 抛异常 → 含 gauge 的大屏整屏不渲染 |
critical | 改为对象 |
| 5 | 图表初始化循环无 try/catch,单图炸连累全屏 | critical | per-chart try/catch,失败显示占位 |
| 1 | 新图表类型(radar/gauge/heatmap 等)自动模式够不着,需「只展示」前缀且全局强制单一类型 | 中 | 关键词无需「只展示」即可触发,按 sheet 兼容性分配 |
| 2 | planner 不校验字段兼容性,radar 塞单数值 sheet 报错 | 中 | _compatible_types 守门,不兼容回退 |
| 3 | Windows 控制台中文路径/列名/警告 GBK 乱码 | 低 | CLI 顶层强制 UTF-8 输出 |
新图表类型现在自动可达
v0.1.4 的 14 种图表类型中,area/nightingale/treemap/funnel/gauge/radar/heatmap 在自动模式基本够不着。v0.1.5 修复后:
# 自动分发多种新类型(按各 sheet 字段形态分配)
vizagent build --data sales.xlsx --requirement "要用尽可能多类型的图表"
# 点名具体类型
vizagent build --data sales.xlsx --requirement "用雷达图、漏斗图、仪表盘"字段兼容性规则(不兼容自动回退到 bar/pie):
| 图表类型 | 字段要求 |
|---|---|
| radar 雷达 | ≥2 个数值字段 |
| heatmap 热力图 | 2 个分类维度 + 1 个数值 |
| area 面积 | 时间字段 + 数值 |
| gauge 仪表盘 | ≥1 个数值 |
| nightingale/treemap/funnel/pie | 1 个分类 + 1 个数值 |
「只展示 X」语义保留
--requirement "只展示饼图" 仍全局强制所有图表为饼图(向后兼容)。区别:不带「只展示」时,关键词按 sheet 兼容性分发不同类型,不再全局强制单一类型。
30 秒上手
# 默认主题,编译完自动打开
vizagent build --data sales.xlsx --open
# 暖色主题 + 全类型分发
vizagent build --data sales.xlsx --requirement "要用尽可能多类型的图表,暖色" --open
# 换 25 个主题之一
vizagent build --data sales.xlsx --theme grove-dark --open测试
140 passed(含 P1 去品牌主题校验 + 新增 7 项 planner 新图表类型测试 + P3/P4 回归);ruff src/ tests/ 全清。E2E Playwright 验证 9/9 图表渲染、0 pageerror。
已知限制(承自 v0.1.4,未变)
- glass / glow 装饰不渲染特效(lean 编译器只灌 CSS 变量,不按
--decoration分支)。 - 20 个去品牌主题保留原样品牌签名 hex(色值本身不可版权,配中性名 + 中性 prose 后可辩护)。
v0.1.4
Release Notes — vizagent-dashboard v0.1.4
一句话
主题数 5 → 25(去品牌引入 20 个 SaaS 主题),图表类型 8 → 14(新增 area/nightingale/treemap/funnel/gauge/radar/heatmap),planner 用 data_hints 选型,支持 --theme-dir 自定义主题。
安装
pip install vizagent-dashboard==0.1.4相对 v0.1.3 的变化
主题:5 → 25
- 20 个去品牌主题:从 SaaS 主项目 20 个品牌导向主题去品牌引入——只提取 12 个核心 token + Chart 色板,颜色/圆角 token 逐字节保真,字体栈
-apple-system→system-ui归一化,赋纯描述性中性名(如grove-dark/coral-warm/parchment-serif/obsidian-glass),prose 重写剔除全部品牌名/专有色名/签名指纹/定位文案。详见docs/THEME_AUDIT.md。 --theme-dir自定义主题:build/compile新增--theme-dir <path>,丢一个.md到~/.vizagent/themes/或指定目录即可用自己品牌主题,不 fork、不碰源码。同 id 后者覆盖前者。- 主题加载改为自动发现(frontmatter 自描述),加主题只需丢一个 .md 文件。
图表类型:8 → 14
新增 6 种 ECharts 图表:area(面积)、nightingale(南丁格尔玫瑰)、treemap(矩形树图)、funnel(漏斗)、gauge(仪表盘)、radar(雷达)、heatmap(热力图,二维网格 + visualMap)。builder 注册表 + data_hints 让 planner 自动识别新类型。
Planner
- 自动选型从硬编码改为
data_hints注册表查询(time_series→line、composition→pie、comparison→bar 等),新图表类型声明 hints 即被识别,不必改 planner 选型分支。 --requirement关键词扩展:仪表盘/雷达/南丁格尔/树图/漏斗/面积/热力 等显式指定。
已知限制
- glass / glow 装饰不渲染特效:lean 编译器只把 token 灌进 CSS 变量,不按
--decoration生成 backdrop-blur / 辉光。obsidian-glass/amethyst-glass/nebula-glow等主题在 skill 里按 token 颜色平铺渲染。--decorationfrontmatter 为元数据。 - 20 个去品牌主题保留原样品牌签名 hex(色值本身不可版权,配中性名+中性 prose 后可辩护)。
python tools/import_saas_themes.py可复现验证 20/20 token 保真 + 零品牌残留。
30 秒上手
# 默认主题(midnight-ops),编译完自动打开
vizagent build --data sales.xlsx --open
# 换主题(25 个任选)
vizagent build --data sales.xlsx --theme grove-dark --open
# 自定义主题目录
vizagent build --data sales.xlsx --theme-dir ./my-themes --open25 个主题
- 原创 5:
midnight-ops(默认)/paper-light/warm-editorial/clinical-light/signal-dark - 去品牌 20:
coral-warm/obsidian-glass/parchment-serif/trust-blue/canvas-dot/ops-slate/ring-pastel/nebula-glow/graphite-iris/broadsheet/fiber-paper/grid-azure/gilt-navy/ember-paper/amethyst-glass/grove-dark/haze-lilac/phosphor-green/amber-scan/mono-noir
测试
127 passed(含 P1 去品牌主题校验 5 项 + P3/P4 图表类型回归);ruff src/ tests/ 全清。
v0.1.3
Release Notes — vizagent-dashboard v0.1.3
一句话
Skill 安装扩展到 Cursor 和 Codex CLI;vizagent skill install 一条命令装齐多个 AI 工具,装完打印快速上手提示。
安装
pip install vizagent-dashboard==0.1.3作为 AI 工具的 Skill 使用(本版增强)
pip install vizagent-dashboard
vizagent skill install --target all # 一次装齐 Claude + Cursor + Codex| 工具 | 触发方式 |
|---|---|
| Claude Code | /vizagent-dashboard,或「用 xx.xlsx 做个大屏」 |
| Cursor | 编辑 .csv/.xlsx 时自动注入规则 |
| Codex CLI | /vizagent-dashboard |
clone 仓库并用对应工具打开会自动加载项目级规则,无需手动安装。
相对 v0.1.2 的变化
- 新增 Cursor(
.cursor/rules/*.mdc)和 Codex CLI(.codex/prompts/*.md)规则文件。 vizagent skill install支持--target claude|cursor|codex|all。- 安装成功后打印各工具触发方式 + 命令行直跑示例 + 文档链接(Windows GBK 控制台 UTF-8 兼容)。
- wheel 打包 3 套规则文件;契约测试覆盖多 target;干净 venv 实测通过。
30 秒上手(CLI)
vizagent build --data sales.xlsx --output dashboard/
# → dashboard/output.html 直接浏览器打开已知限制
--requirement规划器为确定性关键词匹配,复杂表结构可能产出空 Spec;复杂场景建议用 Agent Skill 模式或手写--spec。- 浏览器门禁需额外安装 Playwright 与 Chromium。
验证
git clone https://github.com/Carloslee96/vizagent-dashboard.git
cd vizagent-dashboard
pip install -e ".[dev]"
python -m pytest tests/ -q -k "not e2e and not real"许可证
Apache License 2.0 © VizAgent Team。
v0.1.2
Release Notes — vizagent-dashboard v0.1.2
一句话
修复 v0.1.1 的 Skill 安装缺陷:pip 装完即可在 Claude Code 里用 /vizagent-dashboard 触发,无需手动创建 SKILL.md。
安装
pip install vizagent-dashboard==0.1.2作为 Claude Code Skill 使用(本版新增)
pip install vizagent-dashboard
vizagent skill install # 装到 ~/.claude/skills/vizagent-dashboard/
# 重启 Claude Code → 输入 /vizagent-dashboard,或直接说「用 xx.xlsx 做个大屏」clone 仓库并用 Claude Code 打开会自动注册为项目级 Skill(仓库根 .claude/skills/),无需手动安装。
相对 v0.1.1 的变化
vizagent skill install子命令:一行命令把 Skill 定义装到用户级目录。- canonical SKILL.md:
user-invocable: true,含工作流 + DashboardSpec 参考 + 排错表。 - wheel 打包 SKILL.md:hatch
force-include把 SKILL.md 映射进包内skill_assets/,pip 装完即含。 - README 安装说明:中英两版补「作为 Claude Code Skill 使用」章节。
- 契约测试覆盖 skill 定位与安装;干净 venv 装 wheel 实测通过。
30 秒上手(CLI)
vizagent build --data sales.xlsx --output dashboard/
# → dashboard/output.html 直接浏览器打开已知限制
--requirement规划器为确定性关键词匹配,复杂表结构可能产出空 Spec;复杂场景建议用 Agent Skill 模式或手写--spec。- 浏览器门禁需额外安装 Playwright 与 Chromium。
验证
git clone https://github.com/Carloslee96/vizagent-dashboard.git
cd vizagent-dashboard
pip install -e ".[dev]"
python -m pytest tests/ -q -k "not e2e and not real"许可证
Apache License 2.0 © VizAgent Team。
v0.1.1
Release Notes — vizagent-dashboard v0.1.1
一句话
v0.1.1 是 v0.1.0 之后的首个 PyPI 可安装版本。功能与 v0.1.0 一致,新增 PyPI 自动发布通路。
安装
pip install vizagent-dashboard==0.1.1需要浏览器门禁(可选):
pip install "vizagent-dashboard[browser]==0.1.1"
playwright install chromium30 秒上手
vizagent build --data sales.xlsx --requirement "每月销售额趋势,按类别和地区拆分" --output dashboard/
# → dashboard/output.html 直接浏览器打开或纯 Spec 模式(零 LLM、完全离线):
vizagent build --data sales.xlsx --spec spec.json --output dashboard/相对 v0.1.0 的变化
- PyPI 上线:
release.yml启用 Trusted Publisher(OIDC),打 tag 后自动发 PyPI,无需手工上传或长期 token。 - 版本号 0.1.0 → 0.1.1(PyPI 不允许覆盖版本号,v0.1.0 仅 GitHub,PyPI 从本版起)。
功能清单(与 v0.1.0 一致)
- 双模式架构:Agent Skill(宿主 LLM 推理)+ CLI(确定性编译,离线零 API)
- 图表:折线、柱状、饼图、散点、KPI 卡片、中国地图、世界地图(ECharts 5.5.1 内嵌)
- CSV / Excel 多 Sheet,逐行数据覆盖追踪
- 5 个 clean-room 主题:
midnight-ops、paper-light、warm-editorial、clinical-light、signal-dark - 质量门禁:静态 + 可选 Playwright 浏览器门禁
- 安全基线:HTML 转义 + CSP + 路径穿越防护
- 权利审计:两份 GeoJSON 经逐字节比对确认来自 echarts@4.9.0(Apache 2.0)
已知限制
--requirement规划器为确定性关键词匹配,复杂表结构可能产出空 Spec;复杂场景建议用 Agent Skill 模式或手写--spec。- 浏览器门禁需额外安装 Playwright 与 Chromium。
验证
git clone https://github.com/Carloslee96/vizagent-dashboard.git
cd vizagent-dashboard
pip install -e ".[dev]"
python -m pytest tests/ -q -k "not e2e and not real"致谢
- Apache ECharts — 图表渲染运行时与 GeoJSON 地图数据。
- 底层边界数据源自 Natural Earth(公共领域)。
许可证
Apache License 2.0 © VizAgent Team。
v0.1.0
Release Notes — vizagent-dashboard v0.1.0
这是 GitHub Release 的正文草稿。发布时把本文件内容粘贴到
「Describe this release」框即可(release.yml 已配generate_release_notes: true,
可在其自动生成的基础上替换为本草稿)。
一句话
把 CSV / Excel 数据 + 一句业务需求,编译成一个自包含、可离线打开、内置质量门禁的 HTML 大屏。不需要数据库、不需要服务端、不需要额外的 API Key。
安装
pip install vizagent-dashboard需要浏览器门禁(可选):
pip install "vizagent-dashboard[browser]"
playwright install chromium30 秒上手
vizagent build --data sales.xlsx --requirement "每月销售额趋势,按类别和地区拆分" --output dashboard/
# → dashboard/output.html 直接浏览器打开或纯 Spec 模式(零 LLM、完全离线):
vizagent build --data sales.xlsx --spec spec.json --output dashboard/本次发布包含什么
双模式架构
- Agent Skill 模式:作为 Claude Code / Codex 的可加载 Skill,由你已有的 AI 订阅承担推理,编写
DashboardSpec,再调用 CLI 编译验证——本仓库不收任何额外 API Key。 - CLI 模式:
--spec(确定性编译)与--requirement(确定性关键词规划)全程不调 LLM,可离线运行。
编译内核
- 确定性编译器(无 LLM / 无网络),输出可复现。
- 图表:折线、柱状、饼图、散点、KPI 卡片、中国地图、世界地图(ECharts 5.5.1 内嵌,支持离线渲染)。
- CSV / Excel 多 Sheet 读取,逐 Sheet、逐行数据覆盖追踪。
- 5 个 clean-room 通用主题:
midnight-ops、paper-light、warm-editorial、clinical-light、signal-dark。无第三方品牌名或专有资产。旧主题 ID 作为别名兼容映射。 - 单文件 HTML 产物(embedded 离线 / cdn 两种部署模式)。
质量门禁
- 静态门禁:HTML 转义、Content Security Policy、路径穿越防护、空 series / 未绑定地图 / 字段缺失阻断。
- 浏览器门禁(可选,Playwright):截断、重叠、零尺寸图表、地图注册与渲染、Tab 切换后隐藏图不再误报。
- 逐行数据覆盖报告。
工程化
- Hatch 打包,干净 venv 可安装、可导入、可执行。
- ruff lint 全绿;97 个单元 + 契约测试通过。
- GitHub Actions:Windows / macOS / Ubuntu × Python 3.10–3.12,含 CLI 与 wheel 契约 job。
- 完整 provenance 审计(
tools/upstream-manifest.toml)、SBOM、NOTICE、SECURITY、CONTRIBUTING。
权利审计(已核实)
- 两份 GeoJSON(china.json / world.json)经逐字节比对,确认均来自 npm
echarts@4.9.0(Apache 2.0,可再分发),纠正了设计文档误写的「DataV」来源。 - ECharts 运行时 5.5.1(Apache 2.0)内嵌。
- 5 个主题为 clean-room 原创,经
docs/THEME_AUDIT.md关键词审计无品牌残留。
已知限制
--requirement规划器为确定性关键词匹配,复杂表结构可能产出空 Spec;复杂场景建议用 Agent Skill 模式或手写--spec。- 浏览器门禁需额外安装 Playwright 与 Chromium。
- GitHub Pages 在线 demo 站与演示 GIF 暂未提供;请用
examples/ecommerce/本地构建查看。 - 暂未发布到 PyPI(v0.1.0 仅 GitHub Release;PyPI 发布待 maintainer 执行)。
验证
git clone https://github.com/Carloslee96/vizagent-dashboard.git
cd vizagent-dashboard
pip install -e ".[dev]"
python -m pytest tests/ -q -k "not e2e and not real"致谢
- Apache ECharts — 图表渲染运行时与 GeoJSON 地图数据。
- 底层边界数据源自 Natural Earth(公共领域)。
许可证
Apache License 2.0 © VizAgent Team。