用途:用 React 前端加 Rust Axum 后端搭建生成式 UI(generative UI)应用,后端把 OpenAI 兼容接口的流式输出以 SSE 转发给前端。触发词包括 openui rust、openui axum、generative ui rust 等。
主要能力:后端提供 POST /api/chat,读取 system-prompt.txt 作为系统提示,调用 OpenAI 兼容的 /v1/chat/completions 流式接口,把回复 chunk 按 \n\n 边界解析后通过 Axum 的 Sse 逐条下发;前端用 @openuidev/react-ui 的 FullScreen 组件配合 openUIAdapter() 与 openAIMessageFormat 渲染。
使用方式:需 Node.js >= 22(建议 24 LTS)、React >= 18.3.1(建议 19+)、Rust >= 1.75 与 Cargo,并设置 OPENAI_API_KEY。前端安装 npm install @openuidev/react-ui @openuidev/react-headless @openuidev/react-lang lucide-react zod;用 npx @openuidev/cli generate ./src/lib/library.ts --out backend/system-prompt.txt 生成系统提示;cargo run 启动后端在 :3001,前端在 :3000。前端 apiUrl 指向 http://localhost:3001/api/chat,并使用 openAIAdapter()(注意 openAIReadableStreamAdapter() 用于 NDJSON,此处不会产出内容)。
限制与注意:需正确配置 CORS 允许前端来源;缺少 system-prompt.txt 或 OPENAI_API_KEY 会报错;SSE 需处理跨 chunk 的部分行;静态 mut 在 Rust 2024 已弃用,示例改用 State<Arc<AppState>>。