Skip to content

Releases: Carloslee96/vizagent-dashboard

v0.1.8

Choose a tag to compare

@github-actions github-actions released this 27 Jul 14:58

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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 14:44

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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 13:46

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 --versionpip show vizagent-dashboard 始终一致,以后 bump pyproject 版本即自动同步到 CLI。

测试

141 passed(新增 test_version_matches_package_metadata 防退化);ruff src/ tests/ 全清。

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 27 Jul 13:31

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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 12:15

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-systemsystem-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 颜色平铺渲染。--decoration frontmatter 为元数据。
  • 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 --open

25 个主题

  • 原创 5midnight-ops(默认)/ paper-light / warm-editorial / clinical-light / signal-dark
  • 去品牌 20coral-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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 09:15

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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 08:53

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.mduser-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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 02:22

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 chromium

30 秒上手

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-opspaper-lightwarm-editorialclinical-lightsignal-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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 01:32

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 chromium

30 秒上手

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-opspaper-lightwarm-editorialclinical-lightsignal-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。