@blueking/chat-x 0.0.45-beta.7 → 0.0.45-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/ag-ui/types/constants.d.ts +16 -0
- package/dist/ag-ui/types/contents.d.ts +2 -0
- package/dist/ag-ui/types/index.d.ts +2 -0
- package/dist/ag-ui/types/interrupt.d.ts +152 -0
- package/dist/ag-ui/types/messages.d.ts +2 -0
- package/dist/ag-ui/types/schema.d.ts +42 -0
- package/dist/components/ai-questions/questions-container.vue.d.ts +3 -0
- package/dist/components/ai-questions/selection-question.vue.d.ts +3 -0
- package/dist/components/chat-content/flow-agent-content/flow-agent-content.vue.d.ts +3 -0
- package/dist/components/chat-content/flow-agent-content/use-flow-agent.d.ts +4 -0
- package/dist/components/chat-content/flow-agent-content/use-flow-node-actions.d.ts +32 -0
- package/dist/components/chat-content/index.d.ts +2 -0
- package/dist/components/chat-input/ai-slash-input/command.d.ts +1 -2
- package/dist/components/chat-input/ai-slash-input/constants.d.ts +0 -4
- package/dist/components/chat-input/chat-input.vue.d.ts +14 -8
- package/dist/components/chat-input/input-attachment/input-attachment.vue.d.ts +1 -0
- package/dist/components/chat-input/input-info-alert.vue.d.ts +6 -0
- package/dist/components/chat-message/activity-message/activity-message.vue.d.ts +4 -1
- package/dist/components/chat-message/assistant-message/assistant-message.vue.d.ts +1 -1
- package/dist/components/chat-message/interrupt-message/index.d.ts +2 -0
- package/dist/components/chat-message/interrupt-message/interrupt-message.vue.d.ts +17 -0
- package/dist/components/chat-message/interrupt-message/tool-approval-card.vue.d.ts +9 -0
- package/dist/components/chat-message/interrupt-message/user-question/index.d.ts +5 -0
- package/dist/components/chat-message/interrupt-message/user-question/use-user-question.d.ts +35 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-answered-card.vue.d.ts +25 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-card.vue.d.ts +25 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-choice.vue.d.ts +13 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-option.vue.d.ts +17 -0
- package/dist/components/chat-message/message-container/message-container.vue.d.ts +14 -7
- package/dist/components/chat-message/message-render/message-render.vue.d.ts +4 -0
- package/dist/components/index.d.ts +3 -2
- package/dist/composables/use-global-config.d.ts +3 -0
- package/dist/composables/use-message-group.d.ts +2224 -355
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/interrupt.d.ts +24 -0
- package/dist/index.css +1 -1
- package/dist/index.js +2557 -1937
- package/dist/index.js.map +1 -1
- package/dist/lang/lang.d.ts +34 -2
- package/dist/mcp/generated/docs/activity-layout.md +138 -0
- package/dist/mcp/generated/docs/activity-message.md +21 -7
- package/dist/mcp/generated/docs/ai-image.md +9 -4
- package/dist/mcp/generated/docs/ai-loading.md +11 -6
- package/dist/mcp/generated/docs/ai-prompt-list.md +42 -0
- package/dist/mcp/generated/docs/ai-selection.md +10 -5
- package/dist/mcp/generated/docs/ai-slash-editor.md +43 -0
- package/dist/mcp/generated/docs/ai-slash-input.md +43 -0
- package/dist/mcp/generated/docs/ai-slash-menu.md +42 -0
- package/dist/mcp/generated/docs/animation-text.md +9 -4
- package/dist/mcp/generated/docs/assistant-message.md +10 -5
- package/dist/mcp/generated/docs/chat-container.md +173 -19
- package/dist/mcp/generated/docs/chat-input.md +78 -10
- package/dist/mcp/generated/docs/cite-content.md +8 -3
- package/dist/mcp/generated/docs/code-content.md +9 -4
- package/dist/mcp/generated/docs/common-error-content.md +10 -5
- package/dist/mcp/generated/docs/constants.md +68 -3
- package/dist/mcp/generated/docs/content-render.md +10 -5
- package/dist/mcp/generated/docs/delete-tool.md +9 -4
- package/dist/mcp/generated/docs/desc-panel.md +9 -4
- package/dist/mcp/generated/docs/detail-section.md +93 -0
- package/dist/mcp/generated/docs/execution-summary.md +10 -5
- package/dist/mcp/generated/docs/file-content.md +9 -4
- package/dist/mcp/generated/docs/file-upload-btn.md +10 -5
- package/dist/mcp/generated/docs/flow-agent-content.md +252 -0
- package/dist/mcp/generated/docs/flow-agent-node-detail.md +240 -0
- package/dist/mcp/generated/docs/highlight-keyword.md +10 -5
- package/dist/mcp/generated/docs/image-content.md +9 -4
- package/dist/mcp/generated/docs/image-preview-group.md +9 -4
- package/dist/mcp/generated/docs/image-preview.md +10 -5
- package/dist/mcp/generated/docs/info-message.md +7 -2
- package/dist/mcp/generated/docs/input-attachment.md +43 -0
- package/dist/mcp/generated/docs/input-info-alert.md +42 -0
- package/dist/mcp/generated/docs/interrupt-message.md +216 -0
- package/dist/mcp/generated/docs/interrupt.md +377 -0
- package/dist/mcp/generated/docs/key-value-content.md +9 -4
- package/dist/mcp/generated/docs/knowledge-rag-content.md +126 -0
- package/dist/mcp/generated/docs/latex-content.md +9 -4
- package/dist/mcp/generated/docs/loading-message.md +11 -6
- package/dist/mcp/generated/docs/markdown-container.md +1 -1
- package/dist/mcp/generated/docs/markdown-content.md +13 -8
- package/dist/mcp/generated/docs/markdown-latex.md +3 -3
- package/dist/mcp/generated/docs/markdown-mermaid.md +3 -3
- package/dist/mcp/generated/docs/mermaid-content.md +9 -4
- package/dist/mcp/generated/docs/message-container.md +74 -16
- package/dist/mcp/generated/docs/message-loading.md +120 -0
- package/dist/mcp/generated/docs/message-render.md +23 -11
- package/dist/mcp/generated/docs/message-tools.md +10 -5
- package/dist/mcp/generated/docs/messages.md +75 -11
- package/dist/mcp/generated/docs/overflow-tips.md +4 -4
- package/dist/mcp/generated/docs/preview-toolbar.md +42 -0
- package/dist/mcp/generated/docs/questions-container.md +88 -0
- package/dist/mcp/generated/docs/reasoning-message.md +10 -5
- package/dist/mcp/generated/docs/reference-content.md +10 -5
- package/dist/mcp/generated/docs/reference-doc-content.md +112 -0
- package/dist/mcp/generated/docs/schema.md +93 -0
- package/dist/mcp/generated/docs/scroll-btn.md +8 -3
- package/dist/mcp/generated/docs/selection-footer.md +9 -4
- package/dist/mcp/generated/docs/selection-question.md +91 -0
- package/dist/mcp/generated/docs/shortcut-btn.md +10 -5
- package/dist/mcp/generated/docs/shortcut-btns.md +10 -5
- package/dist/mcp/generated/docs/shortcut-render.md +10 -5
- package/dist/mcp/generated/docs/simple-table.md +103 -0
- package/dist/mcp/generated/docs/text-content.md +9 -4
- package/dist/mcp/generated/docs/theme.md +50 -4
- package/dist/mcp/generated/docs/tool-approval-card.md +164 -0
- package/dist/mcp/generated/docs/tool-btn.md +9 -4
- package/dist/mcp/generated/docs/tool-message.md +10 -5
- package/dist/mcp/generated/docs/toolcall-render.md +10 -5
- package/dist/mcp/generated/docs/use-animation-text.md +4 -4
- package/dist/mcp/generated/docs/use-clipboard.md +3 -3
- package/dist/mcp/generated/docs/use-command-selection.md +1 -1
- package/dist/mcp/generated/docs/use-custom-tab.md +1 -1
- package/dist/mcp/generated/docs/use-flow-node-actions.md +124 -0
- package/dist/mcp/generated/docs/use-full-screen.md +3 -3
- package/dist/mcp/generated/docs/use-global-config.md +20 -5
- package/dist/mcp/generated/docs/use-menu-keydown.md +1 -1
- package/dist/mcp/generated/docs/use-message-group.md +42 -10
- package/dist/mcp/generated/docs/use-observer-visible-list.md +1 -1
- package/dist/mcp/generated/docs/user-feedback.md +8 -3
- package/dist/mcp/generated/docs/user-message.md +18 -13
- package/dist/mcp/generated/docs/user-question-answered-card.md +106 -0
- package/dist/mcp/generated/docs/user-question-card.md +228 -0
- package/dist/mcp/generated/docs/user-question-choice.md +108 -0
- package/dist/mcp/generated/docs/user-question-option.md +42 -0
- package/dist/mcp/generated/docs/vnode-renderer.md +126 -0
- package/dist/mcp/generated/index.json +1105 -562
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/list-components.d.ts +7 -6
- package/dist/mcp/tools/list-components.js +23 -29
- package/dist/mcp/tools/list-components.js.map +1 -1
- package/dist/mcp/tools/search-docs.js +1 -1
- package/dist/mcp/tools/search-docs.js.map +1 -1
- package/dist/mcp/utils/doc-loader.d.ts +1 -1
- package/dist/types/editor.d.ts +0 -1
- package/dist/utils/utils.d.ts +2 -2
- package/package.json +4 -3
package/dist/lang/lang.d.ts
CHANGED
|
@@ -43,8 +43,8 @@ export declare const lang: {
|
|
|
43
43
|
readonly 失败: "Failed";
|
|
44
44
|
readonly 挂起: "Pending";
|
|
45
45
|
readonly 待执行: "To Be Executed";
|
|
46
|
-
readonly 跳过: "Skipped";
|
|
47
46
|
readonly 详情: "Details";
|
|
47
|
+
readonly 重试: "Retry";
|
|
48
48
|
readonly 节点: "Node";
|
|
49
49
|
readonly 节点配置: "Node Config";
|
|
50
50
|
readonly 节点输出: "Node Output";
|
|
@@ -69,6 +69,25 @@ export declare const lang: {
|
|
|
69
69
|
readonly 暂无数据: "No Data";
|
|
70
70
|
readonly '\u8C03\u7528 MCP\uFF1A': "Call MCP:";
|
|
71
71
|
readonly 更多: "More";
|
|
72
|
+
readonly 算法方案评审单: "Algorithm Plan Review Ticket";
|
|
73
|
+
readonly 评审中: "Reviewing";
|
|
74
|
+
readonly 已废弃: "Abandoned";
|
|
75
|
+
readonly 已批准: "Approved";
|
|
76
|
+
readonly 已通过: "Approved";
|
|
77
|
+
readonly 已取消: "Cancelled";
|
|
78
|
+
readonly 已过期: "Expired";
|
|
79
|
+
readonly 已拒绝: "Rejected";
|
|
80
|
+
readonly 已撤销: "Revoked";
|
|
81
|
+
readonly 单据编号: "Ticket No.";
|
|
82
|
+
readonly 提交时间: "Submitted At";
|
|
83
|
+
readonly 当前处理人: "Current Handler";
|
|
84
|
+
readonly 无: "None";
|
|
85
|
+
readonly 查看单据详情: "View Ticket Detail";
|
|
86
|
+
readonly 复制单据: "Copy Ticket";
|
|
87
|
+
readonly 复制单据链接: "Copy Ticket Link";
|
|
88
|
+
readonly 取消审批: "Cancel Approval";
|
|
89
|
+
readonly '\u5F53\u524D\u4F1A\u8BDD\u6709 {count} \u4E2A\u5F85\u5BA1\u6279\u5355\uFF0C\u5982\u9700\u7EE7\u7EED\uFF0C\u8BF7\u5148\u53D6\u6D88\u5BA1\u6279': "There are {count} pending approval tickets in the current conversation. To continue, cancel approval first.";
|
|
90
|
+
readonly 暂不支持的中断消息: "Unsupported interrupt message";
|
|
72
91
|
readonly 检索中: "Searching";
|
|
73
92
|
readonly 检索完成: "Search Completed";
|
|
74
93
|
readonly 上传文件: "Upload File";
|
|
@@ -100,5 +119,18 @@ export declare const lang: {
|
|
|
100
119
|
readonly 有效证据: "Valid Evidence";
|
|
101
120
|
readonly 全屏: "Full Screen";
|
|
102
121
|
readonly 退出全屏: "Exit Full Screen";
|
|
122
|
+
readonly 请选择以继续: "Please choose to continue";
|
|
123
|
+
readonly 继续: "Continue";
|
|
124
|
+
readonly '\u6536\u5230\u4FE1\u606F\uFF1A': "Received: ";
|
|
125
|
+
readonly 待审批: "Pending";
|
|
126
|
+
readonly 已审批: "Approved";
|
|
127
|
+
readonly 完成: "Done";
|
|
128
|
+
readonly 跳过: "Skip";
|
|
129
|
+
readonly 单选: "Single";
|
|
130
|
+
readonly 多选: "Multiple";
|
|
131
|
+
readonly 其他: "Others";
|
|
132
|
+
readonly 回答内容: "Answers";
|
|
133
|
+
readonly 已回复: "Replied";
|
|
134
|
+
readonly '\u8BF7\u8F93\u5165...': "Please enter...";
|
|
103
135
|
};
|
|
104
|
-
export declare const t: (key: keyof typeof lang) => "Send" | "Stop" | "Ask AI" | "Copy" | "Share" | "Like" | "Unsatisfied" | "Delete" | "Quote" | "Regenerate" | "Regenerating will clear the content below" | "Submit" | "Cancel" | "Preview Content" | "Jump to Detail" | "Call Tool:" | "Calling..." | "Call Success" | "Call Failed" | "Tell us your thoughts" | "What makes you satisfied?" | "What makes you dissatisfied?" | "Return Content" | "Edit" | "Deep Thinking" | "Loading image..." | "Failed to load image" | "Thinking..." | "Thinking Completed" | "Thinking Failed" | "Copy Success" | "Copy Failed" | "Return to bottom" | "Stop generating" | "Stopping" | "Duration" | "Parameters" | "Description" | "Execution Status" | "Running" | "Success" | "Failed" | "Pending" | "To Be Executed" | "
|
|
136
|
+
export declare const t: (key: keyof typeof lang) => "Send" | "Stop" | "Ask AI" | "Copy" | "Share" | "Like" | "Unsatisfied" | "Delete" | "Quote" | "Regenerate" | "Regenerating will clear the content below" | "Submit" | "Cancel" | "Preview Content" | "Jump to Detail" | "Call Tool:" | "Calling..." | "Call Success" | "Call Failed" | "Tell us your thoughts" | "What makes you satisfied?" | "What makes you dissatisfied?" | "Return Content" | "Edit" | "Deep Thinking" | "Loading image..." | "Failed to load image" | "Thinking..." | "Thinking Completed" | "Thinking Failed" | "Copy Success" | "Copy Failed" | "Return to bottom" | "Stop generating" | "Stopping" | "Duration" | "Parameters" | "Description" | "Execution Status" | "Running" | "Success" | "Failed" | "Pending" | "To Be Executed" | "Details" | "Retry" | "Node" | "Node Config" | "Node Output" | "Basic Info" | "Flow Template" | "Node Name" | "Step Name" | "Execution Plan" | "Optional" | "Failure Handler" | "Timeout Control" | "Yes" | "No" | "Input Params" | "Output Params" | "Param Name" | "Param Value" | "Name" | "Structured Output" | "Manual Skip" | "No Data" | "Call MCP:" | "More" | "Algorithm Plan Review Ticket" | "Reviewing" | "Abandoned" | "Approved" | "Cancelled" | "Expired" | "Rejected" | "Revoked" | "Ticket No." | "Submitted At" | "Current Handler" | "None" | "View Ticket Detail" | "Copy Ticket" | "Copy Ticket Link" | "Cancel Approval" | "There are {count} pending approval tickets in the current conversation. To continue, cancel approval first." | "Unsupported interrupt message" | "Searching" | "Search Completed" | "Upload File" | "Requesting..." | "Cancel satisfied" | "Cancel dissatisfied" | "Confirm delete this answer?" | "This operation cannot be undone. Please proceed with caution!" | "Preview" | "Zoom Out" | "Zoom In" | "Rotate" | "Download" | "Sorry, image loading failed. Please try reloading." | "Reset" | "Reload" | "W" | "H" | "Upload Image" | "Search keyword" | "Select date" | "Locate in Chat" | "Select All" | "Confirm" | "Upload Image, up to 3 images supported, max 2.4MB each" | "Hello, I am BlueKing AI Bot" | "Clear Search" | "Search Result is Empty" | "Valid Evidence" | "Full Screen" | "Exit Full Screen" | "Please choose to continue" | "Continue" | "Received: " | "Done" | "Skip" | "Single" | "Multiple" | "Others" | "Answers" | "Replied" | "Please enter..." | "发送" | "停止" | "问问小鲸" | "复制" | "分享" | "点赞" | "不满意" | "删除" | "引用" | "重新生成" | "重新生成将清空下文内容" | "提交" | "取消" | "预览内容" | "跳转详情" | "调用工具:" | "调用中" | "调用成功" | "调用失败" | "说出您的想法" | "什么原因让你满意?" | "什么原因让你不满意?" | "返回内容" | "编辑" | "深度思考" | "图片加载中..." | "图片加载失败" | "思考中" | "已思考完成" | "思考失败" | "复制成功" | "复制失败" | "返回底部" | "停止生成" | "正在停止" | "耗时" | "参数" | "描述" | "执行情况" | "执行中" | "成功" | "失败" | "挂起" | "待执行" | "详情" | "重试" | "节点" | "节点配置" | "节点输出" | "基础信息" | "流程模板" | "节点名称" | "步骤名称" | "执行方案" | "是否可选" | "失败处理" | "超时控制" | "是" | "否" | "输入参数" | "输出参数" | "参数名" | "参数值" | "名称" | "变量说明" | "结构化输出" | "手动跳过" | "暂无数据" | "调用 MCP:" | "更多" | "算法方案评审单" | "评审中" | "已废弃" | "已批准" | "已通过" | "已取消" | "已过期" | "已拒绝" | "已撤销" | "单据编号" | "提交时间" | "当前处理人" | "无" | "查看单据详情" | "复制单据" | "复制单据链接" | "取消审批" | "当前会话有 {count} 个待审批单,如需继续,请先取消审批" | "暂不支持的中断消息" | "检索中" | "检索完成" | "上传文件" | "请求中..." | "取消满意" | "取消不满意" | "确认删除该回答?" | "删除操作无法撤回,请谨慎操作!" | "预览" | "缩小" | "放大" | "旋转" | "下载" | "抱歉,图片加载失败,可尝试重新加载" | "重置" | "重新加载" | "宽" | "高" | "上传图片" | "搜索 关键字" | "选择日期" | "在对话中定位" | "全选" | "确定" | "上传图片, 最多支持上传 3 个, 最大支持 2.4MB" | "你好,我是小鲸" | "清空搜索" | "搜索结果为空" | "有效证据" | "全屏" | "退出全屏" | "请选择以继续" | "继续" | "收到信息:" | "待审批" | "已审批" | "完成" | "跳过" | "单选" | "多选" | "其他" | "回答内容" | "已回复" | "请输入...";
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
<!-- AI SUMMARY -->
|
|
2
|
+
## 快速了解
|
|
3
|
+
|
|
4
|
+
活动消息的折叠布局容器,提供 title/default 插槽。 源码位置:src/components/chat-content/activity-layout/activity-layout.vue。
|
|
5
|
+
|
|
6
|
+
### 关联组件
|
|
7
|
+
- **activity-message** — 活动消息通过本组件承载标题栏与内容区
|
|
8
|
+
- **knowledge-rag-content** — 知识召回活动复用本组件展示加载标题与正文
|
|
9
|
+
- **reference-doc-content** — 引用文档活动复用本组件展示文档数量与引用列表
|
|
10
|
+
- **flow-agent-content** — FlowAgent 活动复用本组件,但隐藏默认折叠箭头
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
<!-- FULL DOC -->
|
|
14
|
+
|
|
15
|
+
# ActivityLayout 活动布局
|
|
16
|
+
|
|
17
|
+
> **能力域**:辅助能力
|
|
18
|
+
|
|
19
|
+
`ActivityLayout` 是活动消息的通用折叠布局容器,负责渲染标题栏、折叠箭头和内容区域。它不关心活动内容类型本身,标题和正文均通过插槽传入,因此常被 `KnowledgeRagContent`、`ReferenceDocContent`、`FlowAgentContent` 等活动组件复用。
|
|
20
|
+
|
|
21
|
+
通常不需要业务侧直接使用;如果要新增一种活动消息内容,可以用它作为标题/内容外壳。
|
|
22
|
+
|
|
23
|
+
## 源码事实
|
|
24
|
+
|
|
25
|
+
- **源码位置**:`src/components/chat-content/activity-layout/activity-layout.vue`
|
|
26
|
+
- **能力说明**:活动消息的折叠布局容器,提供 `title` / `default` 插槽。
|
|
27
|
+
|
|
28
|
+
## 核心能力
|
|
29
|
+
|
|
30
|
+
- **标题栏点击折叠**:点击标题栏切换 `collapsed`,内容区通过 `v-show="!collapsed"` 显示或隐藏
|
|
31
|
+
- **双向绑定**:通过 `v-model:collapsed` 让父组件控制展开/收起状态,默认展开
|
|
32
|
+
- **标题插槽透传状态**:`title` 插槽会收到 `{ collapsed }`,可根据折叠状态调整标题内容
|
|
33
|
+
- **默认折叠箭头**:非 FlowAgent 活动自动在标题右侧显示折叠箭头
|
|
34
|
+
- **FlowAgent 特例**:`activityType === MessageContentType.FlowAgent` 时隐藏默认折叠箭头,由 FlowAgent 自己渲染标题交互
|
|
35
|
+
|
|
36
|
+
## 基础用法
|
|
37
|
+
|
|
38
|
+
```vue
|
|
39
|
+
<template>
|
|
40
|
+
<ActivityLayout v-model:collapsed="collapsed">
|
|
41
|
+
<template #title="{ collapsed }">
|
|
42
|
+
<span class="ai-activity-message-title-icon">
|
|
43
|
+
<DocumentIcon style="font-size: 12px" />
|
|
44
|
+
</span>
|
|
45
|
+
<span class="ai-activity-message-title-text">
|
|
46
|
+
{{ collapsed ? '已折叠' : '引用 2 篇资料作为参考' }}
|
|
47
|
+
</span>
|
|
48
|
+
</template>
|
|
49
|
+
|
|
50
|
+
<div style="padding: 0 14px;">
|
|
51
|
+
活动内容
|
|
52
|
+
</div>
|
|
53
|
+
</ActivityLayout>
|
|
54
|
+
</template>
|
|
55
|
+
|
|
56
|
+
<script setup lang="ts">
|
|
57
|
+
import { ref } from 'vue';
|
|
58
|
+
import ActivityLayout from '@blueking/chat-x/src/components/chat-content/activity-layout/activity-layout.vue';
|
|
59
|
+
import { DocumentIcon } from '@blueking/chat-x/src/icons/content';
|
|
60
|
+
|
|
61
|
+
const collapsed = ref(false);
|
|
62
|
+
</script>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**渲染效果**
|
|
66
|
+
|
|
67
|
+
## 折叠状态
|
|
68
|
+
|
|
69
|
+
`collapsed` 默认为 `false`。设置为 `true` 时只展示标题栏,正文内容保留在 DOM 中但通过 `v-show` 隐藏。
|
|
70
|
+
|
|
71
|
+
## FlowAgent 活动
|
|
72
|
+
|
|
73
|
+
传入 `activityType="flow_agent"` 时,`ActivityLayout` 不渲染右侧默认折叠箭头。该场景下标题栏通常由 `FlowAgentContent` 自己展示状态统计、加载图标和展开箭头。
|
|
74
|
+
|
|
75
|
+
```vue
|
|
76
|
+
<ActivityLayout
|
|
77
|
+
v-model:collapsed="collapsed"
|
|
78
|
+
:activity-type="MessageContentType.FlowAgent"
|
|
79
|
+
>
|
|
80
|
+
<template #title>
|
|
81
|
+
<span>执行情况: 成功 2 / 失败 1</span>
|
|
82
|
+
</template>
|
|
83
|
+
<div>FlowAgent 节点列表</div>
|
|
84
|
+
</ActivityLayout>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 组件结构
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
.ai-activity-message
|
|
91
|
+
├── .ai-activity-message-title(点击切换 collapsed)
|
|
92
|
+
│ ├── title slot(slot props: { collapsed })
|
|
93
|
+
│ └── CollapsedIcon(activityType !== flow_agent 时显示)
|
|
94
|
+
└── .ai-activity-message-content(v-show="!collapsed")
|
|
95
|
+
└── default slot
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## API
|
|
99
|
+
|
|
100
|
+
### Props
|
|
101
|
+
|
|
102
|
+
| 属性名 | 类型 | 必填 | 默认值 | 说明 |
|
|
103
|
+
| ------------ | -------------------- | ---- | ------ | --------------------------------------------- |
|
|
104
|
+
| activityType | `MessageContentType` | 否 | — | 活动类型;为 `flow_agent` 时隐藏默认折叠箭头 |
|
|
105
|
+
|
|
106
|
+
### Models
|
|
107
|
+
|
|
108
|
+
| 名称 | 类型 | 默认值 | 说明 |
|
|
109
|
+
| --------- | --------- | ------- | ---------------- |
|
|
110
|
+
| collapsed | `boolean` | `false` | 活动内容是否折叠 |
|
|
111
|
+
|
|
112
|
+
### Emits
|
|
113
|
+
|
|
114
|
+
- 无显式 emits;`v-model:collapsed` 会产生 `update:collapsed`。
|
|
115
|
+
|
|
116
|
+
### Slots
|
|
117
|
+
|
|
118
|
+
| 插槽名 | 参数 | 说明 |
|
|
119
|
+
| ------- | ----------------------- | ---------- |
|
|
120
|
+
| title | `{ collapsed: boolean }` | 标题栏内容 |
|
|
121
|
+
| default | — | 活动正文 |
|
|
122
|
+
|
|
123
|
+
### Expose
|
|
124
|
+
|
|
125
|
+
- 无。
|
|
126
|
+
|
|
127
|
+
## 使用建议
|
|
128
|
+
|
|
129
|
+
- 适合作为活动消息内部布局外壳,不建议替代通用卡片、面板或页面 Section。
|
|
130
|
+
- 标题栏点击区域会整体触发折叠,标题插槽内如有按钮或链接,需要自行处理事件冒泡。
|
|
131
|
+
- `default` 内容使用 `v-show` 控制可见性,折叠时不会卸载内部组件。
|
|
132
|
+
|
|
133
|
+
## 关联组件
|
|
134
|
+
|
|
135
|
+
- [ActivityMessage](../message/activity-message.md) — 活动消息分发入口。
|
|
136
|
+
- [KnowledgeRagContent](../agent/knowledge-rag-content.md) — 知识召回活动。
|
|
137
|
+
- [ReferenceDocContent](../agent/reference-doc-content.md) — 引用文档活动。
|
|
138
|
+
- [FlowAgentContent](../agent/flow-agent-content.md) — FlowAgent 执行活动。
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- AI SUMMARY -->
|
|
2
2
|
## 快速了解
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
按 activityType 分发 FlowAgent、知识召回、引用文档等活动内容。 源码位置:src/components/chat-message/activity-message/activity-message.vue。
|
|
5
5
|
|
|
6
6
|
### 关联组件
|
|
7
7
|
- **message-render** — 由 MessageRender 在 role 为 activity 时创建
|
|
@@ -11,12 +11,19 @@ ActivityMessage 展示活动类消息:知识检索(knowledge_rag)、引用
|
|
|
11
11
|
<!-- FULL DOC -->
|
|
12
12
|
|
|
13
13
|
# ActivityMessage 活动消息
|
|
14
|
+
## 源码事实
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
- **源码位置**:`src/components/chat-message/activity-message/activity-message.vue`
|
|
17
|
+
- **能力域**:消息系统
|
|
18
|
+
- **能力说明**:按 activityType 分发 FlowAgent、知识召回、引用文档等活动内容。
|
|
19
|
+
|
|
20
|
+
> **能力域**:消息系统
|
|
16
21
|
|
|
17
22
|
活动消息组件,用于展示 AI 的知识检索(Knowledge RAG)过程、参考文档引用列表和 FlowAgent 流程执行情况。通过 `activityType` 切换三种工作模式,点击标题栏可折叠/展开内容区域。
|
|
18
23
|
|
|
19
|
-
组件会将父级传入消息上的 **`uid`** 以 **`message-uid`** 形式透传给各活动子组件(`FlowAgentContent` / `KnowledgeRagContent` / `ReferenceDocContent`),用于侧栏自定义 Tab、`addCustomTab` 的 `data.messageUid` 与主对话区「在对话中定位」联动(详见 [ChatContainer](
|
|
24
|
+
组件会将父级传入消息上的 **`uid`** 以 **`message-uid`** 形式透传给各活动子组件(`FlowAgentContent` / `KnowledgeRagContent` / `ReferenceDocContent`),用于侧栏自定义 Tab、`addCustomTab` 的 `data.messageUid` 与主对话区「在对话中定位」联动(详见 [ChatContainer](/components/setup/chat-container))。
|
|
25
|
+
|
|
26
|
+
`onInterruptResume` 仅由 `FlowAgentContent` 消费(失败节点「重试 / 跳过」),由 `MessageRender` 从 `ChatContainer` 透传;知识检索、引用文档等活动子组件忽略该 prop。
|
|
20
27
|
|
|
21
28
|
## 三种工作模式
|
|
22
29
|
|
|
@@ -160,7 +167,8 @@ ActivityMessage 展示活动类消息:知识检索(knowledge_rag)、引用
|
|
|
160
167
|
- **有效证据**:`task.has_confidence === true` 时,任务行右侧展示「有效证据」按钮,点击后在侧栏打开置信度/证据详情 Tab(`props.has_confidence: true`)
|
|
161
168
|
- **默认激活**:当 `MessageContainer` 已注入滚动上下文(`useContainerScrollProvider`,供 `FlowAgentContent` 内 `useContainerScrollConsumer` 读取)时,组件挂载后若存在 `task.is_active === true` 且 `task.has_confidence === true` 的任务,会自动在侧栏打开该任务的「有效证据」Tab;无滚动 Provider(例如独立演示)时不做自动打开。用户手动切换 Tab 后不再沿用 `is_active` 默认高亮
|
|
162
169
|
- **选中态**:当前侧栏 Tab 与任务行 / 节点行联动高亮(`is-selected`);任务 Tab 与「有效证据」Tab 均视为该任务的选中态
|
|
163
|
-
- **节点列表**:每个节点显示状态圆点、名称和耗时;hover
|
|
170
|
+
- **节点列表**:每个节点显示状态圆点、名称和耗时;hover 时出现行尾操作按钮组
|
|
171
|
+
- **失败节点操作**:失败且 `retryable` / `skippable` 为 `true` 的节点,hover 时额外展示「重试」「跳过」按钮,点击后通过 `onInterruptResume` 回传 Agent(不传 `interrupt`)
|
|
164
172
|
- **节点详情**:点击「详情」会通过 `useCustomTabConsumer` 在 `ChatContainer` 侧边栏新增自定义 Tab,展示节点配置(基础信息、输入参数、输出参数)
|
|
165
173
|
|
|
166
174
|
> `FlowAgentContent` 会读取 `ChatContainer` 注入的 `renderMode`。当 `renderMode === RenderMode.Share` 时,任务行不展示总耗时与「有效证据」,节点列表不展示耗时与「详情」按钮,避免分享预览中出现可交互入口。独立使用 `ActivityMessage` 且没有上层 Provider 时,默认按 `Chat` 模式渲染。
|
|
@@ -184,7 +192,10 @@ FlowAgentContent(activityType = 'flow_agent')
|
|
|
184
192
|
├── 状态圆点(颜色对应状态)
|
|
185
193
|
├── node.name(HighlightKeyword 支持搜索高亮)
|
|
186
194
|
├── node.elapsed_time
|
|
187
|
-
└──
|
|
195
|
+
└── 行尾操作按钮组(hover 显示)
|
|
196
|
+
├── 重试(失败 + retryable)→ onInterruptResume
|
|
197
|
+
├── 跳过(失败 + skippable)→ onInterruptResume
|
|
198
|
+
└── 详情 → 打开节点详情 Tab
|
|
188
199
|
```
|
|
189
200
|
|
|
190
201
|
### 用法示例
|
|
@@ -340,7 +351,9 @@ type BkFlowNode = {
|
|
|
340
351
|
loop: number;
|
|
341
352
|
name: string;
|
|
342
353
|
retry: number;
|
|
354
|
+
retryable?: boolean;
|
|
343
355
|
skip: boolean;
|
|
356
|
+
skippable?: boolean;
|
|
344
357
|
start_time: string;
|
|
345
358
|
state: string;
|
|
346
359
|
type: string;
|
|
@@ -404,6 +417,7 @@ enum MessageContentType {
|
|
|
404
417
|
| status | `MessageStatus` | - | 消息状态;在 `knowledge_rag` 模式下影响标题和图标,在 `flow_agent` 模式下影响标题 Loading 状态 |
|
|
405
418
|
| id | `string \| number` | - | 消息 ID |
|
|
406
419
|
| messageId | `string \| number` | - | 消息唯一标识 |
|
|
420
|
+
| onInterruptResume | `OnInterruptResume` | - | 仅 `flow_agent` 子组件消费;失败节点「重试 / 跳过」回调,由 `MessageRender` 透传 |
|
|
407
421
|
|
|
408
422
|
### v-model
|
|
409
423
|
|
|
@@ -448,5 +462,5 @@ enum MessageContentType {
|
|
|
448
462
|
|
|
449
463
|
## 关联组件
|
|
450
464
|
|
|
451
|
-
- [MessageRender](
|
|
452
|
-
- [AssistantMessage](
|
|
465
|
+
- [MessageRender](/components/message/message-render) — activity 角色由其实例化
|
|
466
|
+
- [AssistantMessage](/components/message/assistant-message) — 常与助手主回复配合出现
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- AI SUMMARY -->
|
|
2
2
|
## 快速了解
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
图片展示组件,组合加载、错误、预览和 extra 插槽。 源码位置:src/components/image-preview/image.vue。
|
|
5
5
|
|
|
6
6
|
### 关联组件
|
|
7
7
|
- **image-preview** — 独立模式下内嵌全屏预览,单图预览入口
|
|
@@ -11,8 +11,13 @@ AiImage 负责缩略图展示,并处理加载中、失败重试与懒加载;
|
|
|
11
11
|
<!-- FULL DOC -->
|
|
12
12
|
|
|
13
13
|
# AiImage 图片展示
|
|
14
|
+
## 源码事实
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
- **源码位置**:`src/components/image-preview/image.vue`
|
|
17
|
+
- **能力域**:媒体文件
|
|
18
|
+
- **能力说明**:图片展示组件,组合加载、错误、预览和 extra 插槽。
|
|
19
|
+
|
|
20
|
+
> **能力域**:媒体文件
|
|
16
21
|
|
|
17
22
|
图片展示组件,支持加载状态、加载失败重试、懒加载、点击预览等功能。可独立使用(单图预览),也可配合 `ImagePreviewGroup` 实现多图预览。
|
|
18
23
|
|
|
@@ -223,5 +228,5 @@ interface ImagePreviewConfig {
|
|
|
223
228
|
|
|
224
229
|
## 关联组件
|
|
225
230
|
|
|
226
|
-
- [ImagePreview](
|
|
227
|
-
- [ImagePreviewGroup](
|
|
231
|
+
- [ImagePreview](/components/medias/image-preview) — 独立模式下的全屏预览
|
|
232
|
+
- [ImagePreviewGroup](/components/medias/image-preview-group) — 多图注册与预览上下文
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- AI SUMMARY -->
|
|
2
2
|
## 快速了解
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
小尺寸 AI 加载动效。 源码位置:src/components/ai-loading/ai-loading.vue。
|
|
5
5
|
|
|
6
6
|
### 关联组件
|
|
7
7
|
- **loading-message** — 列表末尾加载占位
|
|
@@ -12,10 +12,15 @@ AiLoading 使用纯 CSS/SVG 动画(旋转环与脉冲星形)展示加载中
|
|
|
12
12
|
<!-- FULL DOC -->
|
|
13
13
|
|
|
14
14
|
# AiLoading AI 加载动画
|
|
15
|
+
## 源码事实
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
- **源码位置**:`src/components/ai-loading/ai-loading.vue`
|
|
18
|
+
- **能力域**:辅助能力
|
|
19
|
+
- **能力说明**:小尺寸 AI 加载动效。
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
> **能力域**:辅助能力
|
|
22
|
+
|
|
23
|
+
AI 加载动画基础组件。由两层 SVG 叠加构成:外层旋转光环(带渐变弧线)+ 内层脉冲星形图标,两者共用同一套蓝→紫→粉渐变色。
|
|
19
24
|
|
|
20
25
|
## 组件结构
|
|
21
26
|
|
|
@@ -124,6 +129,6 @@ ai-loading-star-{instanceId}
|
|
|
124
129
|
|
|
125
130
|
## 关联组件
|
|
126
131
|
|
|
127
|
-
- [LoadingMessage](
|
|
128
|
-
- [ReasoningMessage](
|
|
129
|
-
- [ActivityMessage](
|
|
132
|
+
- [LoadingMessage](/components/message/loading-message) — 对话加载消息
|
|
133
|
+
- [ReasoningMessage](/components/message/reasoning-message) — 推理加载态
|
|
134
|
+
- [ActivityMessage](/components/message/activity-message) — 活动加载态
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!-- AI SUMMARY -->
|
|
2
|
+
## 快速了解
|
|
3
|
+
|
|
4
|
+
/ Prompt 选择列表,供 AiSlashInput 插入模板文本。 源码位置:src/components/chat-input/ai-slash-input/ai-prompt-list/ai-prompt-list.vue。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
<!-- FULL DOC -->
|
|
8
|
+
|
|
9
|
+
# AiPromptList Prompt 列表
|
|
10
|
+
|
|
11
|
+
> **能力域**:输入交互
|
|
12
|
+
|
|
13
|
+
## 源码事实
|
|
14
|
+
|
|
15
|
+
- **源码位置**:`src/components/chat-input/ai-slash-input/ai-prompt-list/ai-prompt-list.vue`
|
|
16
|
+
- **能力说明**:/ Prompt 选择列表,供 AiSlashInput 插入模板文本。
|
|
17
|
+
|
|
18
|
+
## API 摘要
|
|
19
|
+
|
|
20
|
+
### Props
|
|
21
|
+
|
|
22
|
+
- `{ onSelect: (prompt: string) =`
|
|
23
|
+
|
|
24
|
+
### Emits
|
|
25
|
+
|
|
26
|
+
- 无。
|
|
27
|
+
|
|
28
|
+
### Slots
|
|
29
|
+
|
|
30
|
+
- 无。
|
|
31
|
+
|
|
32
|
+
### Expose
|
|
33
|
+
|
|
34
|
+
- 无。
|
|
35
|
+
|
|
36
|
+
## 组件依赖
|
|
37
|
+
|
|
38
|
+
- 无组件依赖或仅依赖基础库。
|
|
39
|
+
|
|
40
|
+
## 使用建议
|
|
41
|
+
|
|
42
|
+
- 优先通过上层组合组件使用;直接使用前请确认 props 数据结构来自对应类型定义。
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
<!-- AI SUMMARY -->
|
|
2
2
|
## 快速了解
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
监听选中文本并展示快捷操作浮窗。 源码位置:src/components/ai-selection/ai-selection.vue。
|
|
5
5
|
|
|
6
6
|
### 关联组件
|
|
7
|
-
- **shortcut-btn** —
|
|
7
|
+
- **shortcut-btn** — 弹窗内快捷指令按钮/菜单项由该基础组件渲染
|
|
8
8
|
- **chat-input** — 划词结果常回填或触发与输入框联动的快捷指令
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
<!-- FULL DOC -->
|
|
12
12
|
|
|
13
13
|
# AiSelection AI 划词选择弹窗
|
|
14
|
+
## 源码事实
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
- **源码位置**:`src/components/ai-selection/ai-selection.vue`
|
|
17
|
+
- **能力域**:输入交互
|
|
18
|
+
- **能力说明**:监听选中文本并展示快捷操作浮窗。
|
|
19
|
+
|
|
20
|
+
> **能力域**:输入交互
|
|
16
21
|
|
|
17
22
|
AI 划词选择组件,监听用户在页面中的文本选区,在选区附近弹出快捷操作菜单。支持自定义快捷指令列表、数量限制、垂直偏移以及完全自定义插槽内容。
|
|
18
23
|
|
|
@@ -432,5 +437,5 @@ interface Shortcut {
|
|
|
432
437
|
|
|
433
438
|
## 关联组件
|
|
434
439
|
|
|
435
|
-
- [ShortcutBtn](
|
|
436
|
-
- [ChatInput](
|
|
440
|
+
- [ShortcutBtn](/components/input/shortcut-btn) — 弹窗内快捷指令按钮单元
|
|
441
|
+
- [ChatInput](/components/input/chat-input) — 选区文本常回填到聊天输入框
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- AI SUMMARY -->
|
|
2
|
+
## 快速了解
|
|
3
|
+
|
|
4
|
+
旧版富文本编辑器实现,封装 command selection 与提示菜单。 源码位置:src/components/chat-input/ai-slash-editor/ai-slash-editor.vue。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
<!-- FULL DOC -->
|
|
8
|
+
|
|
9
|
+
# AiSlashEditor 富文本编辑器
|
|
10
|
+
|
|
11
|
+
> **能力域**:输入交互
|
|
12
|
+
|
|
13
|
+
## 源码事实
|
|
14
|
+
|
|
15
|
+
- **源码位置**:`src/components/chat-input/ai-slash-editor/ai-slash-editor.vue`
|
|
16
|
+
- **能力说明**:旧版富文本编辑器实现,封装 command selection 与提示菜单。
|
|
17
|
+
|
|
18
|
+
## API 摘要
|
|
19
|
+
|
|
20
|
+
### Props
|
|
21
|
+
|
|
22
|
+
- `{ disabled?: boolean; modelValue?: string; placeholder?: string; prompts?: string[]; }`
|
|
23
|
+
|
|
24
|
+
### Emits
|
|
25
|
+
|
|
26
|
+
- `{ (e: 'update:modelValue', value: string): void; (e: 'focus'): void; (e: 'keydown', event: IKeyboardEvent): void; (e: 'layoutChange', layoutInfo: monacoEditor.EditorLayoutInfo): void; }`
|
|
27
|
+
|
|
28
|
+
### Slots
|
|
29
|
+
|
|
30
|
+
- 无。
|
|
31
|
+
|
|
32
|
+
### Expose
|
|
33
|
+
|
|
34
|
+
- `{ get editor(`
|
|
35
|
+
|
|
36
|
+
## 组件依赖
|
|
37
|
+
|
|
38
|
+
- `AiPromptList`
|
|
39
|
+
- `AiSlashMenu`
|
|
40
|
+
|
|
41
|
+
## 使用建议
|
|
42
|
+
|
|
43
|
+
- 优先通过上层组合组件使用;直接使用前请确认 props 数据结构来自对应类型定义。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- AI SUMMARY -->
|
|
2
|
+
## 快速了解
|
|
3
|
+
|
|
4
|
+
ChatInput 内部富文本输入,支持 / Prompt 与 @ 资源标签。 源码位置:src/components/chat-input/ai-slash-input/ai-slash-input.vue。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
<!-- FULL DOC -->
|
|
8
|
+
|
|
9
|
+
# AiSlashInput 富文本命令输入
|
|
10
|
+
|
|
11
|
+
> **能力域**:输入交互
|
|
12
|
+
|
|
13
|
+
## 源码事实
|
|
14
|
+
|
|
15
|
+
- **源码位置**:`src/components/chat-input/ai-slash-input/ai-slash-input.vue`
|
|
16
|
+
- **能力说明**:ChatInput 内部富文本输入,支持 / Prompt 与 @ 资源标签。
|
|
17
|
+
|
|
18
|
+
## API 摘要
|
|
19
|
+
|
|
20
|
+
### Props
|
|
21
|
+
|
|
22
|
+
- `{ modelValue: string | TagSchema; placeholder?: string; prompts?: string[]; resources?: IAiSlashMenuItem[]; }`
|
|
23
|
+
|
|
24
|
+
### Emits
|
|
25
|
+
|
|
26
|
+
- `{ (e: 'update:modelValue', value: TagSchema, selectedResourceList: IAiSlashMenuItem[]): void; (e: 'keydown', event: KeyboardEvent & KeyboardPayload): void; (e: 'upload', files: File[]): void; }`
|
|
27
|
+
|
|
28
|
+
### Slots
|
|
29
|
+
|
|
30
|
+
- 无。
|
|
31
|
+
|
|
32
|
+
### Expose
|
|
33
|
+
|
|
34
|
+
- `{ cleanup: (`
|
|
35
|
+
|
|
36
|
+
## 组件依赖
|
|
37
|
+
|
|
38
|
+
- `AiPromptList`
|
|
39
|
+
- `AiSlashMenu`
|
|
40
|
+
|
|
41
|
+
## 使用建议
|
|
42
|
+
|
|
43
|
+
- 优先通过上层组合组件使用;直接使用前请确认 props 数据结构来自对应类型定义。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!-- AI SUMMARY -->
|
|
2
|
+
## 快速了解
|
|
3
|
+
|
|
4
|
+
@ 资源选择菜单,展示资源项供 AiSlashInput 插入标签。 源码位置:src/components/chat-input/ai-slash-input/ai-slash-menu/ai-slash-menu.vue。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
<!-- FULL DOC -->
|
|
8
|
+
|
|
9
|
+
# AiSlashMenu 资源菜单
|
|
10
|
+
|
|
11
|
+
> **能力域**:输入交互
|
|
12
|
+
|
|
13
|
+
## 源码事实
|
|
14
|
+
|
|
15
|
+
- **源码位置**:`src/components/chat-input/ai-slash-input/ai-slash-menu/ai-slash-menu.vue`
|
|
16
|
+
- **能力说明**:@ 资源选择菜单,展示资源项供 AiSlashInput 插入标签。
|
|
17
|
+
|
|
18
|
+
## API 摘要
|
|
19
|
+
|
|
20
|
+
### Props
|
|
21
|
+
|
|
22
|
+
- `{ onSelect: (item: IAiSlashMenuItem) =`
|
|
23
|
+
|
|
24
|
+
### Emits
|
|
25
|
+
|
|
26
|
+
- 无。
|
|
27
|
+
|
|
28
|
+
### Slots
|
|
29
|
+
|
|
30
|
+
- 无。
|
|
31
|
+
|
|
32
|
+
### Expose
|
|
33
|
+
|
|
34
|
+
- 无。
|
|
35
|
+
|
|
36
|
+
## 组件依赖
|
|
37
|
+
|
|
38
|
+
- 无组件依赖或仅依赖基础库。
|
|
39
|
+
|
|
40
|
+
## 使用建议
|
|
41
|
+
|
|
42
|
+
- 优先通过上层组合组件使用;直接使用前请确认 props 数据结构来自对应类型定义。
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- AI SUMMARY -->
|
|
2
2
|
## 快速了解
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
按文本增量播放流式动画。 源码位置:src/components/animation-text/animation-text.vue。
|
|
5
5
|
|
|
6
6
|
### 关联组件
|
|
7
7
|
- **use-animation-text** — 提供 chunk 拆分与 animationStyle 的 composable
|
|
@@ -11,10 +11,15 @@ AnimationText 将文本拆成 chunk 并以淡入 keyframes 逐段显示,适合
|
|
|
11
11
|
<!-- FULL DOC -->
|
|
12
12
|
|
|
13
13
|
# AnimationText 动画文本
|
|
14
|
+
## 源码事实
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
- **源码位置**:`src/components/animation-text/animation-text.vue`
|
|
17
|
+
- **能力域**:内容渲染
|
|
18
|
+
- **能力说明**:按文本增量播放流式动画。
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
> **能力域**:内容渲染
|
|
21
|
+
|
|
22
|
+
动画文本基础组件,将文本以**淡入(fade-in)**方式渐显。内部由 `useAnimationText` composable 驱动,核心能力是将增量文本拆分为独立 chunk,每个 chunk 单独触发一次淡入动画,适用于流式文本的逐段渐显效果。
|
|
18
23
|
|
|
19
24
|
## 组件结构
|
|
20
25
|
|
|
@@ -196,4 +201,4 @@ interface AnimationConfig {
|
|
|
196
201
|
## 关联组件
|
|
197
202
|
|
|
198
203
|
- [useAnimationText](../../composables/use-animation-text.md) — chunk 与动画样式逻辑
|
|
199
|
-
- [MarkdownContent](
|
|
204
|
+
- [MarkdownContent](/components/rendering/markdown-content) — 流式正文渲染时可配合渐显
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- AI SUMMARY -->
|
|
2
2
|
## 快速了解
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
渲染助手消息主体、工具调用与文件内容,默认插槽可覆盖正文渲染。 源码位置:src/components/chat-message/assistant-message/assistant-message.vue。
|
|
5
5
|
|
|
6
6
|
### 关联组件
|
|
7
7
|
- **message-render** — 由 MessageRender 在 role 为 assistant 时创建
|
|
@@ -12,8 +12,13 @@ AssistantMessage 渲染 AI 助手回复:正文由 ContentRender(可被默认
|
|
|
12
12
|
<!-- FULL DOC -->
|
|
13
13
|
|
|
14
14
|
# AssistantMessage AI 助手消息
|
|
15
|
+
## 源码事实
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
- **源码位置**:`src/components/chat-message/assistant-message/assistant-message.vue`
|
|
18
|
+
- **能力域**:消息系统
|
|
19
|
+
- **能力说明**:渲染助手消息主体、工具调用与文件内容,默认插槽可覆盖正文渲染。
|
|
20
|
+
|
|
21
|
+
> **能力域**:消息系统
|
|
17
22
|
|
|
18
23
|
AI 助手消息展示组件,负责渲染 AI 回复的文本内容和工具调用(Tool Calls)结果。
|
|
19
24
|
|
|
@@ -419,6 +424,6 @@ interface ToolMessage extends BaseMessage<MessageRole.Tool, string> {
|
|
|
419
424
|
|
|
420
425
|
## 关联组件
|
|
421
426
|
|
|
422
|
-
- [MessageRender](
|
|
423
|
-
- [ToolMessage](
|
|
424
|
-
- [ToolcallRender](
|
|
427
|
+
- [MessageRender](/components/message/message-render) — assistant 角色由其实例化
|
|
428
|
+
- [ToolMessage](/components/message/tool-message) — 工具执行结果可通过 toolCall.toolMessage 内联
|
|
429
|
+
- [ToolcallRender](/components/agent/toolcall-render) — 工具调用列表渲染
|