GenUI 框架的定位与价值

GenUI 是百度为搜索小工具提供的一整套开发框架与规范体系,它把「怎么写一个合规的小工具、怎么预览、怎么检查、怎么发布到搜索」这件事标准化了。开发者不需要从零摸索平台规则,而是沿着框架给定的脚手架和规范落地即可。

框架由什么组成

以官方 genui-app-builder(v1.1.0)为例,安装后是一个 skill 包,内部保留清晰的层级:

  • SKILL.md:总路由入口,告诉你什么时候用 creator(创作 / 规范 / 自查),什么时候用 toolkit(预览 / 检查 / 列表 / 发布)。
  • genui-creator:规范与创作侧,包含运行环境规则(development-rules)、预检清单(checklist)、包格式(package-format)、打点 API(genui-api)、视觉规范(visual-guidelines)等参考文档。
  • genui-toolkit:工程侧,提供 genui 命令行工具(preview / check / login / logout / list / publish)以及发布流程说明。

实战提醒:这个 skill 包不能拍平到 skills 顶层目录。SKILL.md 是按其内部 skills/genui-*/SKILL.md 的相对路径去定位子 skill 的,拍平后会找不到路由。

它解决的核心问题

没有框架时,开发者面对平台最怕两件事:规则不清楚导致反复返工、发布流程繁琐。GenUI 的价值正是针对这两点:

  1. 规范化:把运行环境、能力边界、包格式、视觉 token、组件、打点方式全部写成可查的文档,开发前有章可循。
  2. 审核前置:通过 genui check 把大部分平台红线(外链、iframe、硬编码色、字号过小等)在本地就拦下来,而不是等到提交审核才被驳回。
  3. 一键发布:提供统一的 CLI,从预览到检查到发布链路打通,不用手动拼接提交表单。

本地优先的架构哲学

GenUI 隐含一个强烈取向:小工具应当是纯前端的本地应用。它鼓励把算法、数据、资源全部内置到产物包里,而不是依赖运行时去拉取远程内容。这既满足了平台的合规要求(不联网、不越权),也让小工具在搜索场景里「秒开」、稳定可控。

对开发者的意义是:你几乎可以用任何熟悉的 HTML/CSS/JS 技术栈去写,只要产物最终是合规的单文件或 ZIP 包,并通过 CLI 检查即可。框架管「合规与分发」,你管「创意与实现」——分工清晰。