microsoft/flint-chart

🪄 Flint is a visualization language that lets AI agents reliably create expressive, good-looking charts from simple, human-editable chart specs.

What it solves

Flint 解决 AI agent 在创建精美的數據可视化时面临的困难。Flint 不再要求 agent 手动调整繁琐且复杂的配置细节——例如 scales, axes, spacing, 和 layout——而是提供了一种精简的中间语言,允许 agent 描述「如何进行可视化-what to visualize」而非「如何配置每一个像素」。

How it works

Flint 扮演着编译器的角色,它接收一个简单、可由人类编辑的图表规格说明,,并根据数据、语义类型(例如:Price, Country, Temperature)以及所选的图表类型来推导优化后的设置。然后,它会将此高阶规格说明编译成常用渲染后端的原生配置,包括 Vega-Lite, ECharts, 和 Chart.js。

Who it's for

它主要针对想要让其 agent 生成可靠、专业的图表,以及需要一种与后端无关的方式来定义可视化的开发者,以及 AI agent 开发者。

Highlights

  • Semantic Understanding: 使用超过 70 种语义类型来自动确定数据字段的最佳视觉表示。
  • Automatic Layout: 动态根据数据基数 (cardinality) 和画布约束来调整尺寸、标签和图例。
  • Multi-Backend Support: A single input spec can be rendered across 30+ chart types using Vega-Lite, ECharts, or Chart.js。
  • MCP Integration: 包含一个 Model Context Protocol (MCP) 服务器,使 agent 能够直接在聊天或编程环境中创建、验证并渲染交互式图表。