在 AIGC 浪潮下,为网站、应用接入 AI 对话能力已成为标配。但从零开发一套完整、美观、稳定的聊天界面,不仅要处理消息气泡、输入框、滚动、流式输出、主题适配等繁琐细节,还要保证多端体验一致,耗时又耗力。
MateChat—— 华为 DevUI 团队开源的AI 对话 UI 组件库,正是为解决这一痛点而生。它基于 Vue3+TypeScript 打造,提供开箱即用的对话组件,让前端开发者无需重复造轮子,快速构建出专业级的 AI 交互界面。
一、MateChat 是什么?核心定位
MateChat 是面向生成式 AI(GenAI)场景的前端 UI 解决方案。
-
设计理念:体验无边界,业务无侵害。在不破坏原有产品架构与视觉风格的前提下,无缝嵌入 AI 能力。
-
核心价值:
- 开箱即用:提供完整的聊天界面组件体系,引入即用。
- 高度一致:跨产品、跨平台统一 AI 对话体验MateChat。
- 深度适配:专为研发工具、企业平台、IDE 等 B 端场景优化MateChat。
- 灵活扩展:支持主题定制、功能扩展、多框架兼容。
-
技术底座:Vue3 + TypeScript,MIT 开源协议,完全免费商用。
-
企业背书:已在华为CodeArts、InsCode AI IDE等产品中大规模落地验证。
二、核心组件与能力
MateChat 将复杂的聊天界面拆解为高内聚、低耦合的标准组件,核心如下:
1. 基础布局组件(快速搭建骨架)
<McLayout>:整体聊天容器,提供标准头部、内容区、底部输入区布局。<McHeader>:对话窗口标题栏,支持自定义 Logo、操作按钮。<McLayoutContent>:消息滚动列表容器,自动处理滚动与加载。<McLayoutSender>:底部输入面板容器。
2. 核心交互组件
<McBubble>:消息气泡。支持用户 / AI 双端样式、Markdown 渲染、代码高亮、头像自定义。<McInput>:智能输入框。支持发送、清空、字数限制、快捷指令按钮。<McPrompt>:快捷提示面板。展示预设问题,引导用户交互。<McMarkdownCard>:高级富文本卡片。支持表格、代码块、Mermaid 流程图,完美适配 AI 输出。
3. 关键特性(开箱即享)
- ✅ 流式输出:原生支持大模型打字机效果,流畅展示思考过程。
- ✅ 主题定制:通过 CSS 变量一键切换主色、气泡色、深浅模式。
- ✅ 多框架兼容:原生 Vue3,支持 React/Angular/ 原生 JS(iframe 嵌入)。
- ✅ 国际化:内置多语言支持,轻松全球化。
- ✅ 状态反馈:加载中、思考中、错误状态等友好提示MateChat。
三、快速上手:5 分钟接入 AI 聊天
1. 安装(npm/pnpm)
运行
npm install @matechat/core @devui-design/icons
2. 全局引入(main.ts)
import { createApp } from 'vue'
import App from './App.vue'
// 引入MateChat
import MateChat from '@matechat/core'
import '@devui-design/icons/icomoon/devui-icon.css'
// 引入样式
import '@matechat/core/dist/style.css'
const app = createApp(App)
app.use(MateChat) // 注册所有组件
app.mount('#app')
3. 编写基础对话界面(App.vue)
<template>
<div class="app-container">
<McLayout class="chat-box">
<!-- 1. 头部 -->
<McHeader title="AI智能助手" />
<!-- 2. 消息列表 -->
<McLayoutContent class="message-list">
<!-- AI消息 -->
<McBubble
align="left"
:content="aiMsg"
:avatar-config="{ name: 'AI' }"
/>
<!-- 用户消息 -->
<McBubble
align="right"
:content="userMsg"
:avatar-config="{ name: '我' }"
/>
</McLayoutContent>
<!-- 3. 输入框 -->
<McLayoutSender>
<McInput
placeholder="请输入问题..."
@submit="handleSend"
/>
</McLayoutSender>
</McLayout>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const aiMsg = ref('你好!我是AI助手,有什么可以帮你?')
const userMsg = ref('')
// 发送消息(对接大模型API)
const handleSend = (text: string) => {
userMsg.value = text
// 这里调用你的大模型接口(OpenAI/DeepSeek/盘古等)
// 接口返回后更新aiMsg.value即可
}
</script>
<style scoped>
.app-container {
width: 800px;
height: 600px;
margin: 20px auto;
border: 1px solid #eee;
border-radius: 8px;
overflow: hidden;
}
.chat-box {
height: 100%;
}
.message-list {
padding: 16px;
}
</style>
4. 对接大模型(以 OpenAI 为例)
安装 SDK:
npm install openai
调用接口:
import OpenAI from 'openai'
const client = new OpenAI({
apiKey: '你的API Key',
baseURL: 'https://api.example.com/v1',
dangerouslyAllowBrowser: true
})
const handleSend = async (text: string) => {
userMsg.value = text
// 流式请求
const stream = await client.chat.completions.create({
model: 'gpt-3.5-turbo',
messages: [{ role: 'user', content: text }],
stream: true
})
// 流式接收并更新UI
aiMsg.value = ''
for await (const chunk of stream) {
aiMsg.value += chunk.choices[0]?.delta?.content || ''
}
}
***
四、适用场景
MateChat 不只是简单的聊天框,它覆盖三大类 AI 交互场景:
- 协作式场景:企业官网、电商、教育平台嵌入 AI 客服 / 助手,与业务流程联动。
- 沉浸式场景:独立 AI 聊天应用、AI 笔记、AI 编程助手(如 CodeArts)。
- 情境式场景:IDE 插件、DevOps 平台、控制台内嵌 AI 辅助,融入开发工作流。
五、为什么选 MateChat?(优势对比)
- 开发效率:传统开发需 1-2 周,MateChat 1 小时搞定。
- 体验质量:华为内部产品打磨,交互细节、稳定性远超自研。
- 维护成本:持续迭代更新,无需自己适配新特性、修复 bug。
- 视觉一致性:一套组件多产品复用,统一品牌 AI 体验。
- 无侵入性:不改造现有业务代码,即插即用。
六、总结
在 AI 应用爆发的今天,MateChat 是前端接入 AI 能力的 “快车道” 。它把复杂的对话 UI 标准化、组件化,让开发者专注于业务逻辑与模型能力,而非界面细节。
无论你是个人开发者想快速做 AI Demo,还是企业需要为产品批量接入 AI 助手,MateChat 都是低成本、高质量、高可靠的首选方案。
立即体验:
- 官网:matechat.gitcode.com/
- GitHub:github.com/DevUI/matec…