wanghetommy/ichartjs

An agent-first, JSON-driven visualization runtime for interactive charts, project views, and process diagrams with Canvas and SVG support.

解決的問題

iChart.js 是為了彌補 AI 代理與資料視覺化之間的差距而設計的。它提供一個結構化、與渲染器無關的執行環境,讓代理能從原始資料直接轉換為經過驗證的渲染圖表,無需猜測設定欄位或圖表類型。

作用方式

該函式庫提供一組公開 API(稱為「規劃合約」),代理可遵循這些 API 以確保準確性。典型的工作流程包括:

  1. 能力發現:代理呼叫 getCapabilities() 以查看該函式庫實際能做什麼。
  2. 資料檢視:使用 inspectData(),代理分析資料集。
  3. 規劃:代理使用 planChart() 根據使用者意圖決定最佳圖表類型與編碼方式。
  4. 驗證:代理執行 validateSpec() 以確保生成的 JSON 規格在渲染前正確無誤。
  5. 渲染:代理呼叫 createChart() 使用 SVG 或 Canvas 來渲染視覺化內容。
  6. 說明:代理使用 chart.explain() 向使用者描述結果。

適用對象

  • AI 代理開發者:需要產生專業、經過驗證的資料視覺化的開發者。
  • 前端開發者:將視覺化執行環境整合至 Web 應用程式中,讓 AI 代理能運作的開發者。
  • 程式碼代理:能修改專案程式碼以實作圖表的代理。

主要特色

  • 代理優先設計:包含機器可讀的能力清單與 AI 代理的使用範例。
  • 與渲染器無關:支援 SVG 與 Canvas 渲染。
  • 匯出選項:可匯出為 JSON、SVG、PNG 與 JPEG。
  • 廣泛支援:包含基礎圖表(折線圖、長條圖、餅圖等)、專案檢視(甘特圖、時間軸)與圖表(流程圖、泳道圖)。
  • 零生產依賴:執行環境無任何外部生產相依性。

相關

  • 專案
  • 專案
  • 專案
  • 專案