跳到主要内容

AI 组件(X 系列)总览

VEF Framework 集成了来自 @ant-design/x 的 AI/对话 UI 组件,以 X 前缀重新导出。这些组件专为构建 AI 驱动的对话界面而设计。

来源:@ant-design/x 重新导出。完整文档:Ant Design X

可用组件

导出名称Ant Design X 组件说明
XBubbleBubble对话消息气泡
XSenderSender带发送按钮的消息输入框
XConversationsConversations会话列表
XPromptsPrompts建议提示词列表
XThoughtChainThoughtChainAI 推理链展示
XWelcomeWelcome欢迎屏幕
XAttachmentsAttachments文件附件区域
XActionsActions消息操作按钮
XSuggestionSuggestion内联建议列表
XSourcesSources参考来源展示
XFileCardFileCard文件预览卡片
XThinkThinkAI 思考/加载指示器
XNotificationnotificationAI 通知工具函数
XMarkdownVEF 封装支持流式的 Markdown 渲染器
XMermaidVEF 封装Mermaid 图表渲染器
XCodeHighlighterVEF 封装AI 响应中的代码块

导入

import {
XBubble,
XSender,
XConversations,
XMarkdown,
} from '@vef-framework-react/components';

最简对话示例

import { XBubble, XSender, Stack } from '@vef-framework-react/components';
import { useState } from 'react';

interface Message {
id: number;
role: 'user' | 'assistant';
content: string;
}

export default function ChatDemo() {
const [messages, setMessages] = useState<Message[]>([]);
const [value, setValue] = useState('');

const handleSend = (text: string) => {
setMessages((prev) => [
...prev,
{ id: Date.now(), role: 'user', content: text },
]);
setValue('');
// 在此调用 AI API...
};

return (
<Stack style={{ height: '100%' }}>
<div style={{ flex: 1, overflow: 'auto', padding: 16 }}>
{messages.map((msg) => (
<XBubble
key={msg.id}
placement={msg.role === 'user' ? 'end' : 'start'}
content={msg.content}
/>
))}
</div>
<XSender
value={value}
onChange={setValue}
onSubmit={handleSend}
placeholder="请输入问题..."
/>
</Stack>
);
}