Ant Design X of Vue
ant-design-x-vue 是遵循 Ant Design 设计体系的一个 Vue UI 库,是 @ant-design/x 的 Vue 实现,用于构建由 AI 驱动的界面,一键接入智能对话组件与 API 服务。
✨ 特性
- 🌈 基于 RICH 交互范式,提供卓越的 AI 交互体验
- 🧩 覆盖绝大部分 AI 对话场景,助力快速构建个性化 AI 交互页面
- ⚡ 轻松对接符合 OpenAI 标准的模型推理服务
- 🔄 提供好用的数据流管理功能,让开发更高效
- 📦 提供多种模板,快速启动 LUI 应用开发
- 🛡 采用 TypeScript 开发,提供完整类型支持,提升开发体验与可靠性
- 🎨 支持细粒度的样式调整,满足各种场景的个性化需求
安装
IMPORTANT
确保你的 vue 版本大于 3.5
使用 npm 或 yarn 或 pnpm 或 bun 安装
$ npm install ant-design-x-vue --save$ pnpm install ant-design-x-vue --save$ yarn add ant-design-x-vue$ bun add ant-design-x-vue浏览器引入
在浏览器中使用 script 和 link 标签直接引入文件,并使用全局变量 antdx。
你可以通过 或UNPKG进行下载。
无任何构建的原始 HTML 在线示例:CodePen 示例 >
现代浏览器大多已原生支持 ES 模块,还可以启用 导入映射表 (Import Maps):CodePen 示例 >
自动导入
在项目中自动导入组件,需要使用 unplugin-vue-components 插件,如果未安装,你可以通过以下命令安装:
$ npm install unplugin-vue-components -D$ pnpm install unplugin-vue-components -D$ yarn add unplugin-vue-components -D$ bun add unplugin-vue-components -d在 Vite 或 Webpack 的配置文件中,添加以下依赖和插件:
// vite.config.js
import vue from '@vitejs/plugin-vue';
import { defineConfig } from 'vite';
// add the following dependencies
import components from 'unplugin-vue-components/vite';
import { AntDesignXVueResolver } from 'ant-design-x-vue/resolver';
export default defineConfig({
// ...
plugins: [
// add the following plugin
components({
resolvers: [AntDesignXVueResolver()],
}),
],
});// webpack.config.js
// add the following dependencies
const Components = require('unplugin-vue-components/webpack');
const { AntDesignXVueResolver } = require('ant-design-x-vue/resolver');
module.exports = {
configureWebpack: {
plugins: [
// add the following plugin
Components.default({
resolvers: [AntDesignXVueResolver()],
}),
],
},
};更多打包工具的示例,可以参考 unplugin-vue-components
在项目中,以 AX 开头的组件,将被自动解析为 ant-design-x-vue 组件并导入到文件中,你可以直接在模板中使用它们:
<script setup>
// auto import equals to
// import { Bubble as AXBubble } from 'ant-design-x-vue';
</script>
<template>
<AXBubble content="Hello AI" />
</template>🧩 原子组件
我们基于 RICH 交互范式,在不同的交互阶段提供了大量的原子组件,帮助你灵活搭建你的 AI 对话应用:
- 通用:
Bubble- 消息气泡、Conversations- 会话管理、Notification- 系统通知 - 唤醒:
Welcome- 欢迎、Prompts- 提示集 - 表达:
Attachments- 输入附件、Sender- 发送框、Suggestion- 快捷指令 - 确认:
Think- 思考过程、ThoughtChain- 思维链、Sources- 来源引用 - 反馈:
Actions- 操作列表、FileCard- 文件卡片 - 其他:
XProvider- 全局配置:主题、国际化等
分组与 @ant-design/x@2.0.0 一致,总览见 组件。
⚡️ 对接模型/智能体服务,AI 对话数据流管理
我们通过提供 X SDK(@ant-design-x-vue/x-sdk),帮助你开箱即用地对接模型和智能体服务,并提供好用的基础工具。这些符号从 ant-design-x-vue 直接导出。升级步骤见 从 v1 到 v2。字段和示例在 X SDK。
XRequest:通用 HTTP 请求 + 流式响应解析XStream:基于 Web Streams 的 SSE 流式数据解析useXChat:AI 会话状态管理,配合ChatProvider适配各种模型 APIuseXConversations:会话列表与切换状态管理XMCPClient:基于XRequest实现的 MCP(Model Context Protocol)客户端
✨ Markdown 高性能流式渲染引擎
我们提供专为流式内容优化的 X Markdown(@ant-design-x-vue/x-markdown)渲染解决方案:
- 流式增量缓冲:自动识别未完成的 markdown token(链接、图片、表格、HTML 等),保证渲染期间不出现"半个语法"。
- 内置插件:
Latex(基于 KaTeX)、HighlightCode(基于 highlight.js)、Mermaid(基于 mermaid)。 - 主题样式:内置
themes/light.css、themes/dark.css,可按需引入。
下面是使用原子组件搭建一个最简单的对话框的代码示例:
<script setup lang="ts">
import {
// 消息气泡
Bubble,
// 发送框
Sender,
} from 'ant-design-x-vue';
defineOptions({ name: 'SampleChat' });
const messages = [
{
content: 'Hello, Ant Design X Vue!',
role: 'user',
},
];
</script>
<template>
<Bubble.List :items="messages" />
<Sender />
</template>这里有一个在线示例可供参考:Example Project,也推荐 fork 该示例反馈 bug。
WARNING
文档中 tsx 风格的代码示例采用 defineRender 编写,要运行它们,你还需要集成 Vue Macros.
Vue 模板风格的示例代码在逐步更新中,你可以在左上角将 风格偏好 切换至 setup 预览。