Show HN: GolemUI – JavaScript表单的新范式
摘要
GolemUI 是一个声明式表单引擎,通过 JSON 模式定义表单,开箱即用地支持无障碍访问、国际化(i18n)和多框架。
我们是三位好友组成的团队,十年来一直致力于表单和开源领域,如今联手打造了一个能充分运用我们所有经验的项目。<p>我们最近发布了 GolemUI,这是一个开源库,能够根据 JSON 定义动态生成表单,并附带类型层以简化编写。<p>这个库功能丰富,主要特点如下:<p>1. JSON 引擎。表单由 JSON 定义控制,你可以将其存储在数据库中,进行版本管理、差异比较,或者用 LLM 生成经过验证的 JSON。<p>2. 我们还提供 28 个(且持续增加)无头组件,你可以通过 CSS 变量定制样式。我们提供 API,让你可以无缝集成 Material、Shoelace 或你自己的组件。<p>3. 顶层提供开发者体验友好的类型化编写层,以编程方式编写表单,并生成 JSON。这样你无需手动编写 JSON。<p>4. 同一份定义可以在 React、Angular、Vue、Lit 或原生 JavaScript 中渲染 UI 组件。<p>5. 我们还有一个确定性的 MCP,它包含用于验证模型输出、生成 JSON 或代码的工具,并确保 LLM 返回的定义始终有效。<p>你可以在此处获取更多信息:<p>欢迎提供任何反馈,也乐意解答任何问题!
查看缓存全文
缓存时间: 2026/07/01 17:01
# GolemUI - 声明式表单引擎
来源: https://golemui.com/
GolemUI
### React + React Hook Form
- Schema 序列化(表单为 JSON)
- 开箱即用的无障碍、键盘导航、ARIA
- i18n 适配器——自带库
\{gui.\}
- Schema 序列化(表单为 JSON)
- 开箱即用的无障碍、键盘导航、ARIA
- i18n 适配器——自带库
……更多功能(继续往下滚动 ↓)
同一表单,每个框架都能用,渲染代码一并提供。
### 源代码
开始使用 (https://golemui.com/dx/getting-started/installation/)GitHub ↗ (https://github.com/golemui/golemui)
## 构建表单的**全新范式**
操作下面的表单,看看几行声明式 schema 如何生成一个完全反应式的表单——每一步解锁一项功能,驱动它的代码一并展示。
## 用 **JSON Schema 生成表单**
每个字段、规则和布局都是纯 JSON——可移植、可存储、框架无关。存储、部署、生成皆可;UI 根据 schema 自动渲染。
## 你的表单可以**随处运行**
因为 schema 是数据而非代码,表单定义可以到达代码无法触及的地方。大多数表单库离不开代码库,GolemUI schema 可以。
持久化
### 将表单保存在数据库中
在任何数据存储中保存表单定义。进行版本控制、对比差异、回滚。像处理内容一样处理表单。
部署
### 通过 CMS 提供表单
营销和运维团队可以发布、更新和 A/B 测试表单——无需部署,无需工单。
生成
### 用 LLM 生成表单
让模型生成表单 schema,立即渲染。根据提示、文档或数据库列列表自动构建流程。
## 28 个组件,**功能齐全**
以下是部分组件的展示——真实、无障碍、可主题化,全部由同一 schema 驱动。悬停可暂停滚动,与任意组件交互;点击可查看其文档。
## 用**可复用模块组合表单**
编写 `gui.*`——一个带类型提示和自动补全的构建器——将字段、验证器和逻辑作为模块复用;集成第三方库和自有组件。
## 节约 **token 消耗**,轻松通过 **code review**
`\{gui.\}` 小到让 AI agent 能干净地输出——小到让你的团队一眼就能审查完。**同一代码,两项工作。**
React + React Hook Form
0 token
89 行表单代码 · 用 `cl100k_base` 分词
GolemUI
0 token
52 行 · 同一表单减少 41%
开始使用 AI (https://golemui.com/dx/getting-started/build-with-ai/)
## **开箱即用**的功能
无障碍、国际化、验证、性能——其他库需要你自己处理的繁琐工作,这里在你写第一个字段之前都已搞定。
库体积
0kb
gzipped
LCP
0ms
最大内容绘制
Lighthouse
0
满分
GolemUIDIY
Schema 序列化(表单为 JSON)
无障碍(WCAG 2.1 AA & ARIA)
国际化(i18n)
Schema 驱动的验证
+28 个内置组件
## **你的品牌,你的规则**
选择一个主题,表单即刻换肤。GolemUI 提供合理的默认样式——你的品牌只需覆盖原生 CSS 变量即可叠加,无需重新构建、无需编译、无需胶水代码。可制作完整的自定义主题,或仅调整一个 token。
## 表单引擎,**完全自由**
点击任意字段的标签即可切换其来源——我们的内置组件、Material、Shoelace,或你自己的组件。因为 GolemUI 是引擎,而非组件集合,每个字段都可以来自任何地方:使用自带的默认组件、引入第三方库、或接入自己的组件。同一表单中可混搭使用。
### 自带(几乎)一切
……以及几乎所有其他东西——`middlewares` 可拦截响应式引擎,`itemRenderers` 自定义列表渲染方式,`dependencies` 配置组件内部逻辑。
BYOFWK### 自带框架
React、Angular、Lit 和 Vue 是一等公民——也可从纯 Web 组件驱动引擎,或集成你自己的框架。
BYOCS### 自带组件集
基于同一组件架构构建自己的组件集。我们做到了——并将其命名为 \{gui.\}。
BYOV### 自带验证器
任何标准 schema 验证器都可接入——Zod、Valibot 等等。我们自己的验证器基于 Zod 构建。
BYOi18n### 自带 i18n
通过简单适配器映射任意 i18n 库,并保留其擅长的高级功能。
## 准备开始构建了吗?
别再跟表单状态和逻辑较劲了。使用 GolemUI 在几分钟内定义更智能、可序列化的表单。
阅读文档 (https://golemui.com/dx/getting-started/installation/)在 GitHub 上查看 ↗ (https://github.com/golemui/golemui)
相似文章
Show HN: Performative-UI – 一个基于设计手法的React组件库
Performative-UI是一个基于设计手法的React组件库,已在Hacker News上发布。
@heygurisingh: 卧槽……一家初创公司刚刚发布了一个免费的开源规范,用比 JSON 少 67% 的 token 生成 UI 组件…
OpenUI 是一项全新的开源规范,能以比 JSON 少 67% 的 token 生成 UI 组件,提供基于 LLM 的界面生成模型无关、框架中立解决方案。
@tom_doerr: 生成的UI比JSON少用67%的token https://github.com/thesysdev/openui…
OpenUI是一个开源生成式UI框架,它采用流式优先语言,生成的UI相比JSON可减少多达67%的token,并包含React运行时和聊天界面。
使用 htmx 构建渐进增强的表单
关于使用 htmx 构建渐进增强表单的指南,涵盖诸如使用表单值、查询参数和按钮检测进行瞬态状态管理等技术。
Gooey:面向 Zig 的 GPU 加速 UI 框架
Gooey 是一个面向 Zig 的 GPU 加速 UI 框架,通过 Metal、Vulkan/Wayland 和 WebGPU/WASM 支持 macOS、Linux 和浏览器。它提供声明式 UI、动画、主题、无障碍和零外部依赖。