简体中文
callAgent
约 625 字大约 2 分钟
2026-10-15
该方法用于调用 Agent 执行任务,并在任务提交后按固定间隔轮询执行结果。调用时传入业务参数 data 和可选的 options。方法会返回一个 Promise。
语法: FxUI.biz.callAgent(data, options)
参数
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| data | 业务参数(必填) | Object | — | — |
| options | 附加选项 | Object | — | {} |
data
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| apiName | Agent 的 API 名称 | string | — | ShareAgent |
| content | 消息内容,元素结构见示例 | Array | — | [] |
| sessionId | 会话 ID | string | — | {apiName}__{随机 UUID} |
| instanceId | 实例 ID | string | — | 与 sessionId 相同 |
options
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| signal | 用于中止调用的 AbortSignal | AbortSignal | — | — |
传入 signal 后,调用发起前和执行结果提交后都会检查是否已中止。
示例
轮询方式获取执行结果:
FxUI.biz.callAgent({
apiName: 'ShareAgent',
content: [
{
type: 'text',
text: '查询今天北京的天气'
},
{
type: 'file',
source: {
path: 'TN_de531073e66c4217b4f17146f0b34f60',
filename: '(这个是类)MRCRMSyncUtil.groovy',
size: 14476,
ext: 'groovy'
}
},
{
type: 'image',
source: {
path: 'TN_7d6da51cb3c8485887631ca618e1e2a9',
filename: '2.快捷 推荐都配置.png',
size: 120619,
ext: 'png'
}
}
]
}).then((res) => {
console.log(res);
}).catch((err) => {
console.log(err);
});中止调用:
const controller = new AbortController();
FxUI.biz.callAgent({
apiName: 'ShareAgent',
content: []
}, {
signal: controller.signal
}).catch((err) => {
console.log(err);
});
// 需要中止时执行
controller.abort();返回结果
方法先提交执行,再每 2 秒轮询一次执行结果,直到任务不再处于执行中状态。Promise 完成后返回的结果结构如下:
| 字段 | 说明 | 类型 |
|---|---|---|
| code | 执行状态。为 POLLING 时继续轮询,其他状态值表示任务执行结束 | string |
| data | 执行结果数据 | — |
{
code: 'POLLING',
data: {}
}调用失败时,Promise 会 reject,reject 的值为调用失败的结果:
{
success: false,
error: {}
}执行结果提交成功但返回的 success 不为真时,reject 的值为提交执行的原始返回结果。
通过 signal 中止调用时,Promise 会 reject,错误信息为 aborted。
注意事项
- 该方法的轮询间隔固定为 2 秒,轮询的停止条件是执行状态不再为
POLLING。 data中已传入的字段会覆盖上表中的默认值;未传sessionId和instanceId时,每次调用都会按apiName__随机 UUID生成新的会话 ID 和实例 ID。- 生成
sessionId时取的是传入的apiName;未传apiName时前缀为ShareAgent。 - 中止检查发生在提交执行前后;轮询期间
options.signal会随内部调用一起传递。 - 该方法内部通过操作库中的
ai-asset agent execute和ai-asset agent find-execute-result实现,相关操作说明可在操作库中查阅。
