项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2370
使用教程
环境要求
- Node.js 22 或更高版本(README 明确要求 Node 22+)
- 可用的 npm / npx 命令行环境
- 终端可访问网络(npm 源与 GitHub raw 文件)
- 可选:Claude Code,用于使用 PortalJS 技能自动建站
安装与启动步骤
-
1创建门户项目
在终端用一条命令生成名为 my-portal 的 Next.js 数据门户骨架,除 Node 22+ 外无需额外安装。
npm create portaljs@latest my-portal -
2启动开发服务器
进入生成的 my-portal 目录并运行 dev 脚本,README 说明默认访问地址为 http://localhost:3000。
cd my-portal npm run dev -
3查看三个页面
浏览器打开后可见 Home、Catalog(/search)和数据集 Showcase(/@<namespace>/<slug>),内容为示例数据。
-
4安装 AI 技能
把 PortalJS 的 Claude Code 技能安装到 ~/.claude/commands,一次安装后任意目录都能调用,需重启或新开会话。
curl -fsSL https://raw.githubusercontent.com/datopian/portaljs/main/scripts/install-portaljs-skills.sh | bash -
5自动生成门户
在 Claude Code 会话中用 /portaljs-new-portal 描述需求,即可生成 Home、Catalog、Showcase 三个界面。
/portaljs-new-portal "Auckland Council open data portal" -
6接入自己的数据
把自有 CSV/JSON 加入 datasets.json,页面会自动渲染,无需手写代码;也可用 /portaljs-add-dataset 加载。
-
7备选:使用裸模板
不想用 AI 时,用 tiged 拉取 portaljs-catalog 示例模板,安装依赖后同样在 3000 端口启动。
npx tiged datopian/portaljs/examples/portaljs-catalog my-portal cd my-portal && npm install && npm run dev
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
datasets.json | 否 | 数据清单文件,加入自定义 CSV/JSON 后门户自动渲染 | air-quality.csv |
如何确认成功
运行 npm run dev 后,浏览器打开 http://localhost:3000,能看到 Home、/search 目录页与数据集 Showcase 页即成功。
常见问题
Q:需要预先安装什么环境?
A:README 说明除 Node 22+ 外不需要安装其他东西;项目脚手架与依赖由 npm create 自动拉取。
Q:不用 AI 助手可以建站吗?
A:可以。README 提供裸模板方式:npx tiged datopian/portaljs/examples/portaljs-catalog my-portal,再 npm install && npm run dev。
Q:安装技能后找不到 /portaljs 命令?
A:技能装在 ~/.claude/commands,需重启 Claude Code 或新开会话,然后输入 / 即可看到所有技能。
Q:如何换成自己的数据?
A:把自有的 CSV/JSON 文件加入 datasets.json,门户会自动渲染;也可调用 /portaljs-add-dataset 或 /portaljs-add-resource 加载数据。
Q:能不能对接 CKAN 后端?
A:可以,使用技能 /portaljs-connect-ckan 把门户指向 CKAN 后端,部署则用 /portaljs-deploy。
注意事项
- 开发服务器默认端口为 3000,README 中地址为 http://localhost:3000。
- npm create 生成的模板是可自由编辑的普通 Next.js 项目,没有锁定,便于二次开发。
- 技能相关问题可参考仓库内的 .claude/INSTALL.md,README 提到还有版本化插件或从克隆仓库运行两种安装方式。
- 示例模板 portaljs-catalog 的路径为 datopian/portaljs/examples/portaljs-catalog,请勿改成其他路径。
核心亮点
- AI 驱动脚手架:通过自然语言生成门户基础,显著减少手工编码
- 多后端适配:内置 CKAN、GitHub、Frictionless 等连接器,数据接入灵活
- 基于 Next.js:现代 React 框架,性能好且生态丰富
不足之处
- 文档/社区待观察
- AI 生成代码的定制化能力可能有限,复杂需求仍需手动调整
适用场景
- 政府或机构快速搭建开放数据平台
- 企业内部数据目录与数据网格建设
- 数据科学家或分析师快速发布数据集供团队共享
替代项目
CKAN、Dataverse、DKAN
同类项目推荐
codex-profiles
开源
一键切换 Codex CLI 账号配置,多环境开发不折腾。
Save, list, and switch Codex CLI accounts fast.
toon
开源
让LLM提示词更省Token,数据序列化更紧凑
Token-Oriented Object Notation (TOON) – compact, human-readable serialization of JS···
synthora
开源
一份配置,快速搭建和评估你的 LLM 智能体
Synthora is a lightweight, extensible framework for LLM-driven agents and ALM resear···
agentic-rag
开源
让 RAG 像人一样思考,多步推理搞定复杂问答
Agentic RAG to achieve human like reasoning
ComfyUI-LJNodes
开源
让 ComfyUI 工作流更顺滑,一站式自定义节点集
A variety of custom nodes to enhance ComfyUI for a buttery smooth experience.
tilth
开源
让 AI 读代码更省钱,每次回答成本直降 40%
Smart code reading for humans and AI agents. Definitions, callers, dependencies and ···
dialop
开源
让语言代理在目标导向的对话环境中学会协作决策
DialOp: Decision-oriented dialogue environments for collaborative language agents
bottender
开源
一套代码,搞定所有聊天平台,快速构建对话机器人。
⚡️ A framework for building conversational user interfaces.
sagentic-af
开源
用 TypeScript 快速搭建可扩展的自主 AI 智能体
Sagentic.ai Agent Framework - Sagentic.ai is a unified platform for building, runnin···
