AI 助手

介绍
支持用户直接在页面中打开组件对话框与 AI 助手对话,每个页面仅能拖拽一个 AI 助手组件
API
Props
参数 | 字段名 | 描述 | 类型 | 默认值 |
---|---|---|---|---|
默认状态 | status | 组件的显隐状态控制,"默认"|"隐藏"|"销毁" | string | 'default' |
窗口状态 | modalStatus | 对话弹窗的显示影藏 "默认"|"隐藏" | string | 'default' |
AI 应用 | appCode | 选择已配置的 AI 应用 | string | - |
变量 | inputs | 智能体配置时所需的变量,返回对象 | function | 返回空对象 |
默认提示词 | context | 提示建议语句 | string | - |
自定义内容配置 | customConfig | 开启后,可自定义配置标题、欢迎语等 | boolean | false |
标题(自定义内容配置开启) | title | 智能体标题 | string | - |
欢迎语(自定义内容配置开启) | welcomTitle | 智能体欢迎语 | string | - |
描述(自定义内容配置开启) | description | 智能体描述 | string | - |
问题建议(自定义内容配置开启) | suggestions | 智能体问题建议列表 | SuggestionItem | [] |
操作栏 | bubbleActions | 气泡操作栏配置 | BubbleActionItem | [] |
上传 | upload | 是否开启上传 | boolean | false |
上传地址 | uploadAction | 上传地址url | string | - |
上传文件名 | fileName | 上传文件名 | string | files |
额外数据 | extraData | 上传接口所需的其他数据 | (ctx) => object | (ctx) => {} |
头部信息 | headers | 上传接口头部信息 | (ctx) => object | (ctx) => {} |
上传后处理 | didUpload | 上传接口成功后数据处理 | (response, ctx) => ({name: string; url: string}) | - |
javascript
interface Message {
type: "ai" | "user"; // 消息类型
id: number;
content: string; // 消息内容
thougth?: string; // 思考内容
pageJson?: any; // 页面json
isThinking?: boolean; // 是否正在思考中
thinkTime?: boolean; // 思考时间
status?: "loading" | "success" | "fail"; // 消息状态
files?: MessageFileItem[] // 气泡中显示的文件
}
interface SuggestionItem {
title: string; // 主标题
subTitle?: string; // 子标题
query?: string; // 点击问题建议是要发送的查询语句
icon?: string; // 图标
iconColor?: string; // 图标颜色
}
interface BubbleActionItem {
operateType: "copy" | "refresh" | "custom"; // 操作类型,复制、重新生成、自定义,复制和重新生成为内置功能
type: "icon" | "text"; // 按钮展示类型,图标或文本
icon: string; // 图标 type === "icon"
text: string; // 文本 type === "text"
color?: string; // 按钮显示颜色
tip?: string; // 按钮提示信息
showCondition?: (ctx, params: {item: Message}) => boolean; // 显示条件,返回true/false
onClick?: (ctx, params: {item: Message}) => void; // 按钮的点击事件
}