@next-bricks/ai 1.32.14 → 1.32.15
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/dist/bricks.json +1 -1
- package/dist/chunks/2862.36930d5a.js +3 -0
- package/dist/chunks/2862.36930d5a.js.map +1 -0
- package/dist/chunks/7736.477cde3e.js.map +1 -1
- package/dist/chunks/chat-agent.7726f29c.js.map +1 -1
- package/dist/chunks/chat-view.20131fe6.js.map +1 -1
- package/dist/chunks/{main.1d2068a6.js → main.247369ae.js} +2 -2
- package/dist/chunks/{main.1d2068a6.js.map → main.247369ae.js.map} +1 -1
- package/dist/examples.json +8 -1
- package/dist/{index.46def2d7.js → index.76c0e328.js} +2 -2
- package/dist/{index.46def2d7.js.map → index.76c0e328.js.map} +1 -1
- package/dist/manifest.json +37 -5
- package/dist-types/chat-agent/index.d.ts +23 -0
- package/dist-types/chat-view/index.d.ts +14 -5
- package/docs/chat-agent.md +117 -0
- package/docs/chat-agent.react.md +95 -0
- package/docs/chat-view.md +132 -0
- package/docs/chat-view.react.md +123 -0
- package/package.json +2 -2
- package/dist/chunks/2862.8a658734.js +0 -3
- package/dist/chunks/2862.8a658734.js.map +0 -1
- /package/dist/chunks/{2862.8a658734.js.LICENSE.txt → 2862.36930d5a.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: ai.chat-agent
|
|
3
|
+
displayName: WrappedAiChatAgent
|
|
4
|
+
description: 用于与 AI 机器人进行对话的代理构件,处理通信并整合消息。
|
|
5
|
+
category: ai
|
|
6
|
+
source: "@next-bricks/ai"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ai.chat-agent
|
|
10
|
+
|
|
11
|
+
> 用于与 AI 机器人进行对话的代理构件,处理通信并整合消息。
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| ------------------------ | --------- | ---- | ------ | ---------------------------------------------------------------- |
|
|
17
|
+
| agentId | `string` | 否 | - | 智能体 ID |
|
|
18
|
+
| robotId | `string` | 否 | - | 机器人 ID |
|
|
19
|
+
| conversationId | `string` | 否 | - | 会话 ID,用于延续历史会话 |
|
|
20
|
+
| alwaysUseNewConversation | `boolean` | 否 | - | 是否每次请求都使用新会话,设为 true 时每次发消息不会延续历史会话 |
|
|
21
|
+
|
|
22
|
+
## Events
|
|
23
|
+
|
|
24
|
+
| 事件 | detail | 说明 |
|
|
25
|
+
| --------------------- | --------------------------------------------------- | ----------------------------------------------------------------- |
|
|
26
|
+
| messages.update | `Message[]` — 当前全部消息列表 | 消息列表更新时触发 |
|
|
27
|
+
| busy.change | `boolean` — 当前忙碌状态 | 忙碌状态变化时触发,true 表示正在等待 AI 响应,false 表示响应完成 |
|
|
28
|
+
| conversationId.change | `string \| null` — 新的会话 ID,开启新会话时为 null | 会话 ID 变化时触发 |
|
|
29
|
+
|
|
30
|
+
## Methods
|
|
31
|
+
|
|
32
|
+
| 方法 | 参数 | 返回值 | 说明 |
|
|
33
|
+
| ------------------- | ------------------------------------------------------------------------------------------------- | ------ | -------------------------------------------------------------------------------- |
|
|
34
|
+
| postMessage | `(content: string) => void` | `void` | 发送消息到默认的聊天 API |
|
|
35
|
+
| sendRequest | `(leadingMessages: string \| BaseMessage[], url: string, options: Options<MessageChunk>) => void` | `void` | 发送聊天请求到指定的 URL |
|
|
36
|
+
| lowLevelSendRequest | `(leadingMessages: string \| BaseMessage[], url: string, options: Options<MessageChunk>) => void` | `void` | 发送底层聊天请求到指定的 URL。接口的请求和响应的数据结构和 OpenAI 聊天接口一致。 |
|
|
37
|
+
| newConversation | `() => void` | `void` | 开启新会话,清空当前消息列表并重置会话状态 |
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
|
|
41
|
+
### Basic
|
|
42
|
+
|
|
43
|
+
使用默认聊天接口发送消息,监听消息列表更新和忙碌状态变化。
|
|
44
|
+
|
|
45
|
+
```yaml preview
|
|
46
|
+
brick: ai.chat-agent
|
|
47
|
+
properties:
|
|
48
|
+
id: chat-agent
|
|
49
|
+
agentId: my-agent-id
|
|
50
|
+
robotId: my-robot-id
|
|
51
|
+
events:
|
|
52
|
+
messages.update:
|
|
53
|
+
- action: console.log
|
|
54
|
+
args:
|
|
55
|
+
- messages
|
|
56
|
+
- <% EVENT.detail %>
|
|
57
|
+
busy.change:
|
|
58
|
+
- action: console.log
|
|
59
|
+
args:
|
|
60
|
+
- busy
|
|
61
|
+
- <% EVENT.detail %>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Conversation Management
|
|
65
|
+
|
|
66
|
+
通过方法调用控制会话,包括发送消息和开启新会话。
|
|
67
|
+
|
|
68
|
+
```yaml preview
|
|
69
|
+
- brick: ai.chat-agent
|
|
70
|
+
properties:
|
|
71
|
+
id: chat-agent
|
|
72
|
+
agentId: my-agent-id
|
|
73
|
+
robotId: my-robot-id
|
|
74
|
+
events:
|
|
75
|
+
messages.update:
|
|
76
|
+
- action: console.log
|
|
77
|
+
args:
|
|
78
|
+
- <% EVENT.detail %>
|
|
79
|
+
conversationId.change:
|
|
80
|
+
- action: console.log
|
|
81
|
+
args:
|
|
82
|
+
- conversationId changed
|
|
83
|
+
- <% EVENT.detail %>
|
|
84
|
+
- brick: eo-button
|
|
85
|
+
properties:
|
|
86
|
+
textContent: 发送消息
|
|
87
|
+
events:
|
|
88
|
+
click:
|
|
89
|
+
- target: "#chat-agent"
|
|
90
|
+
method: postMessage
|
|
91
|
+
args:
|
|
92
|
+
- 你好,请介绍一下自己
|
|
93
|
+
- brick: eo-button
|
|
94
|
+
properties:
|
|
95
|
+
textContent: 开启新会话
|
|
96
|
+
events:
|
|
97
|
+
click:
|
|
98
|
+
- target: "#chat-agent"
|
|
99
|
+
method: newConversation
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Always New Conversation
|
|
103
|
+
|
|
104
|
+
每次发送消息都使用新会话,不延续历史上下文。
|
|
105
|
+
|
|
106
|
+
```yaml preview
|
|
107
|
+
brick: ai.chat-agent
|
|
108
|
+
properties:
|
|
109
|
+
agentId: my-agent-id
|
|
110
|
+
robotId: my-robot-id
|
|
111
|
+
alwaysUseNewConversation: true
|
|
112
|
+
events:
|
|
113
|
+
messages.update:
|
|
114
|
+
- action: console.log
|
|
115
|
+
args:
|
|
116
|
+
- <% EVENT.detail %>
|
|
117
|
+
```
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: ai.chat-agent
|
|
3
|
+
displayName: WrappedAiChatAgent
|
|
4
|
+
description: 用于与 AI 机器人进行对话的代理构件,处理通信并整合消息。
|
|
5
|
+
category: ai
|
|
6
|
+
source: "@next-bricks/ai"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# WrappedAiChatAgent
|
|
10
|
+
|
|
11
|
+
> 用于与 AI 机器人进行对话的代理构件,处理通信并整合消息。
|
|
12
|
+
|
|
13
|
+
## 导入
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { WrappedAiChatAgent } from "@easyops/wrapped-components";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
22
|
+
| ------------------------ | --------- | ---- | ------ | ---------------------------------------------------------------- |
|
|
23
|
+
| agentId | `string` | 否 | - | 智能体 ID |
|
|
24
|
+
| robotId | `string` | 否 | - | 机器人 ID |
|
|
25
|
+
| conversationId | `string` | 否 | - | 会话 ID,用于延续历史会话 |
|
|
26
|
+
| alwaysUseNewConversation | `boolean` | 否 | - | 是否每次请求都使用新会话,设为 true 时每次发消息不会延续历史会话 |
|
|
27
|
+
|
|
28
|
+
## Events
|
|
29
|
+
|
|
30
|
+
| 事件 | detail | 说明 |
|
|
31
|
+
| ---------------------- | --------------------------------------------------- | ----------------------------------------------------------------- |
|
|
32
|
+
| onMessagesUpdate | `Message[]` — 当前全部消息列表 | 消息列表更新时触发 |
|
|
33
|
+
| onBusyChange | `boolean` — 当前忙碌状态 | 忙碌状态变化时触发,true 表示正在等待 AI 响应,false 表示响应完成 |
|
|
34
|
+
| onConversationIdChange | `string \| null` — 新的会话 ID,开启新会话时为 null | 会话 ID 变化时触发 |
|
|
35
|
+
|
|
36
|
+
## Methods
|
|
37
|
+
|
|
38
|
+
| 方法 | 参数 | 返回值 | 说明 |
|
|
39
|
+
| ------------------- | ------------------------------------------------------------------------------------------------- | ------ | -------------------------------------------------------------------------------- |
|
|
40
|
+
| postMessage | `(content: string) => void` | `void` | 发送消息到默认的聊天 API |
|
|
41
|
+
| sendRequest | `(leadingMessages: string \| BaseMessage[], url: string, options: Options<MessageChunk>) => void` | `void` | 发送聊天请求到指定的 URL |
|
|
42
|
+
| lowLevelSendRequest | `(leadingMessages: string \| BaseMessage[], url: string, options: Options<MessageChunk>) => void` | `void` | 发送底层聊天请求到指定的 URL。接口的请求和响应的数据结构和 OpenAI 聊天接口一致。 |
|
|
43
|
+
| newConversation | `() => void` | `void` | 开启新会话,清空当前消息列表并重置会话状态 |
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
|
|
47
|
+
### Basic
|
|
48
|
+
|
|
49
|
+
使用默认聊天接口发送消息,监听消息列表更新和忙碌状态变化。
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
<WrappedAiChatAgent
|
|
53
|
+
agentId="my-agent-id"
|
|
54
|
+
robotId="my-robot-id"
|
|
55
|
+
onMessagesUpdate={(e) => console.log("messages", e.detail)}
|
|
56
|
+
onBusyChange={(e) => console.log("busy", e.detail)}
|
|
57
|
+
/>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Conversation Management
|
|
61
|
+
|
|
62
|
+
通过方法调用控制会话,包括发送消息和开启新会话。
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
const ref = useRef<any>();
|
|
66
|
+
|
|
67
|
+
<>
|
|
68
|
+
<WrappedAiChatAgent
|
|
69
|
+
ref={ref}
|
|
70
|
+
agentId="my-agent-id"
|
|
71
|
+
robotId="my-robot-id"
|
|
72
|
+
onMessagesUpdate={(e) => console.log(e.detail)}
|
|
73
|
+
onConversationIdChange={(e) =>
|
|
74
|
+
console.log("conversationId changed", e.detail)
|
|
75
|
+
}
|
|
76
|
+
/>
|
|
77
|
+
<button onClick={() => ref.current?.postMessage("你好,请介绍一下自己")}>
|
|
78
|
+
发送消息
|
|
79
|
+
</button>
|
|
80
|
+
<button onClick={() => ref.current?.newConversation()}>开启新会话</button>
|
|
81
|
+
</>;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Always New Conversation
|
|
85
|
+
|
|
86
|
+
每次发送消息都使用新会话,不延续历史上下文。
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
<WrappedAiChatAgent
|
|
90
|
+
agentId="my-agent-id"
|
|
91
|
+
robotId="my-robot-id"
|
|
92
|
+
alwaysUseNewConversation={true}
|
|
93
|
+
onMessagesUpdate={(e) => console.log(e.detail)}
|
|
94
|
+
/>
|
|
95
|
+
```
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: ai.chat-view
|
|
3
|
+
displayName: WrappedAiChatView
|
|
4
|
+
description: AI 对话终端
|
|
5
|
+
category: ai
|
|
6
|
+
source: "@next-bricks/ai"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ai.chat-view
|
|
10
|
+
|
|
11
|
+
> AI 对话终端
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| ----------------- | ------------------- | ---- | ------- | ------------------------------------------------------------------ |
|
|
17
|
+
| agentId | `string` | 是 | - | 智能体id |
|
|
18
|
+
| robotId | `string` | 是 | - | 机器人id |
|
|
19
|
+
| sessionId | `string` | 否 | - | 当前会话 ID |
|
|
20
|
+
| answerLanguage | `string` | 否 | - | 指定智能体回答代码时所使用的语言 |
|
|
21
|
+
| debug | `boolean` | 否 | - | 是否为debug模式 |
|
|
22
|
+
| showAvatar | `boolean` | 否 | `true` | 是否展示对话用户头像 |
|
|
23
|
+
| showSessionList | `boolean` | 否 | `true` | 是否展示历史会话信息 |
|
|
24
|
+
| readonly | `boolean` | 否 | - | 只读模式 |
|
|
25
|
+
| showLike | `boolean` | 否 | `true` | 是否展示点赞能力 |
|
|
26
|
+
| showShare | `boolean` | 否 | `true` | 是否展示分享能力 |
|
|
27
|
+
| useSpiltWord | `boolean` | 否 | `false` | 是否开启前端分词 |
|
|
28
|
+
| enterInterval | `number` | 否 | `50` | 输入间隔,设置为 -1 使用新的方式对大段消息进行模拟打字效果节流输出 |
|
|
29
|
+
| quickAnswerConfig | `QuickAnswerConfig` | 否 | - | 快速入口列表 |
|
|
30
|
+
| snippetList | `snippet[]` | 否 | - | 常用语列表 |
|
|
31
|
+
| commandBricks | `commandBrickConf` | 否 | - | 自定义语言配置 |
|
|
32
|
+
| inputToolbarBrick | `InputToolbarBrick` | 否 | - | 输入框工具栏 useBrick |
|
|
33
|
+
| showToolCalls | `boolean` | 否 | - | 是否显示工具调用过程 |
|
|
34
|
+
|
|
35
|
+
## Events
|
|
36
|
+
|
|
37
|
+
| 事件 | detail | 说明 |
|
|
38
|
+
| ---------------- | ----------------------------------------------- | ---------------------------------------------------- |
|
|
39
|
+
| sessionId.change | `string \| undefined` — 当前激活的会话 ID | 会话 ID 变化时触发 |
|
|
40
|
+
| robotId.change | `string \| undefined` — 当前会话对应的机器人 ID | 机器人 ID 变化时触发(切换会话时可能切换对应机器人) |
|
|
41
|
+
| qa.finish | `string \| undefined` — 当前激活的会话 ID | 一次问答完成时触发(chatting 从 true 变为 false 时) |
|
|
42
|
+
|
|
43
|
+
## Methods
|
|
44
|
+
|
|
45
|
+
| 方法 | 参数 | 返回值 | 说明 |
|
|
46
|
+
| -------------- | ---------------------------------------------------------- | ------ | ------------------------------------------ |
|
|
47
|
+
| setConfig | `(config: Record<string, unknown> \| undefined) => void` | `void` | 设置接口 config |
|
|
48
|
+
| setFormData | `(formData: Record<string, unknown> \| undefined) => void` | `void` | 设置接口 formData |
|
|
49
|
+
| insertQuestion | `(args: { value: string }) => void` | `void` | 调用方法进行提问,将内容插入输入框并发送 |
|
|
50
|
+
| sendMsg | `(msg: string \| ChatBody) => void` | `void` | 外部发起提问,直接发送消息不经过输入框交互 |
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
|
|
54
|
+
### Basic
|
|
55
|
+
|
|
56
|
+
基础对话终端,展示历史会话列表和对话消息。
|
|
57
|
+
|
|
58
|
+
```yaml preview
|
|
59
|
+
brick: ai.chat-view
|
|
60
|
+
properties:
|
|
61
|
+
agentId: my-agent-id
|
|
62
|
+
robotId: my-robot-id
|
|
63
|
+
showAvatar: true
|
|
64
|
+
showSessionList: true
|
|
65
|
+
showLike: true
|
|
66
|
+
showShare: true
|
|
67
|
+
events:
|
|
68
|
+
sessionId.change:
|
|
69
|
+
- action: console.log
|
|
70
|
+
args:
|
|
71
|
+
- sessionId changed
|
|
72
|
+
- <% EVENT.detail %>
|
|
73
|
+
qa.finish:
|
|
74
|
+
- action: console.log
|
|
75
|
+
args:
|
|
76
|
+
- qa finished
|
|
77
|
+
- <% EVENT.detail %>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Readonly Mode
|
|
81
|
+
|
|
82
|
+
只读模式,隐藏输入框,仅展示历史消息内容。
|
|
83
|
+
|
|
84
|
+
```yaml preview
|
|
85
|
+
brick: ai.chat-view
|
|
86
|
+
properties:
|
|
87
|
+
agentId: my-agent-id
|
|
88
|
+
robotId: my-robot-id
|
|
89
|
+
readonly: true
|
|
90
|
+
sessionId: existing-session-id
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### External Send Message
|
|
94
|
+
|
|
95
|
+
通过外部按钮触发提问,直接发送消息到对话终端。
|
|
96
|
+
|
|
97
|
+
```yaml preview
|
|
98
|
+
- brick: ai.chat-view
|
|
99
|
+
properties:
|
|
100
|
+
id: chat-view
|
|
101
|
+
agentId: my-agent-id
|
|
102
|
+
robotId: my-robot-id
|
|
103
|
+
showSessionList: false
|
|
104
|
+
events:
|
|
105
|
+
robotId.change:
|
|
106
|
+
- action: console.log
|
|
107
|
+
args:
|
|
108
|
+
- <% EVENT.detail %>
|
|
109
|
+
- brick: eo-button
|
|
110
|
+
properties:
|
|
111
|
+
textContent: 外部提问
|
|
112
|
+
events:
|
|
113
|
+
click:
|
|
114
|
+
- target: "#chat-view"
|
|
115
|
+
method: sendMsg
|
|
116
|
+
args:
|
|
117
|
+
- 请介绍一下产品功能
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### With Tool Calls
|
|
121
|
+
|
|
122
|
+
显示工具调用过程,适合调试智能体工具链场景。
|
|
123
|
+
|
|
124
|
+
```yaml preview
|
|
125
|
+
brick: ai.chat-view
|
|
126
|
+
properties:
|
|
127
|
+
agentId: my-agent-id
|
|
128
|
+
robotId: my-robot-id
|
|
129
|
+
showToolCalls: true
|
|
130
|
+
debug: true
|
|
131
|
+
enterInterval: -1
|
|
132
|
+
```
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: ai.chat-view
|
|
3
|
+
displayName: WrappedAiChatView
|
|
4
|
+
description: AI 对话终端
|
|
5
|
+
category: ai
|
|
6
|
+
source: "@next-bricks/ai"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# WrappedAiChatView
|
|
10
|
+
|
|
11
|
+
> AI 对话终端
|
|
12
|
+
|
|
13
|
+
## 导入
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { WrappedAiChatView } from "@easyops/wrapped-components";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
22
|
+
| ----------------- | ------------------- | ---- | ------- | ------------------------------------------------------------------ |
|
|
23
|
+
| agentId | `string` | 是 | - | 智能体id |
|
|
24
|
+
| robotId | `string` | 是 | - | 机器人id |
|
|
25
|
+
| sessionId | `string` | 否 | - | 当前会话 ID |
|
|
26
|
+
| answerLanguage | `string` | 否 | - | 指定智能体回答代码时所使用的语言 |
|
|
27
|
+
| debug | `boolean` | 否 | - | 是否为debug模式 |
|
|
28
|
+
| showAvatar | `boolean` | 否 | `true` | 是否展示对话用户头像 |
|
|
29
|
+
| showSessionList | `boolean` | 否 | `true` | 是否展示历史会话信息 |
|
|
30
|
+
| readonly | `boolean` | 否 | - | 只读模式 |
|
|
31
|
+
| showLike | `boolean` | 否 | `true` | 是否展示点赞能力 |
|
|
32
|
+
| showShare | `boolean` | 否 | `true` | 是否展示分享能力 |
|
|
33
|
+
| useSpiltWord | `boolean` | 否 | `false` | 是否开启前端分词 |
|
|
34
|
+
| enterInterval | `number` | 否 | `50` | 输入间隔,设置为 -1 使用新的方式对大段消息进行模拟打字效果节流输出 |
|
|
35
|
+
| quickAnswerConfig | `QuickAnswerConfig` | 否 | - | 快速入口列表 |
|
|
36
|
+
| snippetList | `snippet[]` | 否 | - | 常用语列表 |
|
|
37
|
+
| commandBricks | `commandBrickConf` | 否 | - | 自定义语言配置 |
|
|
38
|
+
| inputToolbarBrick | `InputToolbarBrick` | 否 | - | 输入框工具栏 useBrick |
|
|
39
|
+
| showToolCalls | `boolean` | 否 | - | 是否显示工具调用过程 |
|
|
40
|
+
|
|
41
|
+
## Events
|
|
42
|
+
|
|
43
|
+
| 事件 | detail | 说明 |
|
|
44
|
+
| ----------------- | ----------------------------------------------- | ---------------------------------------------------- |
|
|
45
|
+
| onSessionIdChange | `string \| undefined` — 当前激活的会话 ID | 会话 ID 变化时触发 |
|
|
46
|
+
| onRobotIdChange | `string \| undefined` — 当前会话对应的机器人 ID | 机器人 ID 变化时触发(切换会话时可能切换对应机器人) |
|
|
47
|
+
| onQaFinish | `string \| undefined` — 当前激活的会话 ID | 一次问答完成时触发(chatting 从 true 变为 false 时) |
|
|
48
|
+
|
|
49
|
+
## Methods
|
|
50
|
+
|
|
51
|
+
| 方法 | 参数 | 返回值 | 说明 |
|
|
52
|
+
| -------------- | ---------------------------------------------------------- | ------ | ------------------------------------------ |
|
|
53
|
+
| setConfig | `(config: Record<string, unknown> \| undefined) => void` | `void` | 设置接口 config |
|
|
54
|
+
| setFormData | `(formData: Record<string, unknown> \| undefined) => void` | `void` | 设置接口 formData |
|
|
55
|
+
| insertQuestion | `(args: { value: string }) => void` | `void` | 调用方法进行提问,将内容插入输入框并发送 |
|
|
56
|
+
| sendMsg | `(msg: string \| ChatBody) => void` | `void` | 外部发起提问,直接发送消息不经过输入框交互 |
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
|
|
60
|
+
### Basic
|
|
61
|
+
|
|
62
|
+
基础对话终端,展示历史会话列表和对话消息。
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
<WrappedAiChatView
|
|
66
|
+
agentId="my-agent-id"
|
|
67
|
+
robotId="my-robot-id"
|
|
68
|
+
showAvatar={true}
|
|
69
|
+
showSessionList={true}
|
|
70
|
+
showLike={true}
|
|
71
|
+
showShare={true}
|
|
72
|
+
onSessionIdChange={(e) => console.log("sessionId changed", e.detail)}
|
|
73
|
+
onQaFinish={(e) => console.log("qa finished", e.detail)}
|
|
74
|
+
/>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Readonly Mode
|
|
78
|
+
|
|
79
|
+
只读模式,隐藏输入框,仅展示历史消息内容。
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
<WrappedAiChatView
|
|
83
|
+
agentId="my-agent-id"
|
|
84
|
+
robotId="my-robot-id"
|
|
85
|
+
readonly={true}
|
|
86
|
+
sessionId="existing-session-id"
|
|
87
|
+
/>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### External Send Message
|
|
91
|
+
|
|
92
|
+
通过外部按钮触发提问,直接发送消息到对话终端。
|
|
93
|
+
|
|
94
|
+
```tsx
|
|
95
|
+
const ref = useRef<any>();
|
|
96
|
+
|
|
97
|
+
<>
|
|
98
|
+
<WrappedAiChatView
|
|
99
|
+
ref={ref}
|
|
100
|
+
agentId="my-agent-id"
|
|
101
|
+
robotId="my-robot-id"
|
|
102
|
+
showSessionList={false}
|
|
103
|
+
onRobotIdChange={(e) => console.log(e.detail)}
|
|
104
|
+
/>
|
|
105
|
+
<button onClick={() => ref.current?.sendMsg("请介绍一下产品功能")}>
|
|
106
|
+
外部提问
|
|
107
|
+
</button>
|
|
108
|
+
</>;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### With Tool Calls
|
|
112
|
+
|
|
113
|
+
显示工具调用过程,适合调试智能体工具链场景。
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
<WrappedAiChatView
|
|
117
|
+
agentId="my-agent-id"
|
|
118
|
+
robotId="my-robot-id"
|
|
119
|
+
showToolCalls={true}
|
|
120
|
+
debug={true}
|
|
121
|
+
enterInterval={-1}
|
|
122
|
+
/>
|
|
123
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-bricks/ai",
|
|
3
|
-
"version": "1.32.
|
|
3
|
+
"version": "1.32.15",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-advanced-bricks/tree/master/bricks/ai",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"@next-bricks/form": "*",
|
|
53
53
|
"@next-bricks/icons": "*"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "2670992c377a46bcaed4f3ed70431bb5441c4bb7"
|
|
56
56
|
}
|