ChatUI

用 React 快速搭建专业聊天界面,省时又好看

ChatUI 是一套专为对话式界面(Conversational UI)设计的 UI 设计语言和 React 组件库。它解决的是开发聊天机器人、客服系统、智能助手等对话场景时,UI 组件复用难、交互不一致、开发效率低的问题。核心能力包括:提供丰富的对话专用组件(如消息气泡、输入框、快捷回复、卡片列表等),内置多轮对话状态管理,支持流式消息渲染,并遵循一套统一的设计规范,帮助开发者快速构建一致、美观、可扩展的对话界面。基于 TypeScript 开发,类型安全,易于集成到现有 React 项目中。

开源 free 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 4448
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类对话助手
开发团队alibaba
所属国家
官网地址https://chatui.io
定价模式free
价格说明开源MIT协议,完全免费,可在线体验UI组件库。
访问状态
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型chat,chatbot,react,ui
GitHub 星标★ 4448
30天Star增速
HF 下载量
上线时间2020-08-04 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 3 步

环境要求

  • Node.js 环境与 npm 或 yarn 包管理器
  • 一个已存在的 React 项目(本包为 React 组件库)
  • 支持 CSS Variables 的现代浏览器(IE11 需额外 polyfill)

安装与启动步骤

  1. 1安装核心包

    在 React 项目根目录执行安装,npm 与 yarn 任选其一,不要重复执行两条命令。

    npm install @chatui/core --save
  2. 2引入组件与样式

    在业务代码顶部引入 Chat、Bubble、useMessages 以及样式文件,样式不引入界面会错乱。

    import Chat, { Bubble, useMessages } from '@chatui/core';
    import '@chatui/core/dist/index.css';
  3. 3编写对话界面

    用 useMessages 管理消息列表,onSend 中追加用户消息并模拟机器人回复,再渲染 Chat 组件。

    const App = () => {
      const { messages, appendMsg, setTyping } = useMessages([]);
    
      function handleSend(type, val) {
        if (type === 'text' && val.trim()) {
          appendMsg({
            type: 'text',
            content: { text: val },
            position: 'right',
          });
    
          setTyping(true);
    
          setTimeout(() => {
            appendMsg({
              type: 'text',
              content: { text: 'Bala bala' },
            });
          }, 1000);
        }
      }
    
      function renderMessageContent(msg) {
        const { content } = msg;
        return ;
      }
    
      return (
        
      );
    };

关键配置

配置项必填说明示例
navbar.title否对话窗口顶部导航栏显示的标题文本Assistant
messages是由 useMessages 返回的消息列表,交给 Chat 渲染messages
renderMessageContent是自定义每条消息内容的渲染函数,返回 Bubble 等组件renderMessageContent
onSend是用户发送消息时的回调,参数为 type 与 valhandleSend

如何确认成功

启动项目后页面出现对话窗口,输入文字发送后右侧出现自己的气泡,1 秒后收到机器人回复气泡。

常见问题

Q:页面样式丢失或组件错乱怎么办?

A:确认已引入 '@chatui/core/dist/index.css',该样式文件必须与组件一同加载。

Q:npm 和 yarn 可以都执行吗?

A:不可以,两者任选其一即可,重复安装可能造成依赖版本冲突。

Q:支持 IE11 吗?

A:支持,但需要引入 polyfills 以及 IE11 的 CSS Variables Polyfill,如 css-vars-ponyfill。

Q:如何自定义主题配色?

A:README 提到支持强大的主题定制能力,但未给出具体 API,请参考官网 https://chatui.io 文档。

注意事项

  • 本项目是 React 组件库而非可独立运行的服务,必须集成到 React 工程中使用。
  • 运行环境需支持 CSS Variables,否则主题与样式无法正常生效。
  • 示例中的自动回复用 setTimeout 模拟,实际接入时请替换为真实后端接口。

核心亮点

  • 专为对话场景设计,组件高度匹配聊天需求,避免从零造轮子
  • 内置多轮对话状态管理,简化复杂交互逻辑
  • 基于 TypeScript,类型提示完善,代码健壮性高

不足之处

  • 文档/社区待观察
  • 项目星标虽高但更新频率未知,可能落后于 React 生态最新特性

适用场景

  • 开发客服聊天机器人前端界面
  • 构建智能助手或语音助手的对话交互层
  • 需要快速原型验证的对话式产品 Demo

替代项目

React Chat Elements、BotUI、Chatscope

项目介绍

ChatUI 是开发框架领域的开源项目,由 alibaba 开发,2020 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(4,448)位列前 10%,在开发框架分类的 803 个项目里位列前 12%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。开源MIT协议,完全免费,可在线体验UI组件库。从国内网络环境看,可直接访问。

它主要面向的使用场景是:开发客服聊天机器人前端界面。同类可对比的替代方案包括 React Chat Elements、BotUI、Chatscope。

上一篇:superduper

下一篇:bottender

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12