项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4463
使用教程
环境要求
- Node.js 环境与 npm 或 yarn 包管理器
- 一个已存在的 React 项目(本包为 React 组件库)
- 支持 CSS Variables 的现代浏览器(IE11 需额外 polyfill)
安装与启动步骤
-
1安装核心包
在 React 项目根目录执行安装,npm 与 yarn 任选其一,不要重复执行两条命令。
npm install @chatui/core --save -
2引入组件与样式
在业务代码顶部引入 Chat、Bubble、useMessages 以及样式文件,样式不引入界面会错乱。
import Chat, { Bubble, useMessages } from '@chatui/core'; import '@chatui/core/dist/index.css'; -
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 与 val | handleSend |
如何确认成功
启动项目后页面出现对话窗口,输入文字发送后右侧出现自己的气泡,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 ···
dotagents
开源
用 .agents/ 目录给 AI 代理减负,让复杂代码库推理更准。
A proposed convention for the .agents/ directory to prevent context bloat and improv···
py-vectara-agentic
开源
用 Vectara 快速搭建能检索、会调用工具的 AI 助手
A python library for creating AI assistants with Vectara, using Agentic RAG
multi-cli
开源
一条命令,为 AI 工具开多个互不干扰的沙箱环境。
Run multiple AI coding accounts at the same time.
langchain-teddynote
开源
让韩语开发者用更少代码快速搭起 LangChain 应用
LangChain 을 더 쉽게 구현하기 위한 유틸 함수, 클래스를 만들어서 패키지로 배포하였습니···
tree-of-thought-llm
开源
让大模型像人类一样反复推敲,多路径思考找最优解
[NeurIPS 2023] Tree of Thoughts: Deliberate Problem Solving with Large Language Mode···
tambo
开源
让 AI 回复直接变成可点的 React 界面
Generative UI SDK for React
beyondllm
开源
快速构建、评估和观测你的 LLM 应用
Build, evaluate and observe LLM apps
awesome-langchain
开源
一站式找到 LangChain 生态好工具,少走弯路
Awesome list of tools and projects with the awesome LangChain framework
