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 進行繁瑣且複雜的配置細節——例如比例尺、座標軸、間距與佈局——手動調整,而是提供了一種精簡的中間語言,讓 agent 可以描述「何時要視覺化什麼內容」而非「如何配置每一個像素」。

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: 單一輸入規格說明可以透過 Vega-Lite, ECharts, 或 Chart.js 渲染成 30 多種圖表類型。
  • MCP Integration: 包含一個 Model Context Protocol (MCP) 伺服器,讓 agent 可以直接在聊天或程式碼環境中建立、驗證並渲染互動式圖表。