microsoft/flint-chart

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

Flint — AI 기반 차트 생성을 위한 시각화 언어

개요

  • 오픈 소스 TypeScript/JavaScript 라이브러리 (flint-chart) 및 MCP (Microsoft Copilot Protocol) 서버 (flint-chart-mcp).
  • 데이터, 의미론적 유형(semantic types), 차트 유형, 테마 및 상호작용을 설명하는 단일 선언적 사양 형식을 제공합니다.
  • 이 사양은 5개의 렌더링 백엔드(Vega-Lite, ECharts, Chart.js, Plotly 및 네이티브 Excel)를 위한 네이티브 사양으로 컴파일됩니다.
  • 52개의 차트 유형, 14개의 시각적 테마(예: Economist, NY Times), 23개의 상호작용 프리셋(브러시, 호버, 드릴다운 등)이 포함되어 있습니다.

AI 에이전트에게 중요한 이유

  • AI 어시스턴트(Copilot, Claude, Cursor 등)는 MCP 서버를 통해 Flint를 호출하여 자연어 요청을 채팅창에 직접 나타나는 대화형 차트로 변환할 수 있습니다.
  • 컴파일러는 의미론적 유형(예: YearMonth, Quantity)을 사용하여 스케일, 서식 및 색상 선택을 추론하므로 에이전트가 저수준의 차트 옵션을 수동으로 작성할 필요가 없습니다.
  • 동일한 사양이 지원되는 모든 백엔드에서 작동하므로, 에이전트는 PNG/SVG, 웹 삽입형 차트, 또는 보고서용 편집 가능한 Excel 차트를 생성할 수 있습니다.

사용 방법

  1. MCP 서버 – npx -y flint-chart-mcp (로컬 stdio)를 실행하거나 호스팅된 서버 URL을 에이전트에 지정합니다. 에이전트는 일반 텍스트 프롬프트로 차트를 요청할 수 있습니다.
  2. 라이브러리 – npm i flint-chart를 설치합니다. React 컴포넌트 또는 바닐라 API를 가져와 ChartAssemblyInput 객체를 전달하면 Flint가 차트를 렌더링합니다.
    import { FlintChart } from "flint-chart/react";
    const spec = { /* data, semantic_types, chart_spec, theme_spec, interaction_spec */ };
    <FlintChart spec={spec} />
    
  3. 사용자 지정 – Theme Lab을 통해 테마를 생성하거나 확장하고, 상호작용 API를 사용하여 사용자 지정 상호작용 사양을 작성합니다.

주요 구성 요소

  • packages/flint-js – 핵심 컴파일러, 백엔드 어댑터, 테마 및 상호작용 엔진.
  • packages/flint-mcp – MCP 서버 구현 및 테스트용 최소 UI.
  • packages/flint-py – Python 포트 미리보기 버전(아직 게시되지 않음).
  • site/ – 갤러리, 라이브 에디터, 테마 탐색기 및 문서를 호스팅하는 Vite-React 사이트.

문서 및 리소스

  • 프로젝트 사이트: https://microsoft.github.io/flint-chart/ – 갤러리, 라이브 에디터, 테마 탐색기.
  • API 참조, 백엔드별 문서, 테마 사양, 상호작용 사양(모두 docs/에 위치).
  • LLM이 차트나 상호작용을 작성하도록 프롬프트하는 방법을 설명하는 에이전트 스킬 마크다운 파일 (agent-skills/).
  • arXiv 학술 논문 (2607.20775)에서 설계 근거 설명.

커뮤니티 및 기여

  • 사용자 지원을 위한 Discord 및 WeChat 그룹.
  • 오픈 기여 모델: 새로운 차트 템플릿, 백엔드 또는 테마 추가. npm run test, npm run build, npm run site로 빌드.
  • MIT 라이선스, Microsoft 유지 관리.

대상 사용자

  • AI 어시스턴트가 강화된 대시보드나 데이터 탐색 도구를 구축하는 개발자.
  • 차트마다 수동 코딩하지 않고도 에이전트가 세련된 시각화를 생성하기를 원하는 프롬프트 엔지니어.
  • 웹, PowerPoint(Excel 경유) 또는 대화형 노트북용 차트를 단일 사양으로 출력해야 하는 데이터 과학 팀.

관련

  • Dispatch
  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트