做 Chatbot 界面有哪些好看的组件?和 ui 库
按现在主流方案给你列几个,都是能直接用的。 一、shadcn/ui 官方 chat 组件(2026 年 6 月那一批) 现在官方把聊天界面的核心部分做成了组件:MessageScroller(滚动容器,负责流式回复锚定、恢复历史、跳转消息)、Message(一行消息的布局)、Bubble(气泡,含变体和 reaction)、Attachment(文件图片附件和上传状态)、Marker(流式状态、工具调用、日期分隔这些提示行)。安装方式是 pnpm dlx shadcn@latest add message-scroller message bubble attachment marker。另外新增两个 CSS 工具类:scroll-fade(滚动边缘渐隐)和 shimmer(thinking / generating 的扫光文字)。配套的 @shadcn/react 是无样式 headless 版,滚动逻辑在包里,样式随你换,Radix 和 Base UI 都支持。 二、Vercel AI Elements 基于 shadcn/ui 构建的 AI 界面组件集,20 多个,跟 AI SDK 的 useChat 深度绑定。除了气泡还有 reasoning(思考块折叠)、tool call 展示、代码高亮、sources、conversation 这些。如果你后端用 Vercel AI SDK 做流式,这套最省事。官方也说了,AI Elements 和上面那批不冲突,可以混着用、逐个替换。 三、assistant-ui 更“开箱即用”的一类,组件 + 运行时一起给你,支持 useChat、自定义 transport、附件、引用、前端工具调用。它的定位不是给零件,而是给你一个接近 ChatGPT 的完整壳,适合不想自己拼交互的场景。 四、其他方向 Streamlit / Gradio 的 chat 组件适合快速验证产品原型,丑一点但五分钟能跑起来;Chatbot UI、Lobe Chat 这类开源项目适合直接 Fork 改,学它的多会话、模型切换、prompt 库怎么组织。 几个选型建议: 想完全掌控样式、跟已有设计系统统一,走 shadcn 那批 + 自己写后端;已经在用 Vercel AI SDK,直接上 AI Elements;想最快跑出一个能演示的东西,assistant-ui 或 Gradio;想读架构,去翻 Lobe Chat。 要不要我按你的技术栈(React 还是 Vue、后端用什么模型接口)给个更具体的组合?