Skip to content

智能体对话页 SDK 方法说明

on

监听事件并设置回调

方法签名

js
on(eventName: string, callback: function) => void

示例代码

js
robot.on("progress", (data) => {
  console.log(data);
});

once

监听事件(仅触发一次)

方法签名

js
once(eventName: string, callback: function) => void

示例代码

js
robot.once("progress", (data) => {
  // 以下代码只会打印一次
  console.log(data);
});

off

取消指定事件的监听回调,callback 为空时取消所有同名事件

方法签名

js
off(eventName: string, callback?: function) => void

示例代码

js
const foo = () => {
  // to do something
};
const bar = () => {
  // to do something
};

// 监听 progress 事件
robot.on("progress", foo);
robot.on("progress", bar);

// 取消 progress 事件的 foo 回调,保留 bar 回调
robot.off("progress", foo);

// 取消所有 progress 事件的回调
robot.off("progress");

emit

触发事件,data 为可选参数

方法签名

js
emit(eventName: string, ...data?: any) => void

示例代码

js
// 监听 hello 事件
robot.on("hello", (...data) => {
  console.log(...data);
});

// 触发 hello 事件并传递参数
robot.emit("hello", "world");

// 触发 hello 事件并传递多个参数
robot.emit("hello", "world", "!");

// 触发 hello 事件并传递对象参数
robot.emit("hello", { name: "world" });

send

向聊天窗发送内容,触发回复

方法签名

js
send(text: string, options?: { hidden: boolean }) => void

示例代码

js
// 向聊天窗口发送文本
robot.send("请问如何借书");

// 向聊天窗口发送不可见的消息
robot.send("请问如何借书", { hidden: true });

clearScreen

清空聊天内容,保留给定条数的记录,默认保留 1 条

方法签名

js
clearScreen(length?: number = 1) => void

示例代码

js
// 清空聊天内容,保留 1 条记录
robot.clearScreen();

// 清空聊天内容,不保留记录
robot.clearScreen(0);

// 清空聊天内容,保留 3 条记录
robot.clearScreen(3);

speech

启动语音输入;当使用远程输入设备时可监听 speechLinkRefresh 事件获取远程语音输入设备连接地址

方法签名

js
speech(options?: { remoteInput: boolean }) => void

示例代码

js
robot.speech(); // 等价于 robot.speech({ remoteInput: true });

// 不使用远程语音输入
robot.speech({ remoteInput: false });

stopSpeech

停止语音输入;该方法可以停止远程设备的语音输入连接和本地设备的语音输入

提示

remoteInput: true 模式下启用的远程语音输入,若长时间未接入远程设备应及时调用该方法停止地址生成

方法签名

js
stopSpeech() => void

示例代码

js
robot.stopSpeech();

destroy

销毁实例

提示

  1. 请在页面卸载时调用该方法,防止内存泄漏
  2. 销毁实例后,无法再使用该实例,请重新创建实例

方法签名

js
destory() => void

示例代码

js
robot.destroy();
vue
// vue2

<script>
export default {
  beforeDestroy() {
    robot.destroy();
  },
};
</script>

// vue3

<script setup>
import { onBeforeUnmount } from "vue";
onBeforeUnmount(() => {
  robot.destroy();
});
</script>