[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73460":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},73460,"tambo","tambo-ai\u002Ftambo","tambo-ai","Generative UI SDK for React","https:\u002F\u002Ftambo.co",null,"TypeScript",11161,570,29,21,0,8,16,73.87,"MIT License",false,"main",[24,25,26,27,28,29,30,31,32,33,34],"agent","agents","ai","assistant","assistant-chat-bots","generative-ui","js","react","reactjs","ui","ui-components","2026-06-12 04:01:09","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002Focto-white-background-rounded.png\" width=\"150\">\n  \u003Ch1>Tambo AI\u003C\u002Fh1>\n  \u003Ch3>Build agents that speak your UI\u003C\u002Fh3>\n  \u003Cp>The open-source generative UI toolkit for React. Connect your components—Tambo handles streaming, state management, and MCP.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@tambo-ai\u002Freact\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F%40tambo-ai%2Freact?logo=npm\" alt=\"npm version\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftambo-ai\u002Ftambo\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ftambo-ai\u002Ftambo\" alt=\"License\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftambo-ai\u002Ftambo\u002Fcommits\u002Fmain\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Ftambo-ai\u002Ftambo\" alt=\"Last Commit\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FdJNvPEHth6\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1251581895414911016?color=7289da&label=discord\" alt=\"Discord\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftambo-ai\u002Ftambo\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ftambo-ai\u002Ftambo\" alt=\"GitHub stars\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F15734\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F15734\" alt=\"tambo-ai\u002Ftambo | Trendshift\" width=\"250\" height=\"55\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Ftambo.link\u002FyXkF0hQ\">Start For Free\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdocs.tambo.co\">Docs\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FdJNvPEHth6\">Discord\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n> **Tambo 1.0 is here!** Read the announcement: [Introducing Tambo: Generative UI for React](https:\u002F\u002Ftambo.co\u002Fblog\u002Fposts\u002Fintroducing-tambo-generative-ui)\n\n---\n\n## Table of Contents\n\n- [What is Tambo?](#what-is-tambo)\n- [Get Started](#get-started)\n- [How It Works](#how-it-works)\n- [Features](#features)\n- [How Tambo Compares](#how-tambo-compares)\n- [Community](#community)\n- [License](#license)\n\n## What is Tambo?\n\nTambo is a React toolkit for building agents that render UI (also known as generative UI).\n\nRegister your components with Zod schemas. The agent picks the right one and streams the props so users can interact with them. \"Show me sales by region\" renders your `\u003CChart>`. \"Add a task\" updates your `\u003CTaskBoard>`.\n\n**[Get started in 5 minutes →](#get-started)**\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8381d607-b878-4823-8b24-ecb8053bef23\n\n### What's Included\n\nTambo is a fullstack solution for adding generative UI to your app. You get a React SDK plus a backend that handles conversation state and agent execution.\n\n**1. Agent included** — Tambo runs the LLM conversation loop for you. Bring your own API key (OpenAI, Anthropic, Gemini, Mistral, or any OpenAI-compatible provider). Works with agent frameworks like LangChain and Mastra, but they're not required.\n\n**2. Streaming infrastructure** — Props stream to your components as the LLM generates them. Cancellation, error recovery, and reconnection are handled for you.\n\n**3. Tambo Cloud or self-host** — Cloud is a hosted backend that manages conversation state and agent orchestration. Self-hosted runs the same backend on your infrastructure via Docker.\n\nMost software is built around a one-size-fits-all mental model. We built Tambo to help developers build software that adapts to users.\n\n## Get Started\n\n```bash\nnpm create tambo-app my-tambo-app  # auto-initializes git + tambo setup\ncd my-tambo-app\nnpm run dev\n```\n\n[**Tambo Cloud**](https:\u002F\u002Ftambo.link\u002FyXkF0hQ) is a hosted backend, free to get started with plenty of credits to start building. **Self-hosted** runs on your own infrastructure.\n\nCheck out the [pre-built component library](https:\u002F\u002Fui.tambo.co) for agent and generative UI primitives:\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6cbc103b-9cc7-40f5-9746-12e04c976dff\n\nOr fork a template:\n\n| Template                                                                 | Description                                       |\n| ------------------------------------------------------------------------ | ------------------------------------------------- |\n| [AI Chat with Generative UI](https:\u002F\u002Fgithub.com\u002Ftambo-ai\u002Ftambo-template) | Chat interface with dynamic component generation  |\n| [AI Analytics Dashboard](https:\u002F\u002Fgithub.com\u002Ftambo-ai\u002Fanalytics-template) | Analytics dashboard with AI-powered visualization |\n\n## How It Works\n\nTell the AI which components it can use. Zod schemas define the props. These schemas become LLM tool definitions—the agent calls them like functions and Tambo renders the result.\n\n### Generative Components\n\nRender once in response to a message. Charts, summaries, data visualizations.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3bd340e7-e226-4151-ae40-aab9b3660d8b\n\n```tsx\nconst components: TamboComponent[] = [\n  {\n    name: \"Graph\",\n    description: \"Displays data as charts using Recharts library\",\n    component: Graph,\n    propsSchema: z.object({\n      data: z.array(z.object({ name: z.string(), value: z.number() })),\n      type: z.enum([\"line\", \"bar\", \"pie\"]),\n    }),\n  },\n];\n```\n\n### Interactable Components\n\nPersist and update as users refine requests. Shopping carts, spreadsheets, task boards.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F12d957cd-97f1-488e-911f-0ff900ef4062\n\n```tsx\nconst InteractableNote = withInteractable(Note, {\n  componentName: \"Note\",\n  description: \"A note supporting title, content, and color modifications\",\n  propsSchema: z.object({\n    title: z.string(),\n    content: z.string(),\n    color: z.enum([\"white\", \"yellow\", \"blue\", \"green\"]).optional(),\n  }),\n});\n```\n\nDocs: [generative components](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fgenerative-interfaces\u002Fgenerative-components), [interactable components](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fgenerative-interfaces\u002Finteractable-components)\n\n### The Provider\n\nWrap your app with `TamboProvider`. You must provide either `userKey` or `userToken` to identify the thread owner.\n\n```tsx\n\u003CTamboProvider\n  apiKey={process.env.NEXT_PUBLIC_TAMBO_API_KEY!}\n  userKey={currentUserId}\n  components={components}\n>\n  \u003CChat \u002F>\n  \u003CInteractableNote id=\"note-1\" title=\"My Note\" content=\"Start writing...\" \u002F>\n\u003C\u002FTamboProvider>\n```\n\nUse `userKey` for server-side or trusted environments. Use `userToken` (OAuth access token) for client-side apps where the token contains the user identity. See [User Authentication](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fuser-authentication) for details.\n\nDocs: [provider options](https:\u002F\u002Fdocs.tambo.co\u002Freference\u002Freact-sdk\u002Fproviders)\n\n### Hooks\n\n`useTambo()` is the primary hook — it gives you messages, streaming state, and thread management. `useTamboThreadInput()` handles user input and message submission.\n\n```tsx\nconst { messages, isStreaming } = useTambo();\nconst { value, setValue, submit, isPending } = useTamboThreadInput();\n```\n\nDocs: [threads and messages](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fconversation-storage), [streaming status](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fgenerative-interfaces\u002Fcomponent-state), [full tutorial](https:\u002F\u002Fdocs.tambo.co\u002Fgetting-started\u002Fquickstart)\n\n## Features\n\n### MCP Integrations\n\nConnect to Linear, Slack, databases, or your own MCP servers. Tambo supports the full MCP protocol: tools, prompts, elicitations, and sampling.\n\n```tsx\nimport { MCPTransport } from \"@tambo-ai\u002Freact\u002Fmcp\";\n\nconst mcpServers = [\n  {\n    name: \"filesystem\",\n    url: \"http:\u002F\u002Flocalhost:8261\u002Fmcp\",\n    transport: MCPTransport.HTTP,\n  },\n];\n\n\u003CTamboProvider\n  apiKey={process.env.NEXT_PUBLIC_TAMBO_API_KEY!}\n  userKey={currentUserId}\n  components={components}\n  mcpServers={mcpServers}\n>\n  \u003CApp \u002F>\n\u003C\u002FTamboProvider>;\n```\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fc7a13915-8fed-4758-be1b-30a60fad0cda\n\nDocs: [MCP integration](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fmodel-context-protocol)\n\n### Local Tools\n\nSometimes you need functions that run in the browser. DOM manipulation, authenticated fetches, accessing React state. Define them as tools and the AI can call them.\n\n```tsx\nconst tools: TamboTool[] = [\n  {\n    name: \"getWeather\",\n    description: \"Fetches weather for a location\",\n    tool: async (params: { location: string }) =>\n      fetch(`\u002Fapi\u002Fweather?q=${encodeURIComponent(params.location)}`).then((r) =>\n        r.json(),\n      ),\n    inputSchema: z.object({\n      location: z.string(),\n    }),\n    outputSchema: z.object({\n      temperature: z.number(),\n      condition: z.string(),\n      location: z.string(),\n    }),\n  },\n];\n\n\u003CTamboProvider\n  apiKey={process.env.NEXT_PUBLIC_TAMBO_API_KEY!}\n  userKey={currentUserId}\n  tools={tools}\n  components={components}\n>\n  \u003CApp \u002F>\n\u003C\u002FTamboProvider>;\n```\n\nDocs: [local tools](https:\u002F\u002Fdocs.tambo.co\u002Fguides\u002Ftake-actions\u002Fregister-tools)\n\n### Context, Auth, and Suggestions\n\n**Additional context** lets you pass metadata to give the AI better responses. User state, app settings, current page. **User authentication** passes tokens from your auth provider. **Suggestions** generates prompts users can click based on what they're doing.\n\n```tsx\n\u003CTamboProvider\n  apiKey={process.env.NEXT_PUBLIC_TAMBO_API_KEY!}\n  userToken={userToken}\n  contextHelpers={{\n    selectedItems: () => ({\n      key: \"selectedItems\",\n      value: selectedItems.map((i) => i.name).join(\", \"),\n    }),\n    currentPage: () => ({ key: \"page\", value: window.location.pathname }),\n  }}\n\u002F>\n```\n\n```tsx\nconst { suggestions, accept } = useTamboSuggestions({ maxSuggestions: 3 });\n\nsuggestions.map((s) => (\n  \u003Cbutton key={s.id} onClick={() => accept(s)}>\n    {s.title}\n  \u003C\u002Fbutton>\n));\n```\n\nDocs: [additional context](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fadditional-context), [user authentication](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fuser-authentication), [suggestions](https:\u002F\u002Fdocs.tambo.co\u002Fconcepts\u002Fsuggestions)\n\n### Supported LLM Providers\n\nOpenAI, Anthropic, Cerebras, Google Gemini, Mistral, and any OpenAI-compatible provider. [Full list](https:\u002F\u002Fdocs.tambo.co\u002Freference\u002Fllm-providers). Missing one? [Let us know](https:\u002F\u002Fgithub.com\u002Ftambo-ai\u002Ftambo\u002Fissues).\n\n## How Tambo Compares\n\n| Feature                            | Tambo                                 | Vercel AI SDK                    | CopilotKit                       | Assistant UI         |\n| ---------------------------------- | ------------------------------------- | -------------------------------- | -------------------------------- | -------------------- |\n| **Component selection**            | AI decides which components to render | Manual tool-to-component mapping | Via agent frameworks (LangGraph) | Chat-focused tool UI |\n| **MCP integration**                | Built-in                              | Experimental (v4.2+)             | Recently added                   | Requires AI SDK v5   |\n| **Persistent stateful components** | Yes                                   | No                               | Shared state patterns            | No                   |\n| **Client-side tool execution**     | Declarative, automatic                | Manual via onToolCall            | Agent-side only                  | No                   |\n| **Self-hostable**                  | MIT (SDK + backend)                   | Apache 2.0 (SDK only)            | MIT                              | MIT                  |\n| **Hosted option**                  | Tambo Cloud                           | No                               | CopilotKit Cloud                 | Assistant Cloud      |\n| **Best for**                       | Full app UI control                   | Streaming and tool abstractions  | Multi-agent workflows            | Chat interfaces      |\n\n## Community\n\nJoin the [Discord](https:\u002F\u002Fdiscord.gg\u002FdJNvPEHth6) to chat with other developers and the core team.\n\nInterested in contributing? Read the [Contributing Guide](.\u002FCONTRIBUTING.md).\n\nJoin the conversation on Twitter and follow [@tambo_ai](https:\u002F\u002Ftwitter.com\u002Ftambo_ai).\n\n## License\n\n[MIT](LICENSE) unless otherwise noted. Some workspaces (like `apps\u002Fapi`) are [Apache-2.0](apps\u002Fapi\u002FLICENSE).\n\n---\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Ftambo-animation.gif\" alt=\"Tambo AI Animation\" width=\"800\">\n\u003C\u002Fp>\n\n**For AI\u002FLLM agents:** [docs.tambo.co\u002Fllms.txt](https:\u002F\u002Fdocs.tambo.co\u002Fllms.txt)\n","Tambo 是一个用于 React 的生成式 UI SDK，能够帮助开发者构建可以根据用户交互自动生成界面的代理。其核心功能包括通过 Zod 模式注册组件、自动选择合适的组件并流式传输属性值，支持对话状态管理和多轮对话处理。技术上，Tambo 提供了一个完整的前后端解决方案，包括前端 React SDK 和后端服务，后者负责处理会话状态和代理执行逻辑，并且支持主流的 AI 服务提供商如 OpenAI、Anthropic 等。该工具非常适合需要快速集成基于自然语言处理能力的动态界面的应用场景，比如数据分析展示、任务管理等，能够显著提升用户体验的同时简化开发流程。",2,"2026-06-11 03:45:38","high_star"]