全文目录:

摘要

当应用开发全面迈入云原生与 AI 深度融合的新阶段,前端界面不再只是“数据展示层”,而是 人—云—智能 的关键交汇点。本文基于华为云两大前端技术生态 —— DevUI 企业级前端解决方案MateChat 智能交互平台,从组件使用进阶、自定义实践、主题定制、云原生落地,再到智能对话应用搭建、创新玩法与未来趋势,系统梳理一条从“高效界面构建”走向“智能交互体验”的全链路技术路径。

全文分为上下两个部分:DevUI 与 MateChat ,力求在实践经验、架构思路与创新探索上给出一些可复用的参考方案。

相关官方地址汇总如下:

可直接通过地址访问官方,快去尝试体验下吧。

一、云原生 + AI 时代的前端新命题

云原生架构带来的“弹性、微服务、快速迭代”,与生成式 AI 带来的“智能理解与决策”,正在同步推高前端对以下三类能力的要求:

  1. 高效的界面构建能力

    • 如何用统一的设计体系和组件库,支撑大量 B 端系统、云控制台、内部工具的快速搭建与演进?
    • 如何在 Table、Form、Modal 等高频场景里兼顾“开发效率 + 交互专业度”?
  2. 稳定可控的工程化体系

    • 如何在 Angular / Vue 等主流框架之上,沉淀出一套“可复制的工程实践”,覆盖主题定制、多端适配、大数据渲染等难点?
  3. 面向 AI 的智能交互能力

    • 如何在 IDE、DevOps 平台、云控制台等场景中,以统一的交互语言承载 GenAI 能力?
    • 如何在前端层面做好“对话式交互、模型调用状态、上下文管理”等体验设计?

华为 DevUI 与 MateChat 正是在这样的背景下,形成了从“界面构建”到“智能化交互”的完整前端解决方案:

  • DevUI:面向企业中后台与工具类产品的开源前端解决方案,提供 DevUI Design 设计体系与基于 Angular / Vue / React 的组件实现,沉淀了 60+ 企业级组件及相关生态
  • MateChat:面向智能化场景的前端对话 UI 库(不是 SDK),致力于在不同业务里构建一致的 GenAI 交互体验,已服务于华为内部多款应用,并支撑 CodeArts、InsCode AI IDE 等智能助手能力

接下来,本文将分上下两部分:DevUI 组件生态实践MateChat 智能应用实践与创新,串联起一条从“前端界面”到“AI 交互”的技术路线。

二、DevUI 组件生态:从高效构建到场景创新

2.1 DevUI 能力全景与架构认知

2.1.1 DevUI 的定位与特点

根据官方介绍,DevUI 是一款面向企业中后台及工具类产品的前端解决方案,基于 DevUI Design 设计体系,提供规则、设计语言和最佳实践,帮助前端开发者专注业务逻辑、设计人员专注体验与流程。其整体特点可以概括为:

  • 企业级组件体系:覆盖表格、表单、弹窗、导航、图表等通用组件,以及甘特图、象限图、代码编辑器、代码检视、树表格等针对研发工具场景的特异组件
  • 多框架支持:目前已支持 Angular / Vue / React 等常用前端框架,其中 Angular 与 Vue 是主要版本生态
  • 生态完善:提供 VSCode 插件、Vite 插件及 Admin 模板,支撑 10w 级数据秒级渲染的场景,已服务于百余个内部外部业务。

这意味着:如果把云原生应用比作“由多个微服务组成的城市”,DevUI 就是那套统一的“城市道路与建筑规范”,保证不同业务系统之间在视觉与交互层面具有统一、专业、可维护的体验。

接下来,我们直接进入DevUI库,各种组件套件:

2.1.2 Angular 与 Vue 版本的差异与选择

DevUI 主要维护两个框架版本:

  • Angular DevUI(ng-devui)

    • 拥抱 Angular 的模块化、依赖注入、强类型生态
    • 常用于大中型企业级应用、云控制台、内部研发工具等。
  • Vue DevUI(vue-devui)

    • 基于 Vue3 + Vite + TypeScript + JSX 搭建
    • 更适合前后端分离、低门槛团队及需要快速迭代的前端场景

简单选型建议:

  • 对已有 Angular 技术栈 或需要重度工程化的云控制台项目:优先考虑 Angular DevUI
  • 对已有 Vue3/Vite 技术栈、希望轻量快速搭建的 B 端应用:优先考虑 Vue DevUI
  • 若团队需要统一设计语言,同时允许技术栈多样,DevUI 能在设计与交互层面提供统一支撑。

比如说针对DevUI的表单,它是这种规模:

我们可以直接首页搜索,然后找到表单组件:

2.2 高频组件进阶:表格、表单、弹窗的“深水区”

在企业级应用中,Table / Form / Modal 是绝对的“高频三件套”。DevUI 在这三类组件上做了大量深度优化,下面结合典型实践给出使用思路与避坑指南(以 Angular / Vue 混合视角描述,逻辑大体类似)。

2.2.1 表格组件:从“展示”到“生产级数据工作台”

DevUI 提供的数据表格(如 data-table 等)具备以下能力:大数据量渲染、固定列、虚拟滚动、复杂表头、行内编辑、选择、排序、筛选等,部分实现支持 10 万级数据秒级渲染。

在实际工程中,建议从三个层次来看待 DevUI 表格:

  1. 展示层:基础表头、分页、排序、筛选
  2. 操作层:行内操作按钮、批量选择、行展开、可编辑单元格
  3. 性能层:虚拟滚动、大数据优化、懒加载

实践建议与避坑:

  • 分页 + 服务端排序/筛选优先
    在云原生后端里,数据往往来自分页接口。避免一次性拉取全部数据,而是将排序、筛选参数通过 Query 拼接给后端,前端只负责“参数面板 + 列表绘制”。

  • 固定列与滚动同步问题
    大量列 + 固定列场景下,需注意:

    • 确认表格容器宽度正确,否则可能出现滚动条异常或固定列位移;
    • 当表格高度自适应时,留意窗口 resize 事件,避免空白区域或滚动条错位(官方版本迭代中也持续在优化此类问题)
  • 大数据渲染的“极限场景”

    • 使用 DevUI 提供的虚拟滚动能力,让视图只渲染可视区域;
    • 避免在单元格中嵌套复杂组件(如多层嵌套图表),必要时采用“点击详情弹窗”方式下钻,确保滚动流畅。
  • 表格 + 搜索面板组合
    DevUI 提供 category-search 等组件,适合做复杂搜索面板:树选择、范围选择、标签多选等。推荐做法:

    • 将搜索条件统一抽象为 searchModel
    • 搜索条件变化时统一触发 reloadTable(),减少多处逻辑分散导致的 Bug。

相关表格组件如下:


比如:基本用法-简单表格,展示列表数据 支持两种实现方式,方式一通过自定义head、body模板和其中的行、单元格来实现,方式二通过配置column来实现。

2.2.2 表单组件:从“字段堆叠”到“业务流程引导”

表单组件是 B 端交互质量的“试金石”。DevUI 的表单能力包括:基础输入控件(输入框、选择框、日期、开关、单选/多选)、校验机制、表单项布局、表单状态提示等。

进阶实践要点:

  1. 表单模型与业务模型解耦

    • 采用 formModel(用于视图绑定)与 domainModel(用于业务逻辑)的分层结构;
    • 表单提交时将 formModel 转换为后端需要的 domainDTO,便于抽象校验与逻辑复用。
  2. 合理使用表单分区 / 分步
    对于云控制台、工单系统等复杂业务,推荐使用:

    • 分组标题 + 卡片布局,将表单按业务逻辑拆分;
    • 或 Step/Stepper 步骤条,将“配置基础信息 → 配置权限 → 配置高级选项”拆为多步,降低用户认知负担。
  3. 错误校验与引导

    • 保证所有必填项明确标注;
    • 校验错误时,不仅在字段处提示,还可结合 Toast/Message 进行整体提示,同时自动滚动到第一个错误项;
    • 对于复杂规则(如密码强度、依赖字段关系),可在字段下方提供简要说明。
  4. 配置化表单实践(高级思路)

    • 将表单结构抽象为 JSON Schema 或内部 DSL:

      const formSchema = [
        { field: 'name', label: '项目名称', type: 'input', required: true },
        { field: 'env', label: '环境', type: 'select', options: ['dev', 'test', 'prod'] },
        // ...
      ];
      
    • 基于 DevUI 的 Input / Select / Switch 等基础组件构建通用表单渲染器;

    • 在云控制台、工作台这类场景下,可极大提高类似配置页面的复用效率。

相关表单组件如下:

基本用法:基本用法当中,Label是在数据框的上面。

2.2.3 弹窗组件:从“弹出个对话框”到“交互节奏控制”

DevUI Modal / Dialog 组件通常用于:

  • 二次确认(删除、危险操作)
  • 表单编辑(行内编辑扩展弹窗)
  • 向导流程(多步配置)

实践建议:

  • 交互设计层面:

    • 次要操作、危险操作一定要有清晰的主次按钮样式区分(如主按钮强调、次按钮弱化);
    • 避免在一个弹窗中堆叠过多信息,尤其是大表单 + 附加列表等复合场景,可以考虑切换 Tab 或拆为独立页面。
  • 工程实现层面:

    • 建议将复杂弹窗视为一个独立组件(带 inputs/outputs),通过服务或状态管理进行打开/关闭;
    • 对于 Angular,可使用 Service.open 模式;对于 Vue,可配合 Teleport 将弹窗挂载在根节点,避免嵌套导致样式污染。
  • 性能与体验:

    • 避免频繁创建销毁复杂弹窗组件,可以使用 v-if + 缓存模式;
    • 注意在弹窗打开时处理背景滚动(Body 滚动锁定),避免移动端/小屏环境的滚动穿透问题。

相关弹窗组件如下:

标准对话框:使用dialogService可拖拽的标准对话框。

2.3 自定义开发实践:自定义组件与插件的“深度集成”

DevUI 在官方组件之外,也为自定义扩展留足了空间。这部分实践重点在于:如何在不破坏整体设计语言的前提下,构建业务特定组件与插件。

2.3.1 自定义组件:与 DevUI Design 保持一致

自定义组件的基本策略是:“结构上与 DevUI 组件对齐,样式上复用主题变量,交互上遵循 DevUI 规范”。

典型实践步骤:

  1. 确定交互模式
    比如要做一个“云资源拓扑图组件”,可以对齐现有的卡片 / 列表 /树组件的交互模式:

    • 节点以卡片风格呈现;
    • 支持 hover 显示详情;
    • 弹出悬浮层(Popover)显示更多操作。
  2. 基于 DevUI 现有组件组合

    • 使用 DevUI 的 Card、Popover、Tooltip、Icon 组件搭建基础布局;
    • 使用 DevUI 的图标库和色彩体系,保持视觉统一
  3. 样式层复用主题变量

    • 在 Vue DevUI 中,可直接复用主题 Token,如主色、文字色、边框色等;
    • 避免在自定义组件中使用硬编码颜色,确保后续切换主题时能够“跟着变”。
  4. 封装对外 API

    • 使用统一的 props & events 设计,对齐 DevUI 组件的输入输出行为(如 v-model / [(ngModel)]);
    • 将复杂的业务逻辑隐藏在内部,只暴露必要的参数与回调,提高复用性。
2.3.2 自定义插件:与工程体系融合

DevUI 提供 VSCode 插件、Vite 插件等生态能力,用于提升开发体验。在此基础上,可以进一步自定义以下类型的插件:

  1. 代码片段 / 模板插件

    • 为团队内部常用的 DevUI 页面(如列表 + 搜索 + 详情)提供一键生成模板;
    • 在 VSCode 插件中预置 snippet,让开发者通过短指令(如 d-table-page)快速插入规范化代码骨架。
  2. 主题管理工具插件

    • 提供可视化主题配置界面(颜色、字体、圆角、阴影等),自动生成 DevUI 主题配置文件;
    • 支持预览效果与导出配置,方便在不同项目中共享统一主题。
  3. 代码质量插件

    • 针对 DevUI 特定组件使用规范(如必须配合 d-form 的校验写法),提供 ESLint 规则或自定义检查脚本;
    • 在 CI 流程中加入 DevUI 使用规范检查,避免随着业务扩展出现“设计体系溃散”。

2.4 主题与样式定制:品牌适配、暗黑模式与响应式布局

DevUI 的一个重要价值在于提供“统一的主题与设计语言”,但不同企业、不同产品线都需要自己的品牌识别与多主题支持。

2.4.1 品牌主题适配:从设计稿到主题配置

根据官方说明,DevUI 基于 DevUI Design 系统提供主题化能力,Vue DevUI 也以主题化为核心特性之一。

企业品牌主题适配典型流程:

  1. 收集品牌规范

    • 主色、辅助色、警告色等色板;
    • 字体、字号层级、间距规范等;
  2. 映射到 DevUI 主题 Token

    • 将品牌主色映射到 DevUI 的 primary 颜色;
    • 将信息/成功/警告/危险颜色映射到相应 Token;
    • 设定全局圆角、投影风格,使组件整体更加品牌化。
  3. 主题文件配置与应用

    • 在 Angular / Vue 项目中引入主题配置;
    • 对于多品牌场景,可提供多个主题包,通过运行时切换实现“品牌切换”。
  4. 对自定义组件的约束

    • 所有自定义组件样式必须引用这些主题 Token;
    • 禁止直接写死色值,使主题切换具备一键全局生效能力。
2.4.2 暗黑模式开发:人机工效与工程实践

暗黑模式不仅是“反色”,更涉及阅读舒适度、对比度与大面积色块分布。

DevUI 下实现暗黑模式的实践方向:

  1. 基于主题切换实现“光 / 暗双主题”

    • 定义 light-themedark-theme 两套主题变量;
    • 应用层面通过切换 class 或配置项,触发 DevUI 主题切换。
  2. 注意“对比度与强调层级”

    • 暗黑背景下,信息分组与卡片边界可通过微弱的明暗差异体现,而非大面积描边;
    • 主按钮颜色需要在暗底上保持足够对比度,避免误触或忽视。
  3. 图表与可视化组件的适配

    • 对使用 ECharts 等图表,需配合暗色主题调整图例、坐标轴颜色,以减少光污染;
    • DevUI 已提供图表组件封装,可配合主题 Token 做联动。

2.4.3 响应式布局技巧:从桌面控制台到小屏运维场景

DevUI 本身支持响应式布局能力,在 Vue DevUI 中提供了栅格系统、布局组件等。在云原生场景下,常见的多端需求包括:

  • 桌面浏览器(主场景)
  • 笔记本小屏幕
  • 平板 / 大屏运维展示
  • 部分移动端运维操作(如简要资源状态查询)

实践建议:

  1. 优先照顾桌面端 + 小屏笔记本

    • 将主要操作区域放在左侧或上侧,确保在 1366 × 768 分辨率下仍可使用;
    • 通过折叠侧边栏和内容区域自适应,兼顾信息密度与可用空间。
  2. 针对移动端的“降级视图”

    • 不强求所有桌面功能都在移动端可用,而是选择“只展示关键状态与基础操作”;
    • 使用 DevUI 卡片组件将数据摘要化,避免表格在窄屏强行横向滚动。
  3. 自适应 vs 独立布局

    • 对于特别复杂的云控制台,建议移动端采用独立布局设计,而不是纯粹的响应式缩放;
    • DevUI 的组件可以在两套布局中复用,只是布局容器、交互逻辑不同。

2.5 云原生应用落地:DevUI 在云控制台与 B 端系统的完整实践

DevUI 基于华为 30 年研发工具沉淀,已服务 100+ 内外部业务,包括云控制台、研发工具平台等。结合典型云原生应用,可以总结出一条较通用的落地路线。

2.5.1 典型场景:云资源管理控制台

场景特征:

  • 大量列表 + 搜索 + 详情页
  • 多租户、多区域、多环境切换
  • 动态指标展示(图表、状态气泡)
  • 批量操作、策略配置、权限管理

DevUI 实战组合拳:

  • 页面结构:顶部导航(Breadcrumb / Tabs)+ 左侧菜单(Sider)+ 主内容(Card + Table / Form)

  • 组件选型:

    • 列表:DataTable + CategorySearch + Pagination
    • 详情:Card + Collapse / Tabs
    • 配置:Form + Select + Cascader + DatePicker
    • 监控:ECharts 封装组件 + Tooltip 提示
  • 主题:为云产品线定义统一品牌主题,控制台之间视觉统一,便于跨产品协同操作。

2.5.2 B 端企业系统:工单、审批与运营平台

在工单/审批/运营平台中:

  • DevUI 的表单 + 工作流向导组件可用于搭建复杂表单流程;
  • 甘特图、象限图、代码编辑器等特异性组件可直接嵌入到运营分析、研发工具中;
  • 通过 Admin 模板可快速构建运营后台骨架,减少重复工作量。

DevUI 在这些场景中的价值主要体现在两个维度:

  1. 设计一致性:不同业务线共享同一设计体系与组件表现,降低学习成本;
  2. 工程一致性:统一的脚手架、路由、权限与主题管理方式,有利于新项目快速接入。

2.6 入门实战教程:从“0 到 1”快速搭建 DevUI 项目

针对刚接触 DevUI 的开发者,可以采用以下通用实战路径(以 Vue DevUI 为例,Angular 类似):

2.6.1 环境搭建
  1. 初始化项目(如 Vite + Vue3)
  2. 按照官方文档引入 Vue DevUI 组件库与样式资源
  3. 验证基础组件是否能正常渲染(如 Button / Card / Layout)
2.6.2 基础功能练习

建议用一个“小型配置中心”作为练手项目,步骤包括:

  1. 构建基础布局:顶部导航 + 左侧菜单 + 主内容
  2. 使用 Table + Pagination 完成列表页(配置项列表)
  3. 使用 Form + Modal 完成新增 / 编辑配置项
  4. 添加 CategorySearch 完成高级搜索条件
  5. 加入 Toast / Message 完成操作反馈提示

在这个过程中,新手会接触到:

  • 组件的基础用法与事件绑定;
  • 表单校验与数据绑定;
  • 多组件组合的页面结构设计。
2.6.3 新手常见问题与解决思路
  1. 组件样式不生效 / 布局错乱

    • 检查是否正确引入 DevUI 样式文件与主题;
    • 检查是否存在全局 CSS 重置覆盖了 DevUI 样式。
  2. 类型提示缺失 / TS 报错

    • 确保引入了适配框架版本的 DevUI 包;
    • 注意 TypeScript 版本与 DevUI 要求兼容。
  3. 组件文档与实现不一致

    • 使用最新版本 DevUI 文档,留意组件版本说明;
    • 遇到问题优先对照官方 Demo,随后再到社区 / Issues 中查找是否已有反馈。

2.7 跨场景创新:DevUI 与 AI 可视化、低代码平台结合

DevUI 不仅是“组件库”,更是构建高层能力的基础积木。围绕 AI 与低代码平台,可以有以下创新实践。

2.7.1 DevUI + AI 可视化分析

在 AI 驱动的运维分析、智能告警平台中:

  • 使用 DevUI ECharts 封装组件展示多维度指标(时序、聚合、对比);
  • 利用象限图、甘特图等特异组件承载 AI 分析结果(如告警优先级、任务调度计划);
  • 将 AI 模型的“建议操作”通过 Drawer / Modal 形式展示,用户可以一键执行或调整。
2.7.2 DevUI + 低代码:前端结构与交互的“可编排化”

在低代码/无代码平台场景下,可将 DevUI 作为“界面组件库”:

  1. 将 DevUI 组件抽象为“元件”,配置属性面板与事件面板;
  2. 将布局组件(Layout、Grid)作为基础容器,支持拖拽布局;
  3. 将组件配置存储为 JSON,运行时动态解析生成真正的 DevUI 页面;
  4. 配合服务编排、API 网关,实现端到端的业务搭建。

在这样的体系下,DevUI 的价值从“单个应用的 UI 框架”升级为“跨应用的统一 UI 基础设施”。

三、MateChat 智能应用:落地实践与创新探索

如果说 DevUI 解决的是“如何高效构建一个专业的界面”,那么 MateChat 专注解决的是“在这个界面里,如何承载 GenAI 能力,并给用户一套统一、高质量的交互体验”。

3.1 MateChat 能力认知:一款面向智能场景的前端对话 UI 库

3.1.1 MateChat 的官方定位

根据官方资料,MateChat 是一款前端智能化场景解决方案 UI 库,用于轻松构建 AI 应用的对话界面,具有以下特点:

  • 面向 GenAI 场景,构建高一致性的对话体验系统语言
  • 适配 DevOps 平台、IDE、内部工具等多种业务界面;
  • 提供更适合研发工具领域的对话组件,如消息气泡、快捷提示、输入区域、状态指示等;
  • 已在华为内部多个应用落地,并支撑 CodeArts、InsCode AI IDE 等智能化助手;
  • 全部代码开源,采用 MIT 协议,企业与个人均可免费使用。

特别需要强调:

  • MateChat 并不是 SDK,而是 UI 组件库
  • MateChat 也未提供“后端调用 SDK”,模型接入需由业务方通过 HTTP / SDK 等方式自行实现;
  • 同时官方也给出了使用 OpenAI 等大模型服务的示例,说明 MateChat 与模型调用方式之间是解耦的。
3.1.2 MateChat 的设计理念

从官网与相关案例资料可以提炼出 MateChat 的几个设计理念:

  1. 体验无边界,业务无侵害

    • 在不同业务中提供一致的 GenAI 对话语言,但尽量不侵犯原有业务布局与流程;
    • 通过固定入口、情境唤醒、快捷提示等方式融入既有平台。
  2. 对话为核心,生态为补充

    • 强调对话消息的结构化呈现、Markdown 渲染、过程状态可视化;
    • 拓展支持卡片化结果展示、列表反馈以及沉浸式对话区域。
  3. 易接入、易维护、易扩展

    • 前端层面:合理的组件划分与 API 设计,降低集成门槛;
    • 模型层面:不绑定单一大模型服务,支持对接盘古大模型、ChatGPT 等多种模型

默认情况下,应用内容如下:

3.2 MateChat 组件生态:从消息气泡到对话工作台

MateChat 提供了一系列围绕对话场景的核心组件,典型包括:

  • 消息气泡(Message Bubble):承载对话内容,支持多种消息类型(文本、代码块、Markdown 等);
  • 输入框(Input):面向 GenAI 对话的输入区域,支持快捷操作、工具栏扩展;
  • 快捷使用组件(Quick Suggestions):根据输入内容与上下文提供快捷建议;
  • 对话历史区域:支持滚动、锚点、加载更多等行为;
  • 卡片展示组件:用于展示结构化结果,如代码片段、任务列表、文档摘要等(在官方特性规划中也有所体现)。

在实际项目中,一个完整的 MateChat 对话体验,通常由以下几部分组成:

  1. 唤醒方式:固定图标、快捷键、悬浮入口、侧边栏 Tab 等;
  2. 对话主面板:由消息列表 + 输入区构成;
  3. 辅助区域:如知识库列表、历史对话列表、工具栏(模型选择、温度调节等);
  4. 系统状态提示:正在思考 / 调用模型 / 出错重试等过程状态展示。

3.3 从 0 到 1:使用 MateChat 构建一个智能对话应用

下面结合官方 README 中的“快速开始 + 模型对接示例”思路,给出一条从 0 到 1 的落地路径(示例描述保证不与官方示例重复,但逻辑保持一致)。

3.3.1 环境准备与项目初始化
  1. 创建一个基于 Vite + Vue3 的前端项目;
  2. 按官方 README 指南引入 MateChat 依赖,并在入口文件中注册相关组件;
  3. 启动本地服务,确认 MateChat 示例组件能在页面上正确渲染。
3.3.2 模型调用策略设计

由于 MateChat 不提供后端 SDK,因此需要提前设计模型调用方式。通常有两类模式:

  1. 直接在前端调用第三方 API(如 OpenAI)

    • 适用于 Demo 或对安全要求不高的场景;
    • 可通过官方示例所示方式,在前端使用 OpenAI SDK / fetch 调用模型接口;
    • 需注意前端暴露 API Key 的安全风险,生产环境建议避免。
  2. 通过自建后端网关调用模型

    • 在后端封装统一的 /chat/completion 接口;
    • 由后端调用盘古大模型、ChatGPT 等大模型服务;
    • 前端 MateChat 只需要与自家后端通信,不直接接触 API Key。

推荐实践:

  • Demo / Hackathon 场景:可选前端直连;
  • 企业生产场景:必须通过后端网关统一管理模型调用与安全策略。
3.3.3 MateChat 与模型集成的典型流程

以“后端统一接口方案”为例,一个完整的交互流程通常如下:

  1. 用户在 MateChat 输入框中输入问题并点击发送;
  2. 前端将该消息推入本地消息列表(from: user),并调用后端 /chat/completion 接口;
  3. 后端将用户问题转发给大模型服务(支持多模型路由);
  4. 模型以流式方式返回回复,后端转发到前端;
  5. 前端在 MateChat 消息列表中追加一个 from: model 的空消息,然后根据流式数据不断追加内容,展示“打字机”效果。

官方 README 中给出了使用 OpenAI 流式返回的示例代码,说明 MateChat 对流式场景给出了较好的支持。在实现时需要注意:

  • 在模型消息创建时可以先标记 loading: true,待流结束后取消 loading;
  • 若出现错误(网络问题、模型超时),需要将错误信息友好地呈现给用户,并提供“重试 / 复制问题”入口。

3.4 落地实践案例:开发者空间 + MateChat + MaaS

在官方云社区中,有一篇案例介绍了在华为云开发者空间中,使用 MateChat 与 ModelArts Studio(MaaS)快速构建智能对话界面。该案例的关键要点可以抽象为:

  1. 场景环境:云上开发环境

    • 使用华为云开发者空间提供的云主机,安装 Node.js、Git 等工具;
    • 在云主机中拉取基于 Vite + Vue3 + Express 的 MateChat 应用示例代码;
  2. 模型能力:ModelArts Studio 大模型服务(MaaS)

    • 通过浏览器在开发者空间的云主机中访问 ModelArts Studio 控制台,开通模型服务;
    • 选择 Qwen2_5-72B-Instruct 等大模型作为聊天后端;
    • 获取对应的调用地址与密钥,并在前端/后端应用中进行配置。
  3. 应用搭建流程

    • 使用 Git 拉取 MateChat 示例工程;
    • 在本地(云主机)配置模型接口地址与 Key,改造聊天请求代码;
    • 在浏览器中访问本地部署的 MateChat 应用,体验智能对话。
  4. 实践价值

    • 开发者可以在一个相对封闭、安全的云环境中快速验证 MateChat + 大模型的集成效果;
    • 借助云主机与 MaaS 平台,避免本地复杂环境搭建与算力限制。

该案例的重要意义在于:MateChat 可以天然融入云上开发环境、IDE、研发工具平台,成为“开发者面对大模型的统一入口 UI”。

3.5 创新玩法探索:MateChat + MCP / 智能体 / 工作流等

虽然 MateChat 本身只是前端 UI 库,但它可以与多种后端智能框架结合,构建出丰富的“智能体 + 工具调用 + 工作流”的交互体验。下面从架构与交互两个视角进行探索性设计。

以下部分基于官方“可对接多种模型服务、适用于研发工具场景”的能力,结合通用 AI 应用架构进行延展设计,保证不超出 MateChat UI 库的合理边界。

3.5.1 MateChat + 工具调用 / MCP 类能力

在具备 MCP(Model Context Protocol)或其他工具调用机制的后端系统中,MateChat 可以被视为“智能体的对话前端”。

架构思路:

  1. 前端 MateChat 负责:

    • 对话内容展示(用户输入 + 模型输出 + 工具结果);
    • 对工具调用过程进行视觉化呈现(例如“正在调用 xxx 工具…”);
    • 提供工具执行结果的结构化展示(如表格、卡片、图表等)。
  2. 后端 MCP / 工具系统负责:

    • 维护工具列表(查询数据库、调用内部 API、触发 CI/CD 等);
    • 将用户意图解析为工具调用计划(由模型或规则完成);
    • 将工具调用结果回写给前端,以“消息”或“卡片”的形式呈现。

交互示例:

  • 用户输入:“帮我查看最近 7 天失败率最高的流水线,并给出优化建议。”

  • 模型在后端解析出:

    1. 调用 CI 工具查询流水线失败数据;
    2. 分析结果生成自然语言建议。
  • MateChat 前端会依次展示:

    • 中间过程提示:“正在获取流水线失败数据…”;
    • 工具结果卡片:失败流水线 Top5 列表(表格形式);
    • 模型总结消息:针对失败原因和优化点的自然语言分析。
3.5.2 MateChat + 个性化与记忆化对话

MateChat UI 层可以通过显示用户画像、标记长期记忆条目等方式,配合后端实现“记忆化智能体”。

典型实践思路:

  1. 后端维护用户的长期记忆(偏好、常用资源、历史操作);

  2. 每次请求模型时,在系统提示或检索阶段引入相关记忆;

  3. MateChat 在界面层面做的事情包括:

    • 将“记忆触发”的结果以标注形式展示(如提示“已基于你常用项目 xxx 为你生成建议”);
    • 提供“管理记忆”的入口,比如列出当前会话使用的记忆项,允许用户删除某条记忆;
    • 在消息气泡中使用特殊标识,让用户知道这是“基于历史偏好”的响应。

通过这种方式,MateChat 可以让智能体的“记忆行为”变得可感知、可控制,而不是一个“黑盒”。

3.5.3 MateChat + 知识检索(RAG)

在知识库问答场景中,MateChat 的关键任务是“可读性强的答案展示 + 辅助的引用信息呈现”。

实践路径:

  1. 后端实现 RAG(检索增强生成)流程:

    • 从文档库中检索相关片段;
    • 将检索结果嵌入模型上下文,生成回答;
    • 同时将引用的知识片段结构化返回前端(文档标题、段落摘要、链接等)。
  2. MateChat 前端:

    • 将模型回答以 Markdown + 代码块形式渲染;
    • 在回答底部或侧边展示“引用来源列表”,以卡片或列表方式呈现;
    • 支持点击引用卡片打开原文详情(新窗口或内嵌侧栏)。

在研发工具场景中,这样的 RAG 机制可以用于:

  • 文档问答(API 文档、平台说明、规范)
  • 运维知识库问答
  • 代码库内搜索与解释(结合代码检视组件)
3.5.4 MateChat + 工作流与链式思维(思维链)

当任务本身具有“多步骤、可拆分”的特点时,可以结合链式思维(Chain-of-Thought)与工作流引擎,打造“可视化流程 + 对话控制”的混合体验。

设计要点:

  1. 后端使用工作流引擎描述任务流程(如分析日志 → 生成报告 → 通知负责人);

  2. 模型负责拆分用户问题为工作流步骤,并在执行过程中对每一步产生解释;

  3. MateChat 前端:

    • 在对话中展示“当前执行到第几步”、“每一步执行状态”;
    • 允许用户在某一步插入人工决策(例如确认删除、确认变更);
    • 执行完毕后通过卡片展示最终结果(例如报告下载链接、变更记录等)。

这种模式尤其适合 DevOps、运维、数据分析、测试自动化等场景。

3.5.5 多模态交互扩展

MateChat 当前以文本与 Markdown 对话为主,但在 UI 层完全可以扩展支持:

  • 图片上传(例如日志截图、报错界面截图);
  • 代码片段专用展示区域(集成代码高亮、对比、折叠);
  • 结构化数据的可视化卡片(如图表、统计卡片);

当后端模型具备多模态理解能力时,MateChat 可以通过扩展消息类型与渲染逻辑,将多模态输入输出“包裹”在统一的对话体验之下。

3.6 面向 IDE 与 DevOps 平台的 MateChat 实战模式

MateChat 在官方案例中已应用于 CodeArts 智能助手、InsCode AI IDE 等场景。结合这些场景,可以抽象出两种常见模式:

3.6.1 IDE 内嵌式智能助手

特点:

  • 以侧边栏形式嵌入 IDE,中断成本低;
  • 能够访问当前打开的文件、光标位置、项目结构等信息;
  • 提供“解释代码、补全代码、生成测试、重构建议”等指令型能力。

MateChat 角色:

  • 作为统一的对话界面,展示模型对当前代码上下文的理解与建议;
  • 结合卡片组件展示多种结果类型(代码片段、问题列表、变更说明等);
  • 提供快捷按钮:一键插入代码片段、一键生成 commit message 等。
3.6.2 DevOps / 云控制台中的智能助手

特点:

  • 面向运维、开发、测试、产品等角色;
  • 需要访问流水线、告警、监控、资源配置等数据;
  • 侧重“解释 +建议 +执行”的闭环。

MateChat 角色:

  • 在控制台中提供浮窗 / 固定入口,随时唤起;
  • 支持在对话中引用当前界面的上下文(例如当前选中的资源、当前产品线);
  • 对执行类操作(如重启服务、回滚版本)提供“操作确认”交互。

在这两类场景中,MateChat 的核心价值是:用统一的对话组件,将分散的智能能力串联成一个连贯的用户体验

3.7 未来趋势洞察:MateChat 的演进方向与应用可能性

结合官方特性规划与现有实践,可以对 MateChat 的未来演进方向做一些合理推演:

  1. 更完备的对话体验体系

    • 丰富的消息类型(任务卡片、图表卡片、多轮表单等);
    • 更智能的会话管理(多会话、多模型、多场景切换);
    • 更可视化的“对话内工具”交互模式。
  2. 跨框架适配与生态扩展

    • 官方 Wiki 中已经提及跨框架适配方案,未来有望在更多技术栈中“即插即用”;
    • 与 DevUI 深度融合,在统一设计语言之上拓展智能场景界面。
  3. 与企业级 AI 平台的更紧密结合

    • 进一步适配华为云 ModelArts Studio、Mass 平台等 AI 产品;
    • 为企业构建“前端统一智能入口”,支撑多个大模型与 AI 服务。
  4. 智能交互模式创新

    • 对话 + 操作历史联合视图,让 AI 真正成为“操作伴随者”;
    • 对话 + 流程编排,向“自然语言驱动业务流程”演进;
    • 对话 + 多模态,覆盖文本、图片、代码、文档等多种载体。

从更宏观的角度看,MateChat 代表着一种趋势:AI 能力不再是孤立插件,而是以统一的交互系统语言,深入嵌入到开发、运维、办公等各种场景中。

四、DevUI + MateChat:从界面构建到智能交互的统一实践路径

回到本文开头提出的问题:云原生应用进入深水区之后,前端应该如何同时兼顾“界面构建效率”和“智能交互能力”?结合 DevUI 与 MateChat,我们可以给出一条较为清晰的实践路径:

  1. 用 DevUI 构建稳定、统一的界面基础设施

    • 通过设计体系 + 组件库 + 主题能力,实现跨产品线的一致体验;
    • 在表格、表单、弹窗等高频场景中深耕实践,搭建生产级 B 端工作台;
    • 构建基于 DevUI 的低代码 / 配置化能力,为未来的快速扩展预留空间。
  2. 用 MateChat 打造智能化的对话体验系统

    • 将大模型能力封装在对话式交互中,让 AI 成为“自然语言接口”;
    • 在 IDE、DevOps 平台、云控制台等场景中统一 AI 助手的交互语言;
    • 结合工具调用、知识检索、工作流、智能体等能力,构建可解释、可协作的智能应用。
  3. 在两者之上构建企业级智能应用生态

    • DevUI 提供界面的“骨骼与皮肤”,MateChat 提供智能交互的“神经系统”;
    • 两者共同构成一条从“数据展示与操作”到“智能理解与决策”的闭环;
    • 在云原生架构下,以统一的设计语言和交互系统,支撑业务的持续创新。

五、结语

在云原生与 AI 深度融合的今天,“会写页面”早已不再是前端的终点。我们更需要的是:

  • 能够基于统一设计体系,快速搭建大规模 B 端应用的 DevUI 式能力
  • 能够将大模型与智能体能力融入业务流程,构建自然语言驱动的交互体验的 MateChat 式能力

当 DevUI 与 MateChat 这两大生态结合在一起,我们不仅拥有了一套“从界面到智能”的完整技术栈,更拥有了一条可以不断演进、可持续沉淀的前端实践路径。

希望这篇文章能够为你在 DevUI 与 MateChat 的实践与创新上提供一些启发,期待在不久的将来,看到更多基于这两大生态构建的云原生智能应用在生产环境中落地生根 。

❤️ 如果本文帮到了你…

  • 请点个赞,让我知道你还在坚持阅读技术长文!
  • 请收藏本文,因为你以后一定还会用上!
  • 如果你在学习过程中遇到bug,请留言,我帮你踩坑!

声明:如上部分内容及配图来源官方及公开互联网,若有侵权,还请联系删除。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐