Generative UI SDK for React
💡 Use Cases
最适合为已有React应用快速添加自然语言驱动的动态UI生成能力,让用户通过对话直接操作界面。
构建AI助手界面
Problem: 开发者想为应用添加智能助手功能,但需要手动编写大量逻辑来解析用户指令并调用对应的UI组件。
Solution: 使用Tambo注册业务组件(如销售图表、任务列表),智能体根据用户自然语言指令自动选择并渲染对应组件,实现“显示销售数据”直接生成图表界面。
Example: 用户说“帮我展示上季度各区域销售额对比”,Tambo自动匹配并渲染已注册的<SalesChart>组件,并流式传输区域、时间范围等参数。
自然语言驱动应用
Problem: 用户希望通过聊天或语音指令直接操作应用界面(如添加任务、修改设置),而不需要手动点击按钮或填写表单。
Solution: 通过Tambo将表单、列表等交互组件注册为可生成单元,AI智能体解析用户指令后动态更新UI状态,实现“添加一个明天下午的会议”自动创建任务项。
Example: 在任务管理应用中,用户输入“把项目评审会改到周五”,Tambo自动更新对应的<TaskItem>组件属性并重新渲染界面。
动态仪表盘生成
Problem: 需要根据用户实时需求动态组装数据仪表盘,传统方式需要预置多种布局模板或编写复杂的状态管理逻辑。
Solution: 将各种数据可视化组件(图表、指标卡、表格)注册到Tambo,用户通过自然语言描述需求,系统自动组合并渲染相应的组件集合。
Example: 用户说“我想看实时用户活跃度、留存率和地域分布”,Tambo自动选择并排列<ActiveUsersChart>、<RetentionRateCard>、<GeoDistributionMap>三个组件。
快速集成AI能力
Problem: 已有成熟的React组件库,但想快速为其添加AI对话交互能力,而不想重写组件通信和状态管理逻辑。
Solution: 利用Tambo的Zod模式注册现有组件,内置的流式处理和状态管理自动处理AI指令到组件属性的转换,只需少量代码即可让现有组件支持AI驱动。
Example: 电商后台已有<ProductTable>、<InventoryChart>等组件,通过Tambo包装后即可支持“显示库存低于100的商品”等自然语言查询。
📊 Project Info
- Language
- TypeScript
- Stars
- ⭐ 9,600
- Forks
- 464
- Today
- +127
- Ranking
- #1
- Collection
- Overall
- Trending Date
- February 14, 2026
- Last Push
- 2/13/2026
🏷️ Topics
5分钟上手 Tambo:构建生成式UI的React智能体
本指南将帮助你在5分钟内创建一个React应用,集成Tambo智能体并看到组件动态渲染的效果
🖥️ OS
⚙️ Runtime
🔧 Tools
📝 Steps
创建React应用并安装Tambo
使用Create React App快速搭建项目并安装Tambo核心包
创建TypeScript React应用
$ npx create-react-app my-tambo-app --template typescript进入项目目录
$ cd my-tambo-app安装Tambo核心包
$ npm install @tambo-ai/tambo配置TamboProvider
在应用入口文件中设置TamboProvider,这是Tambo的核心上下文
创建示例组件并注册
创建一个简单的React组件,并使用Zod模式注册到Tambo中
添加智能体交互界面
在应用中添加输入框和显示区域,让用户可以与智能体交互
启动应用并测试
运行开发服务器,测试智能体是否能动态渲染组件
启动开发服务器
$ npm start✅ 验证成功
确认Tambo智能体已正确集成并能动态渲染UI
- ✓应用在浏览器中正常打开
- ✓输入框可以输入文本
- ✓输入'显示欢迎消息'后,页面动态渲染出欢迎组件
- ✓组件正确显示传入的参数内容
⚡ Quick Tips
🔍 Troubleshooting
❓ TamboProvider报错:缺少userKey或userToken
→ 确保在TamboProvider中提供了userKey或userToken参数,用于标识线程所有者
❓ 组件注册后智能体无法识别
→ 检查Zod模式是否正确,确保模式与组件props类型匹配
❓ TypeScript类型错误
→ 确保安装了正确的TypeScript版本(>=4.9),并检查类型导入是否正确
❓ 智能体没有响应
→ 检查API密钥是否正确,网络连接是否正常,以及TamboProvider配置是否完整
🎯 Next Steps
查看官方文档
深入了解Tambo的高级功能和配置选项
探索内置组件
尝试Tambo提供的其他内置组件和示例
集成自己的业务组件
将项目中的现有组件注册到Tambo中
配置MCP支持
设置模型上下文协议,增强智能体的上下文理解能力
Difficulty
初级
Est. Time
3-5小时
Target Audience
具备基础React和TypeScript知识的开发者,希望在自己的React应用中集成AI对话能力,实现自然语言驱动UI更新的前端开发者或AI应用开发者。
🎯 What You'll Learn
你将学会如何将现有的React组件注册到Tambo AI智能体中,并通过自然语言指令(如“显示图表”)让智能体自动选择并渲染对应的交互式UI组件。
📋 Prerequisites
Tambo是一个React工具包,你需要理解JSX、组件、Props、Hooks(如useState, useEffect)等核心概念才能使用它。
项目使用TypeScript编写,了解基础类型(如interface, type)和泛型有助于理解示例代码和类型提示。
用于安装项目依赖和运行开发服务器。
Tambo使用Zod模式来定义组件的属性(Props)结构,这是智能体理解如何调用组件的关键。了解Zod的基本模式定义(如z.object, z.string)即可。
📚 Resources
Tambo Documentation
最权威的指南,包含API详解、概念解释和进阶指南。
GitHub README 及 “Get Started” 部分
项目首页,包含最精炼的概述和快速启动代码片段。
Tambo Discord
与其他开发者交流,向团队提问,获取最新动态和帮助。
“Introducing Tambo: Generative UI for React” 发布公告
了解项目的设计理念、愿景和核心用例,加深理解。
Zod官方文档
当你需要定义更复杂的组件属性模式时,需要查阅Zod文档。
🗺️ Learning Phases
环境准备与项目理解
创建React项目并安装Tambo
1. 使用Create React App或Vite创建一个新的TypeScript React项目。 2. 在项目根目录下,通过npm/pnpm/yarn安装Tambo核心包:`npm install @tambo-ai/tambo`。
通读README,理解核心概念
仔细阅读项目README的“What is Tambo?”和“How It Works”部分。理解三个核心概念:1. 用Zod模式注册组件。2. 智能体根据指令选择并流式传输Props。3. 用户与渲染出的组件交互。
快速上手:第一个Tambo智能体
设置TamboProvider
1. 在你的应用根组件(如App.tsx)中,导入并包裹`TamboProvider`。 2. 根据README的“Get Started”部分,配置`apiKey`(从Tambo平台获取)和用户标识(`userKey`或`userToken`)。对于本地测试,可以先关注组件注册流程。
创建并注册你的第一个组件
1. 创建一个简单的React组件,例如一个显示欢迎信息的`Greeting`组件,它接受一个`name`属性。 2. 使用`defineComponent`函数和Zod模式(`z.object({ name: z.string() })`)来定义这个组件的“调用接口”。 3. 使用`useTambo()`钩子返回的`register`函数注册这个组件。
模拟指令,观察组件渲染
1. 在组件内或通过一个测试按钮,模拟调用`useTambo().appendMessage`,发送一条包含你组件名称和参数的指令(例如,一个符合你定义的Zod结构的对象)。 2. 观察UI中是否成功渲染出了你的`Greeting`组件,并显示了传入的`name`。
核心功能探索
实现流式属性传输
修改你的组件Zod模式,使其包含一些可能需要逐步加载的属性(例如,一个`content`字段,其内容由AI流式生成)。观察当智能体流式传输这些属性时,你的组件如何实时更新。
使用useTamboThreadInput处理用户输入
在应用中集成一个输入框,使用`useTamboThreadInput`钩子来获取用户输入并将其发送给智能体。体验完整的“用户输入指令 -> AI响应并选择组件 -> 渲染UI”的交互循环。
探索状态管理与组件交互
创建一个更复杂的组件(如一个简单的待办事项列表),它内部有自己的状态(新增、完成)。注册后,通过AI指令(如“添加一个买菜的任务”)来触发组件状态的更新,理解Tambo如何作为UI层与AI逻辑的桥梁。
回顾与连接
阅读关键文档与示例
前往官方文档(docs.tambo.co),重点阅读“组件注册”、“属性流式传输”、“与AI模型集成”等核心章节。查找并运行官方的示例项目(Example或Demo)。
规划你的实践项目
基于所学,构思一个能将Tambo用起来的迷你项目点子。例如:一个智能仪表盘,可以用自然语言添加图表组件;或一个笔记应用,可以用语音指令格式化文本。
⚠️ Common Mistakes
❌ Zod模式定义与组件Props类型不匹配
✅ 确保`defineComponent`中Zod模式推导出的类型,与你组件实际接收的Props类型(通常是`interface`或`type`)完全一致。使用TypeScript的泛型来确保类型安全,例如 `defineComponent<YourPropsType>({...})`。
❌ 忘记在应用顶层包裹TamboProvider,或Provider配置错误
✅ 检查`TamboProvider`是否包裹了所有需要使用Tambo的组件。仔细核对`apiKey`、`userKey`/`userToken`的配置,根据环境(客户端/服务端)选择正确的参数。
❌ 未能正确处理异步或流式Props
✅ 当组件属性需要支持流式更新时,确保你的组件能够响应Props的变化。使用React的`useEffect`监听相关Prop的变化,并更新组件内部状态或视图。
❌ 认为Tambo会“自动”理解所有现有组件
✅ Tambo不会自动扫描你的项目。你必须显式地使用`register`函数为每个想要被AI调用的组件进行注册和模式定义。从核心组件开始注册,逐步扩展。
🚀 Next Steps
1. 深入研究与不同AI模型/后端的集成(如OpenAI, Anthropic),配置模型上下文协议(MCP)。2. 探索高级特性,如自定义工具(Tools)、组件间通信、复杂状态管理策略。3. 学习如何优化智能体提示(Prompt),使其更准确地理解你的组件库和业务领域。4. 将Tambo集成到现有的、规模较大的React应用或设计系统中。5. 关注社区,了解其他开发者是如何使用Tambo构建创新应用的。

