datopian/portaljs

🌀 AI-native framework for building data portals. Scaffold a full portal from a brief and load datasets in minutes with agentic skills — any backend (CKAN, GitHub, Frictionless).

它解決了什麼

PortalJS 提供一個 AI 原生框架來建構資料入口網站。它消除選擇資料基礎設施(儲存、運算與目錄)以及手動將前端與資料串接的複雜度,讓團隊能夠從需求說明快速轉換成可運作的入口網站,且不會被專屬平台鎖住。

它如何運作

PortalJS 使用一套為 Claude Code 設計的代理技能框架,引導使用者完成架構設計與建置流程。它由三個主要元件組成:

  1. 代理技能:一組斜線指令(例如 /portaljs-architect/portaljs-new-portal),提供最佳基礎設施堆疊建議並產生純粹的 Next.js 程式碼。
  2. 三大介面:標準化的版面配置,包括首頁(Home page)、目錄(Catalog)供探索,以及展示頁(Showcase)用於瀏覽單一資料集。
  3. DataProvider 合約:可插拔的後端系統,使入口網站能在靜態檔案、CKAN、OpenMetadata 或「開放湖倉」(Git + R2 + Parquet + DuckDB) 之間切換,且不必更動前端程式碼。

目標對象

需要建置專業、可擴展資料入口網站以分享與探索資料集的資料團隊與組織,特別是偏好開源工具與無伺服器架構(如 Cloudflare R2/Workers)的使用者。

重點特色

  • AI 驅動的架構:內建顧問技能,根據使用者的具體資料需求推薦儲存與運算堆疊。
  • 無鎖定:產生純粹、可編輯的 Next.js 程式碼,全部歸使用者所有。
  • 預設開放湖倉:推廣使用 Parquet 與 DuckDB 的現代無伺服器堆疊,取代傳統龐大的資料倉儲。
  • 可插拔後端:透過單一 DataProvider 合約支援多種來源,包括 CKAN、GitHub 與 Frictionless Data Packages。
  • 完整工具鏈:提供專門的技能以新增資料集、建立圖表/地圖、定義結構,並可從 ArcGIS Hub 或 Socrata 進行資料遷移。