GitHub热榜----前端已死?AionUi 横空出世:首个开源“生成式UI”框架,让 AI 在运行时“手搓”界面

GitHub热榜----前端已死?AionUi 横空出世:首个开源“生成式UI”框架,让 AI 在运行时“手搓”界面

摘要:2025 年我们还在惊叹于 V0 和 Bolt 的代码生成能力,而 2026 年初,AionUi 的发布宣告了**“运行时生成 (Runtime GenUI)”**时代的到来。不再需要预先写好所有 Component,不再需要 Hardcode 每一个表单。AionUi 允许你的应用根据用户的意图,实时渲染出从未被编码过的 UI 界面。本文带你上手这个颠覆性的开源项目。


🚀 前言:从“写死”到“生成”

传统前端开发的逻辑是:

产品经理提需求 -> 设计师出图 -> 程序员把 UI 写成代码 (React/Vue) -> 打包发布 -> 用户看到静态界面。

如果用户想要一个“分析上季度财报”的功能,而你没写这个页面,用户就没法用。

但昨天登上 GitHub Trending 榜首的 AionUi 打破了这个死循环。它的核心理念是:Don't code the UI, code the Intent (不要编码界面,要编码意图)。

项目地址http://github.com/iOfficeAI/AionUi


🔍 什么是 AionUi?

AionUi 是一个专为 AI Agent 时代设计的动态 UI 渲染引擎

它不像 Ant Design 或 ShadcnUI 那样提供一堆死板的组件,它提供的是一个**“画布 (Canvas)”**。当你告诉它“给我展示一个特斯拉股票的走势分析”时,AionUi 会:

  1. 理解意图:调用底层 LLM(支持 DeepSeek, GPT-4o, Claude)。
  2. 结构化流式输出:大模型实时输出 UI 的 JSON 描述结构 (Aion Schema)。
  3. 即时渲染:前端引擎将 JSON 瞬间映射为高颜值的 React/Vue 组件并挂载到页面上。

简单说:它就是 App 里的 ChatGPT,但它回复的不是文字,而是可以直接交互的按钮、图表和仪表盘。


💡 核心特性解析

1. 🌊 流式组件水合 (Streaming Component Hydration)

传统的 Server-Side Rendering (SSR) 是流式传输 HTML。AionUi 做到的是流式传输组件树。

用户还在输入“我要订一张去...”的时候,AionUi 就已经开始预加载“机票搜索框”的组件骨架了。这种极致的响应速度,让 AI 生成界面的体感延迟几乎为零。

2. 🧩 这种 UI 是“活”的 (Adaptive Context)

同一个 <AionWidget /> 组件:

  • 手机端,它可能生成一个简洁的 BottomSheet。
  • 桌面端,它会自动生成一个复杂的多列 Dashboard。
  • 深色模式用户习惯(比如左撇子模式),全部由 AI 在运行时自动调整,无需开发者写繁琐的 Media Query。

3. 🛡️ 安全沙箱 (UI Sandbox)

这是企业级开发最关心的。AionUi 并不允许 AI 随意生成 <script> 标签。它基于一套严格的 Design System Mapping 机制。AI 只能“拼装”你设计系统中已有的原子组件(Button, Card, Chart),确保生成的界面既安全又符合品牌规范。


💻 极速上手:3分钟重构你的聊天机器人

假设你正在做一个 AI 客服,以前它只能回复文字,现在我们用 AionUi 让它回复界面。

第一步:安装

Bash

npm install @aion-ui/react @aion-ui/core 

第二步:定义原子组件库

你需要告诉 AionUi 你的仓库里有哪些“积木”可用。

TypeScript

// registry.ts import { Button, Card, DatePicker } from '@/components/ui'; export const componentRegistry = { button: Button, card: Card, date_picker: DatePicker, // ... 注册你的 ShadcnUI 或 AntD 组件 }; 

第三步:在页面中使用生成画布

TypeScript

import { AionCanvas } from '@aion-ui/react'; import { useChat } from 'ai/react'; export default function AgentPage() { const { messages, input, handleInputChange, handleSubmit } = useChat(); return ( <div className="chat-container"> {messages.map(m => ( <div key={m.id}> {/* 文字消息 */} <p>{m.content}</p> {/* 如果 AI 觉得需要展示 UI,就会在这里生成 */} {m.toolInvocations && ( <AionCanvas intent={m.toolInvocations[0]} registry={componentRegistry} theme="cyberpunk" // 甚至可以指定风格 /> )} </div> ))} </div> ); } 

效果:

当用户问:“下周三去北京的机票多少钱?”

后台 LLM 不会回复“请去携程查”,而是直接通过 AionCanvas 渲染出一个带有日期选择器和价格列表的卡片,用户直接点击“购买”即可。


⚠️ 现在的局限性

虽然 AionUi 很酷,但作为尝鲜者,你需要知道:

  1. Token 消耗:生成 UI 结构比生成纯文本更消耗 Token(XML/JSON 结构冗余)。建议搭配 DeepSeek-V3 这种低成本模型使用。
  2. 一致性问题:偶尔 AI 会“审美崩坏”,比如把红色按钮放在绿色背景上。需要在 Prompt 层面对设计规范做强约束。

🎯 总结

AionUi 的出现,标志着前端开发进入了 Frontend 3.0 时代。

  • 1.0:HTML/CSS (手写)
  • 2.0:React/Vue (组件化)
  • 3.0:AionUi (意图驱动,运行时生成)

未来,我们可能不再需要写具体的页面,而是编写**“UI 的生成规则”**。

对于开发者来说,现在掌握 AionUi,就是掌握了 Agent 应用层的入场券。

Read more

【Tauri框架学习】Tauri 与 React 前端集成:通信机制与交互原理详解

【Tauri框架学习】Tauri 与 React 前端集成:通信机制与交互原理详解

Tauri 与 React 前端集成:通信机制与交互原理详解 * Tauri 与 React 前端集成:通信机制与交互原理详解 * **一、Tauri 与 React 的集成基础** * **1. 项目结构** * **2. 环境准备** * **二、Tauri 与 React 的通信机制** * **1. 核心机制:命令调用(Command)** * **2. 事件驱动:事件监听(Event)** * **3. 通信流程** * **三、具体示例:React 与 Rust 交互** * **场景1:React 调用 Rust 命令(文件读取)** * **Step 1:Rust 后端定义命令*

《C#上位机开发从门外到门内》3-5:基于FastAPI的Web上位机系统

《C#上位机开发从门外到门内》3-5:基于FastAPI的Web上位机系统

文章目录 * 一、项目概述 * 二、系统架构设计 * 三、前后端开发 * 四、数据可视化 * 五、远程控制 * 六、系统安全性与稳定性 * 七、性能优化与测试 * 八、实际应用案例 * 九、结论 随着互联网技术的快速发展,Web上位机系统在工业自动化、智能家居、环境监测等领域的应用日益广泛。基于FastAPI或Flask的Web上位机系统,凭借其高效、灵活和易于扩展的特点,成为当前研究和应用的热点。本文将详细探讨基于FastAPI和Flask的Web上位机系统的设计与实现,涵盖系统架构、前后端开发、数据可视化、远程控制、安全性、性能优化以及实际应用案例等方面,旨在为相关领域的研究人员和工程技术人员提供参考和借鉴。 一、项目概述 Web上位机系统是一种通过网络实现对远程设备或环境进行实时监控和控制的系统。其核心目标是通过高效的数据传输和处理,确保监控的实时性和准确性,从而实现对远程设备的有效管理和控制。基于FastAPI或Flask的Web上位机系统利用Python的Web框架,通过互联网或局域网实现数据的传输和通信,具有广泛的应用前景。 Fa

SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法

SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法

SpringBoot源码系列文章 SpringBoot源码解析(一):SpringApplication构造方法 SpringBoot源码解析(二):引导上下文DefaultBootstrapContext SpringBoot源码解析(三):启动开始阶段 SpringBoot源码解析(四):解析应用参数args SpringBoot源码解析(五):准备应用环境 SpringBoot源码解析(六):打印Banner SpringBoot源码解析(七):应用上下文结构体系 SpringBoot源码解析(八):Bean工厂接口体系 SpringBoot源码解析(九):Bean定义接口体系 SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法 目录 * 前言 * 源码入口 * 一、初始化注解Bean定义读取器 * 1、BeanDefinitionRegistry(Bean定义注册接口) * 2、获取环境对象Environment * 3、注

基于YOLO26/11/v8算法的Web目标检测系统,人脸表情识别系统,Django+Vue3 的前后端分离,实现摄像头实时识别,YOLO26/YOLO11/v8 + LLM大模型智能分析,科研必备

基于YOLO26/11/v8算法的Web目标检测系统,人脸表情识别系统,Django+Vue3 的前后端分离,实现摄像头实时识别,YOLO26/YOLO11/v8 + LLM大模型智能分析,科研必备

✨ 更新日志 * ✔️ 2026/3/3,2.0 版本,前端导航栏改为侧边栏系统,视频流采用websocket框架延迟更低, YOLO26/YOLO11/YOLOv8 视频流更稳定,在之前的系统增加 LLM 大模型智能分析,是科研必备,支持 YOLO26/11/v8 分类模型、目标检测、分割、obb、关键点检测任务,还支持双模型联合检测与识别,如人脸表情识别、人脸识别等一些识别任务需要检测模型与分类模型共同完成,在人脸表情识别中,单独使用检测模型去识别人脸表情也不是不可以,但有一个问题数据集如果全是头部照片的话,当模型预测的照片是全身照片时,模型识别准确率就没有这么高了, 那么这时候可以用检测模型识别人脸,把人脸信息输入到表情分类模型进行分类即可,反正这是一个通用的系统,更换自己模型即可,大家懂得都懂的,更多功能看下文即可。 摘要 在人工智能迈向通用化(AGI)的今天,“视觉感知 + 语言理解”的多模态联合是未来的趋势。单纯的检测画框已经无法满足复杂的业务需求,如何让系统“看懂”