ChatUI

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

开源 🏷️完全免费 ✅ 目前可打开 对话助手 🍴 复刻 425 🐛 待处理 54 👀 关注 44
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 4463
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源MIT协议,完全免费,可在线体验UI组件库。

项目预览

ChatUI 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类对话助手
开发团队alibaba
官网地址https://chatui.io
定价模式🏷️完全免费
价格说明开源MIT协议,完全免费,可在线体验UI组件库。
访问状态✅ 目前可打开
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型chat,chatbot,react,ui
GitHub 星标★ 4463
上线时间2020-08-04 00:00:00
代码更新2026-10-12
仓库体积878 KB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-08-09
浏览次数6

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4463

技术标签

使用教程

难度:入门 约 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 <Bubble content={content.text} />;
      }
    
      return (
        <Chat
          navbar={{ title: 'Assistant' }}
          messages={messages}
          renderMessageContent={renderMessageContent}
          onSend={handleSend}
        />
      );
    };

关键配置

配置项必填说明示例
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

上一篇:superduper

下一篇:bottender

同类项目推荐

output 开源

用 TypeScript 构建可靠 AI 工作流,让 Claude 自动写代码

The open-source TypeScript framework for building AI workflows and agents. Designed ···

★ 444 2026-08-09
dotagents 开源

用 .agents/ 目录给 AI 代理减负,让复杂代码库推理更准。

A proposed convention for the .agents/ directory to prevent context bloat and improv···

★ 94 2026-08-09
py-vectara-agentic 开源

用 Vectara 快速搭建能检索、会调用工具的 AI 助手

A python library for creating AI assistants with Vectara, using Agentic RAG

★ 115 2026-08-09
multi-cli 开源

一条命令,为 AI 工具开多个互不干扰的沙箱环境。

Run multiple AI coding accounts at the same time.

★ 177 2026-08-09
langchain-teddynote 开源

让韩语开发者用更少代码快速搭起 LangChain 应用

LangChain 을 더 쉽게 구현하기 위한 유틸 함수, 클래스를 만들어서 패키지로 배포하였습니···

★ 126 2026-08-09
tree-of-thought-llm 开源

让大模型像人类一样反复推敲,多路径思考找最优解

[NeurIPS 2023] Tree of Thoughts: Deliberate Problem Solving with Large Language Mode···

★ 6089 2026-08-09
tambo 开源

让 AI 回复直接变成可点的 React 界面

Generative UI SDK for React

★ 11225 2026-10-20
beyondllm 开源

快速构建、评估和观测你的 LLM 应用

Build, evaluate and observe LLM apps

★ 296 2026-08-09
awesome-langchain 开源

一站式找到 LangChain 生态好工具,少走弯路

Awesome list of tools and projects with the awesome LangChain framework

★ 9593 2026-08-09