全文目录:
- 摘要
- 一、云原生进入深水区:为什么需要 DevUI 与 MateChat
- 二、DevUI 组件生态:使用、实践与创新
- 三、MateChat 智能应用:落地实践与创新探索
- 四、DevUI × MateChat:一体化智能前端体验蓝图
- 五、结语:云原生前端进入“智能体验工程化”时代
摘要
当云原生开发进入“深水区”,单纯把页面“做出来”已经远远不够:
前端需要同时扛住 复杂业务控制台 与 智能交互体验 两座大山。
DevUI 和 MateChat,正是华为云在这一背景下给前端开发者准备的“双引擎”。
相关官方地址汇总如下:
- MateChat:https://gitcode.com/DevCloudFE/MateChat
- MateChat官网:https://matechat.gitcode.com
- DevUI官网:https://devui.design/home

一、云原生进入深水区:为什么需要 DevUI 与 MateChat
云原生的“深水区”有两个典型特征:
-
控制台与中后台越来越复杂
- 数十乃至上百个菜单模块
- 表格动辄上万行、复杂筛选、嵌套详情
- 多云 / 多集群视角切换
-
AI 能力开始深度融入产品本身
- 日志 / 告警需要 AI 帮助分析与归因
- 复杂配置希望通过自然语言引导
- 开发者期待在 IDE / DevOps 平台中随时“叫醒”智能助手
在这种背景下,前端如果仍然是“每个项目各自维护一套组件、一套智能入口、一套风格”,不仅开发成本高,而且体验割裂严重。
DevUI 提供的是:
一套面向企业中后台产品的开源前端通用解决方案,包含设计体系与组件库,可开箱即用,支持云控制台等复杂场景。
MateChat 提供的是:
一套面向智能化场景的前端 UI 解决方案,用于轻松构建 AI 应用,已服务华为内部多个智能化改造,并支撑 CodeArts、InsCode AI IDE 等智能助手能力。
两者结合,构成从 中后台界面 → 智能对话体验 的完整链路:
- DevUI:专业的 企业级 UI 基座 + 设计体系 + 丰富组件
- MateChat:专注 GenAI 对话体验与智能化场景的 UI 套件
接下来,我们先从 DevUI 组件生态讲起,再切换到 MateChat 智能体验,最后合并成一套统一的实践蓝图。

二、DevUI 组件生态:使用、实践与创新
2.1 DevUI 的定位与技术全景
从官方介绍来看,DevUI 的几个关键点可以总结为:
-
面向 企业中后台 / 工具类产品 的开源前端解决方案
-
设计价值观:高效、开放、可信、乐趣
-
提供完整的 DevUI Design 设计体系(规则、语言、最佳实践)
-
目前主要版本:
- Angular 版本:ng-devui
- Vue 版本:vue-devui(Vue DevUI)
-
已沉淀 60+ 组件,覆盖表格、表单、弹窗、甘特图、Markdown、代码编辑、树表格等复杂场景
-
拥有 DevUI Travel 等教学示例与 Admin 模板,方便快速搭建应用
DevUI 主要版本为 Angular 与 Vue 版本,下文的代码也将主要围绕这两条技术线展开。
Angular 生态:ng-devui 概览
- 通过
npm i ng-devui安装 - 基于 Angular 官方 CLI 创建项目,按模块方式引入组件
- 适配到当前主流 Angular 版本(如 ^18.0.0),拥有表格、表单、导航、布局等完整组件体系
Vue 生态:vue-devui / Vue DevUI
- 基于 Vue3 + Vite + TypeScript + JSX 的企业级组件库
- 安装方式(官方示例):
npm create vite my-vue-app --template vue-ts
cd my-vue-app
npm i vue-devui @devui-design/icons devui-theme
Vue DevUI 提供 60+ 组件、完整主题系统,并为研发工具场景做了专门优化。
2.2 高频组件进阶用法与避坑指南(表格 / 表单 / 弹窗)
在云控制台与 B 端系统里,表格、表单、弹窗 是绝对的高频组合。DevUI 在这些能力上已经做了大量沉淀,但也同样容易踩坑。
2.2.1 表格:大数据展示与复杂交互
DevUI datatable 提供了大量高级特性:树形表格、列拖拽、批量行拖拽、固定列、可编辑单元格、扩展行等。
典型场景:10w 级数据的集群资源列表
-
要求:
- 支持条件筛选(状态、命名空间、标签)
- 支持多字段排序
- 支持行展开查看 Pod 列表或事件
- 支持列拖动、固定、宽度调整
实践建议:
-
尽量使用内置虚拟滚动与分页组合
- 前端仅保留当前页 + 部分缓存
- 与后端协商“分页 + 排序 + 过滤”协议,避免一次性加载全部数据
-
树形表格用于“集群 → 节点 → Pod”这类结构
- 利用
nestedColumn与children字段组合构建树 - 使用
$isChildTableOpen控制节点展开状态,以减少 DOM 负担
- 利用
-
批量行拖拽适合用在“任务优先级调整”类场景
- 通过 DevUI 提供的 DragDrop 组件配合 datatable 实现
- 需要注意:批量选中 + Ctrl 多选交互要与产品交互统一
-
常见坑点:
-
坑 1:在
*ngFor中直接绑定复杂函数- 会导致性能问题,尤其在大表格中;建议计算好数据,使用纯字段绑定。
-
坑 2:在表格行中嵌套过多自定义组件
- 需要关注变化检测成本,可考虑
OnPush策略或虚拟滚动。
- 需要关注变化检测成本,可考虑
-

2.2.2 表单:动态配置与校验策略
DevUI 为表单提供输入框、选择器、时间日期、数字输入、多选、开关等组件,可支持复杂的配置面板、创建向导等。
实战建议:
-
统一“表单模型”与“后端 DTO”结构
- Angular 使用
FormGroup+FormControl,Vue 使用reactive/ref。 - 字段结构尽量贴近后端模型,方便序列化与回显。
- Angular 使用
-
采用表单 Schema 驱动复杂配置
-
在云原生控制面板中,资源创建往往配置项很多,比如:
- 容器资源限制
- 挂载卷
- 网络策略
-
建议通过 JSON Schema 或自定义配置描述,将其映射到 DevUI 表单组件,便于后期动态扩展。
-
-
校验策略:前后端同时兜底
- DevUI 表单提供必填、正则等基础校验,适合做即时反馈。
- 核心配额、资源限制等规则仍需后端最终确认,避免绕过。

2.2.3 弹窗:从简单对话框到“弹窗表单”
在 DevUI 中,典型的组合是 modal + form + datatable:
-
使用 modal 作为容器
-
内部是表单或表格
-
常见场景:
- “新建资源”
- “批量编辑”
- “选择资源 / 选择用户”的列表选择弹窗
借鉴常见的 Vue 弹窗 + 表格实现思路(如 Worktile 示例),我们可以在 DevUI 中做一套标准模式:
设计建议:
- 弹窗表单拆为独立组件(例如
ResourceFormDialog) - 父组件只负责控制弹窗开关与数据回填
- 弹窗内部统一暴露
onConfirm / onCancel事件,并返回表单数据或选择结果 - 在 Angular 中通过
@Output+EventEmitter,在 Vue 中通过emit('submit')
避坑要点:
- 避免一个弹窗组件同时负责多种完全不同的表单结构,易变得难以维护
- 跨业务复用时,适当引入插槽 / ng-template 来扩展布局,而不是硬编码字段

2.3 自定义组件与插件:让 DevUI 说“业务语言”
DevUI 提供的是一套通用的企业级前端组件与设计体系,但真正的业务往往需要在其之上进一步抽象——将 DevUI 组件组合成“业务组件”。
2.3.1 基于 DevUI Design 的业务组件规范
基于 DevUI Design 的价值在于:
设计体系已经定义了色板、间距、字号、交互反馈等统一规范,开发者可以专注业务逻辑,设计师专注体验流程。
在团队内部,可以约定:
-
业务组件命名以
Biz前缀,例如BizClusterSelectorBizNamespaceCascaderBizAlarmRuleEditor
-
内部统一使用 DevUI 的 Button、Form、Select、Tree、Dropdown、Tabs 等组件
-
输出稳定的属性 / 事件接口供上层页面引用
2.3.2 自定义插件与模块拆分
对大型云管控制台,可以将业务组件按 领域模块 拆分成多个 Angular / Vue 子包,例如:
@company/devui-biz-cluster@company/devui-biz-monitor
每个包内部都基于 DevUI 实现业务组件,导出给各应用复用,从而让 DevUI 真正成为团队的 UI 底座。

2.4 主题与样式定制:品牌适配、暗黑模式与响应式布局
DevUI 在主题化方面提供了完整能力,尤其在 Vue DevUI 中通过 devui-theme 等包,实现按需切换与自定义主题。
2.4.1 品牌主题适配的三步法
-
确立品牌基础色板
- 主色(Primary)、成功色、危险色、警告色、信息色
- 对应 DevUI 中基础色变量
-
在 DevUI 主题中覆写变量
- Vue DevUI 通常通过引入默认主题,然后在自定义主题文件中覆盖
- 可定义“云控制台主题”“企业版主题”“运营后台主题”等
-
输出主题规范文档
- 将主题变量与视觉稿对应关系整理,形成统一的设计资产
- 方便新项目快速接入 DevUI + 统一主题
2.4.2 暗黑模式与 IDE 风体验
MateChat 官方提到其主题中内置 多种主题(如 ide-light / ide-dark 等),DevUI 也支持主题化体系,两者结合可以构建“IDE 风”的统一体验。
实践上可以:
- 将 DevUI 的暗色主题与 MateChat 的
ide-dark主题进行视觉对齐 - 在云 IDE / 在线代码平台中,使用统一的暗黑背景、对比度与代码高亮风格
- 通过
data-theme或 CSS 变量切换统一主题,避免各组件库各玩一套
2.4.3 响应式布局技巧
在云原生多端访问场景中,控制台已不仅限 PC 宽屏,有时需要适配:
- 窄屏笔记本
- 嵌入 iFrame 的“小窗口”
- 平板设备
DevUI 组件库本身有良好的栅格与布局能力,建议:
- 统一使用 DevUI 栅格系统 + Flex 布局
- 表格在窄屏时启用“列收缩”或水平滚动,而不是强行挤下所有列
- 智能对话区域(如稍后会介绍的 MateChat 嵌入)在窄屏下可折叠为图标浮层
2.5 云原生场景落地:云控制台、企业级系统与 B 端应用实践
DevUI 的定位就是服务于 云控制台、研发工具、企业中后台,在这些场景中,它可以发挥出最大价值。
2.5.1 云控制台:多集群、多租户的复杂视图
典型使用方式:
-
布局层面:导航 + 顶部工具栏 + 内容区域
-
内容区域:
- Tab 切换不同资源类型(集群、节点、工作负载、存储、网络)
- 使用 DevUI datatable 展示资源列表
- 使用 Drawer / Modal 展示详情与编辑界面
-
辅助能力:
- 使用 DevUI ECharts 封装可视化监控图表
- 使用步骤条(Stepper),实现资源创建向导
2.5.2 企业级系统 / B 端应用:统一体验与快速交付
无论是内部运营系统、供应链管理,还是 DevOps 平台,DevUI 的价值体现为:
- 统一的组件与交互体验
- 减少“重复造轮子”的成本
- 提高设计稿 → 前端实现的一致性
当团队拥有多条业务线时,DevUI 可以作为:
- 企业内部 统一 UI 组件库
- 搭配 CI/CD 实现自动发版与依赖升级
- 逐步统一各遗留系统的交互与视觉

2.6 从 0 到 1 的入门实战教程
下面给一个尽可能贴近实战的 “Hello DevUI 控制台” 教程,分别以 Angular 与 Vue 为例。
2.6.1 Angular + DevUI 快速上手
官方推荐做法:使用 Angular CLI 创建项目,再引入 ng-devui。
# 1. 全局安装 Angular CLI
npm install -g @angular/cli
# 2. 创建项目
ng new devui-console
cd devui-console
# 3. 安装 DevUI 组件库及图标库
npm i ng-devui
npm i @devui-design/icons
在 app.module.ts 中引入 DevUIModule:
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { DevUIModule } from 'ng-devui';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
BrowserAnimationsModule, // DevUI 部分组件依赖动画模块
DevUIModule
],
bootstrap: [AppComponent]
})
export class AppModule {}
在 app.component.html 中搭一个最小可用的控制台主界面:
<d-layout>
<d-aside width="220px">
<d-menu [mode]="'vertical'">
<d-menu-item>集群管理</d-menu-item>
<d-menu-item>工作负载</d-menu-item>
<d-menu-item>存储卷</d-menu-item>
<d-menu-item>告警与事件</d-menu-item>
</d-menu>
</d-aside>
<d-layout>
<d-header>
<div class="console-header">
<span class="logo">DevUI Cloud Console</span>
</div>
</d-header>
<d-content>
<d-card>
<d-card-header>集群列表</d-card-header>
<d-card-content>
<d-datatable
[dataSource]="clusters"
[tableWidthConfig]="tableWidthConfig"
>
</d-datatable>
</d-card-content>
</d-card>
</d-content>
</d-layout>
</d-layout>
这已经是一个具备中后台雏形的页面,新手在这个基础上可以逐步体验:
- 如何增加表格列配置
- 如何添加搜索条件、分页
- 如何接入后端 API
2.6.2 Vue3 + Vue DevUI 快速上手
根据官方快速开始教程:
# 1. 使用 Vite 创建 Vue3 + TS 项目
npm create vite my-vue-app --template vue-ts
cd my-vue-app
# 2. 安装 Vue DevUI 与图标库、主题包
npm i vue-devui @devui-design/icons devui-theme
在 main.ts 中引入:
import { createApp } from 'vue';
import App from './App.vue';
import DevUI from 'vue-devui';
import 'vue-devui/style.css';
import '@devui-design/icons/icomoon/devui-icon.css';
const app = createApp(App);
app.use(DevUI);
app.mount('#app');
在 App.vue 中快速搭建一个 DevUI 页面:
<template>
<d-layout>
<d-aside width="220px">
<d-menu mode="vertical">
<d-menu-item>项目列表</d-menu-item>
<d-menu-item>流水线</d-menu-item>
<d-menu-item>制品仓库</d-menu-item>
</d-menu>
</d-aside>
<d-layout>
<d-header>
<div class="header">
<span class="logo">DevUI DevOps</span>
<d-button type="primary" @click="onCreate">New Project</d-button>
</div>
</d-header>
<d-content>
<d-card>
<template #header>项目列表</template>
<d-table :data="projects">
<d-column field="name" header="Name" />
<d-column field="owner" header="Owner" />
<d-column field="status" header="Status" />
</d-table>
</d-card>
</d-content>
</d-layout>
</d-layout>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
const projects = ref([
{ name: 'Cloud Console', owner: 'Team A', status: 'Running' },
{ name: 'DevOps Platform', owner: 'Team B', status: 'Idle' }
]);
const onCreate = () => {
// TODO 新建项目弹窗
};
</script>
新手在此基础上可以继续练习:
- 增加搜索条、筛选条件
- 通过 Axios / Fetch 接入真实后端
- 引入更复杂的 DevUI 组件(如表格扩展行、Tag、状态 Badge 等)

2.7 跨场景创新:DevUI × AI 可视化 × 低代码
DevUI 不只是“组件库”,更是一个可以嵌入 AI 可视化与低代码平台 的基础能力。
2.7.1 使用 DevUI + ECharts 搭建 AI 监控看板
Vue DevUI 官方提供了基于 ECharts 的图表集成组件,适合展示 AI 模型调用量、响应时间、错误率等指标。
典型做法:
-
使用 DevUI Card 容器包裹 ECharts 图表
-
通过 Tabs 在“调用量 / 延迟 / 错误率”之间切换
-
在 AI 相关场景中可视化:
- 模型 QPS 波动
- 各租户 Token 使用量
- 智能助手命中“知识库回答 / 大模型自由回答”的占比
2.7.2 DevUI 与低代码平台的结合
在社区实践中,DevUI 已经与如 H5-Dooring 之类的低代码平台有合作案例。
团队可以:
- 将 DevUI 组件封装为低代码平台中的“物料组件”
- 让产品经理 / 运营同学通过拖拽搭建简单的 B 端页面(报表、配置页)
- 对复杂页面仍由前端工程师使用 DevUI 手写,以兼顾效率与灵活度
2.7.3 与 MateChat 的可视化协同
在后文会看到,MateChat 提供了多种对话与卡片组件能力。它们完全可以基于 DevUI 的设计体系与主题,与 DevUI 页面无缝融合,构建:
- 控制台中的“智能分析卡片”
- 监控看板中的“AI 建议浮层”
- 低代码页面中的“智能配置助手”
这也为下一节的 MateChat 部分打下基础。

三、MateChat 智能应用:落地实践与创新探索
从这里开始,我们切换到“智能交互”视角,看看 MateChat 如何补齐 DevUI 在 AI 体验层的能力。
3.1 MateChat 的定位:前端智能化场景解决方案 UI 库
根据官方 README 与网站信息,MateChat 的核心定位是:
-
前端智能化场景解决方案 UI 库,帮助开发者 轻松构建 AI 应用
-
已服务于华为内部多个应用的智能化改造,支撑 CodeArts、InsCode AI IDE 等智能助手能力
-
基于 DevUI / vue-devui 主题能力实现主题化,支持多种主题(如 IDE 风主题)
-
提供丰富的智能场景组件:
- 对话消息气泡(Bubble)
- 头部 Header
- 输入框/Input、快捷提示组件
- 多种卡片模板(列表类、总览类、代码展示类等)
-
支持国际化与响应式布局,适用 DevOps 平台、IDE、云控制台等多种场景
- MateChat 不提供 SDK 形式,它本质上是 纯前端 UI 组件库,不会替你完成模型对接。
- 要对接大模型(如盘古大模型 / OpenAI / 其他服务),需要在你的业务中通过 HTTP / WebSocket / SSE 等方式调用模型 API,然后将结果通过 MateChat 组件进行渲染和交互。

3.2 从 0 到 1:用 MateChat 搭建一个智能助手界面
MateChat 官方建议基于 Vite + Vue3 + TypeScript 搭建项目,再引入 vue-devui 与 @matechat/core 等依赖。
3.2.1 项目初始化与依赖安装
# 1. 初始化 Vue3 + TS 项目
npm create vite my-ai-app --template vue-ts
cd my-ai-app
# 2. 安装 DevUI + MateChat + 图标库
npm i vue-devui @devui-design/icons devui-theme
npm i @matechat/core
在 main.ts 中同时引入 DevUI 与 MateChat(示意代码,具体包名以实际为准):
import { createApp } from 'vue';
import App from './App.vue';
import DevUI from 'vue-devui';
import 'vue-devui/style.css';
import '@devui-design/icons/icomoon/devui-icon.css';
// MateChat 样式
import '@matechat/core/style.css';
const app = createApp(App);
app.use(DevUI);
// MateChat 如果有 install 方法,可以直接 app.use(MateChat),
// 如无全局 install,则按需在组件内使用其组件。
app.mount('#app');
这里遵守“MateChat 无 SDK”的事实:我们只把它当作普通 UI 组件库使用,模型调用逻辑完全在自己的代码里实现。
3.2.2 组装基础对话界面
根据官方文档与示例,MateChat 提供了消息气泡 Bubble、Header 等组件,用于承载对话内容与应用头部。
一个最简版对话界面可以是:
<template>
<div class="chat-page">
<McHeader
title="MateChat Demo"
logoImg="/logo.svg"
:logoClickable="true"
@logoClicked="handleLogoClick"
>
<template #operationArea>
<d-button size="sm" @click="clearMessages">Clear</d-button>
</template>
</McHeader>
<div class="chat-body">
<McBubble
v-for="(msg, index) in messages"
:key="index"
:content="msg.content"
:align="msg.from === 'user' ? 'right' : 'left'"
:loading="msg.loading"
:avatarConfig="msg.avatarConfig"
/>
</div>
<div class="chat-input">
<McInput
v-model="inputValue"
placeholder="Ask anything about your cluster..."
@submit="onSubmit"
/>
</div>
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
interface ChatMessage {
from: 'user' | 'model';
content: string;
loading?: boolean;
avatarConfig?: {
name?: string;
imgSrc?: string;
displayName?: string;
};
}
const messages = ref<ChatMessage[]>([]);
const inputValue = ref('');
const handleLogoClick = () => {
// 可跳转到文档或帮助中心
};
const clearMessages = () => {
messages.value = [];
};
const onSubmit = async (value: string) => {
if (!value.trim()) return;
messages.value.push({
from: 'user',
content: value,
avatarConfig: { displayName: 'Me' }
});
inputValue.value = '';
// 这里调用后端模型服务,示例为占位逻辑
messages.value.push({
from: 'model',
content: 'Thinking...',
loading: true,
avatarConfig: { displayName: 'AI' }
});
const index = messages.value.length - 1;
const answer = await callModelAPI(value);
messages.value[index].content = answer;
messages.value[index].loading = false;
};
const callModelAPI = async (ques: string) => {
// TODO: 替换为真实 HTTP / SSE / WebSocket 调用逻辑
// 这里先返回一个简单字符串
return `You asked: ${ques}. This is a mock answer from model.`;
};
</script>
这个示例体现了 MateChat 的几个核心点:
- UI 结构全部由 MateChat + DevUI 组件完成
- 对话状态由前端自行维护(
messages) - 模型调用逻辑完全由业务方控制(
callModelAPI),MateChat 不承担 SDK 职责
3.2.3 与大模型服务对接示例
MateChat 官方文档给出了如何使用 OpenAI SDK 进行对接的示例逻辑:通过 openai.chat.completions.create 创建流式响应,并不断向前端追加内容。
我们可以参照其思想,用前端代码大致实现:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: '', // 由你自己提供
baseURL: '', // 可指向代理 / 网关
dangerouslyAllowBrowser: true
});
const fetchData = async (ques: string) => {
// 这里演示流式更新 messages 中最后一条 model 消息的 content
const completion = await client.chat.completions.create({
model: 'my-model',
messages: [{ role: 'user', content: ques }],
stream: true
});
for await (const chunk of completion) {
const content = chunk.choices[0]?.delta?.content || '';
// 将 content 追加到最后一条 model 消息上
}
};
再次强调:MateChat 本身只负责 UI 交互,不攫取 API Key,也不封装模型 SDK。这保证了方案的灵活性与安全性。

3.3 落地实践:把 MateChat 嵌入现有产品的三类路径
MateChat 在官方站点中展示了一个比较典型的真实 case:InsCode AI IDE 使用 MateChat 作为 IDE 插件的 AI 助手 UI。
基于此,我们可以抽象出三类常见嵌入模式:
3.3.1 模式一:DevOps / 云管平台中的“侧边智能助手”
-
布局:
- 左侧为主导航 + 资源列表
- 右侧为可折叠的 MateChat 对话面板
-
触发方式:
- 固定入口按钮(如“AI 帮我看一下”)
- 右下角浮动按钮
-
能力示例:
- 选中某个 Pod / 任务后,可以一键将上下文(日志片段、监控指标)发送给 MateChat
- 让 AI 帮你解释某个告警、排查可能原因、推荐下一步操作
这个模式下,前端只需要:
- 在主页面布局中引入 MateChat 对话区域
- 将当前上下文封装为 prompt 或结构化 JSON,发送给后端模型
- 对话结果以 Bubble / 卡片形式展示
3.3.2 模式二:云 IDE / 代码平台中的嵌入式 AI 面板
InsCode AI IDE 的实践告诉我们:MateChat 可以很自然地与 IDE 的布局结构融合:
-
常见布局:
- 左侧文件树
- 中间编辑器
- 右侧或底部 MateChat 对话面板
在这种场景中,MateChat 可以承担:
- 代码解释 / 重构建议
- 单测生成辅助
- 日志 / 控制台输出分析
MateChat 的优势在于:
- 内置的对话交互体验与 IDE 风主题,与 DevUI 一致的设计语言
- 可以通过卡片组件展示代码片段、Diff 结果等信息
3.3.3 模式三:知识库 / 帮助中心中的智能问答
对于已有文档中心,可以:
- 使用传统 DevUI 页面展示目录与文档内容
- 使用 MateChat 在页面侧边提供智能问答区
- 将用户问题 + 当前文档上下文发送到后端的 RAG(检索增强生成)服务
- 用 MateChat 的气泡与卡片展示回答,并附上引用文档段落链接(如“来源:安装指南 > 步骤 3”)

3.4 创新玩法:智能体、知识检索、自然语言生成 UI、工作流与多模态
MateChat 官方在预热文中提到:
- 一站式智能对话解决方案
- 丰富的卡片模板(列表、总览、代码展示等)
- 支持主题定制、国际化、响应式等特性
虽然 MateChat 本身并不直接提供智能体编排或知识检索引擎,但我们完全可以基于它构建更加“聪明”的前端体验。
3.4.1 智能体(Agent)与工具调用的前端呈现
后端可以运行真正的智能体框架,负责:
- 根据用户意图选择工具(如“查日志”“查监控”“变更配置”)
- 串联多个调用步骤并记录思维链(Chain-of-Thought)
而前端 MateChat 则:
-
将每一步调用结果以卡片形式展示,如:
- “已为你查询最近 5 分钟的错误日志”
- “正在为你回滚到上一版本的配置”
-
在气泡下面用“时间线 / 步骤条卡片”将调用过程可视化
这种设计同时实现了:
- 过程可监督(用户知道 AI 在做什么)
- 结果可解释(每一步有具体证据与操作)
3.4.2 知识检索(RAG)与证据展示
在 RAG 场景下,我们希望让用户明白:
- AI 的答案引用了哪些文档
- 是否存在多份可能冲突的说明
MateChat 可以通过以下方式呈现:
-
用一个“知识引用卡片”列出相关文档:
- 标题 + 摘要 + 来源链接
-
对关键句高亮显示,并允许一键跳转到全文
-
在对话气泡中显示类似“回答依据:安装手册 V2.1、第 3 章”
前端只需:
- 约定后端返回结构化格式(如
citations字段) - 在 MateChat 卡片组件中渲染这些信息
3.4.3 自然语言生成 UI(NL → UI)的尝试
结合 DevUI + MateChat,可以做一些非常有趣的探索:
-
用户用自然语言描述需求:
- “帮我创建一个 CPU 限制为 2 核、内存 4G 的 Deployment”
-
后端根据语义生成:
- k8s YAML
- 或 DevUI Form 的默认值配置
-
前端使用 DevUI 表单组件渲染这些值,并通过 MateChat 展示“生成结果预览卡片”。
MateChat 在这里承担两个角色:
- 与用户对话,收集自然语言需求
- 渲染 AI 生成的 UI 结果预览,如卡片式呈现 YAML 片段、表单截图说明等
3.4.4 工作流与多模态交互
在更复杂的场景中,用户可能希望:
- 上传日志文件、截图或配置文件
- 让 AI 分析问题并给出解决方案
MateChat 可以通过以下方式配合:
-
在输入区域集成“文件上传”按钮,将文件信息传入模型上下文
-
使用多模态模型(图像 + 文本)分析截图(如错误弹窗、拓扑图)
-
将分析结果通过卡片 / 表格方式展示:
- 错误类型统计表
- 可疑时间段列表
- 建议操作步骤清单
前端只需在 MateChat 消息结构中增加对附件与多模态结果的渲染逻辑,UI 层仍然由 MateChat + DevUI 统一承载。

3.5 未来趋势:从“单一聊天组件”到“GenAI 体验系统”
从 MateChat 官网的描述可以看到,它的目标并不仅仅是做一个“聊天气泡组件库”,而是:
-
构建通用 GenAI 交互体系
-
在多元业务场景下,提供高度一致的 GenAI 语言交流系统
-
强调:
- 快速唤醒(固定入口、情境建议、快捷键)
- 轻松使用(适时引导与提示)
- 自由表达(专为 GenAI 对话打造的输入区域)
- 过程监督(帮助用户理解 AI 状态)
- 可读性强的 Markdown 渲染与布局
结合行业趋势,可以预见:
-
“AI 入口”将成为所有云原生产品的标配
- 如同“搜索框”“通知中心”一样
- MateChat 可以成为这个统一入口的前端实现形态
-
前端体验将成为智能化产品竞争力的重要维度
- 同样是调用大模型 API,谁的前端交互更贴合场景、信息呈现更清晰,谁就更具可用性
-
DevUI 与 MateChat 生态将进一步融合
- 统一的设计语言与主题
- 统一的组件风格与布局范式
- 统一的智能交互模式(提示词模板、推荐问题、智能补全)

四、DevUI × MateChat:一体化智能前端体验蓝图
前面我们分别从 DevUI 与 MateChat 的角度展开,最后一节把它们合在一起,给出一个面向云原生与智能化的“一体化前端体验蓝图”。
4.1 设计与体验层:统一语言,减少割裂
- 使用 DevUI Design 作为统一设计系统
- DevUI 承担大部分中后台页面与控件
- MateChat 承担所有 GenAI 对话与智能卡片体验
- 统一主题(浅色 / 深色 / IDE 风)与组件风格
这样做的好处:
- 用户在不同系统、不同页面、不同产品之间切换时,始终感受到一致的视觉与交互体验
- 团队内部“UI 语言”统一,设计与开发沟通成本下降
4.2 工程层:组件库 + 智能 UI 的模块化治理
建议采用 monorepo + pnpm 的方式管理 DevUI 业务组件库与 MateChat 集成层,这也与 MateChat 仓库本身的 monorepo 结构相契合。
可能的工程结构:
packages/
devui-biz-components/ # 基于 DevUI 封装的业务组件库
matechat-integration/ # MateChat 与公司模型网关集成的中间层(前端)
console-app/ # 云控制台应用
ide-app/ # 云 IDE / 代码平台
help-center-app/ # 文档 & 知识库应用
-
devui-biz-components中只依赖 DevUI,与业务领域强绑定 -
matechat-integration中封装:- MateChat 封装组件
- 与后端智能服务网关之间的协议(如统一的
POST /ai/chat接口) - 常用 prompt 模板 / 卡片渲染逻辑
-
各应用(console / ide / help-center)只需按需引入这两个包
4.3 架构层:云原生 BFF + 智能服务网关
在后端架构上,推荐:
-
使用 BFF(Backend for Frontend)为各前端应用提供聚合接口
-
BFF 后面再连接到:
- 传统业务微服务集群
- 智能服务网关(统一接入大模型、RAG、Agent 等)
前端调用链路:
- DevUI 页面 → 业务 BFF(传统查询 / 修改)
- MateChat 对话 → 智能服务网关(自然语言交互)
通过统一的网关与接口规范,可以让:
- MateChat 的 UI 与交互逻辑基本保持稳定
- 底层切换不同大模型、RAG 服务、智能体框架时对前端影响最小
4.4 团队协作层:设计、前端、算法三方共建
在 DevUI + MateChat 体系下,一个健康的团队协作模式可以是:
-
设计:
- 负责 DevUI 主题与组件规范
- 负责 MateChat 交互模式与对话 UX 设计
-
前端:
- 负责基于 DevUI 构建页面、编写业务组件
- 负责基于 MateChat 实现智能 UI 与调用协议
-
算法 / 后端:
- 负责模型选择、大模型能力接入、RAG Pipelines、Agent Orchestration
- 与前端一起定义“消息格式与卡片结构”
这使得智能化不再是“算法的专利”,而成为“前端 + 算法 + 设计共同塑造的体验能力”。

五、结语:云原生前端进入“智能体验工程化”时代
如果把云原生发展看成一条时间轴:
- 第一阶段:基础设施云化
- 第二阶段:平台化与 DevOps 工具链
- 第三阶段(现在):平台 + 智能助手 + 统一前端体验
在这个阶段,前端的价值不再只是“还原设计稿”,而是:
- 搭建一套可以被 复用、扩展、智能化 的体验基础设施
- 在每一个复杂业务场景里,为用户引入 清晰、可控、可信的智能能力
DevUI 给了我们一个稳固的 企业级前端基座;
MateChat 则在这个基座上,提供了面向 智能化交互 的专用能力与体验标准。
只要我们沿着:
- DevUI:组件生态 → 主题定制 → 云原生实践 → 与低代码协同
- MateChat:对话 UI → 模型对接 → 落地案例 → 创新玩法与未来趋势
这两条轨迹不断演进,云原生“深水区”的前端,不再是负担,而会是整个智能化产品的 关键抓手 与 创新舞台。✨
❤️ 如果本文帮到了你…
- 请点个赞,让我知道你还在坚持阅读技术长文!
- 请收藏本文,因为你以后一定还会用上!
- 如果你在学习过程中遇到bug,请留言,我帮你踩坑!
声明:如上部分内容及配图来源官方及公开互联网,若有侵权,还请联系删除。

被折叠的 条评论
为什么被折叠?



