更新时间:2025-08-14 GMT+08:00

事件通知(EventMap)

本节介绍Web SDK的EventMap事件。可以通过create接口的eventListeners参数或者addEventListeners接口设置回调事件。

表1 通知列表

接口

描述

三方驱动场景(是否支持)

非三方驱动场景(是否支持)

error

错误事件。

enterActive

数字人激活事件。

×

enterSleep

数字人自动休眠事件。

×

jobEnd

交互任务结束事件。只有开启超时自动结束能力时,才会抛出该事件。

jobEndMention

交互任务自动结束倒计时事件。只有开启超时自动结束能力时,才会抛出该事件。

jobInfoChange

交互任务信息变更事件。

languageInfoChange

交互任务多语言信息变更的事件。

speakingStart

数字人开始讲话事件。

×

speakingStop

数字人结束讲话事件。

×

speechRecognized

ASR对提问进行语音识别后输出为文本的事件。

×

semanticRecognized

LLM对提问进行语义识别后输出回复文本的事件。speechRecognized和semanticRecognized分别为问题和答案,每轮问答共用一个chatId。

×

error

事件说明

在业务异常时,返回的错误事件。

回调参数

icsError:IcsError类型。字段定义如表2所示。
表2 IcsError

参数

类型

描述

code

string

错误码。详情请参见错误码(ICSError)

message

string

错误信息。

enterActive

事件说明

数字人激活事件。下述场景下,会触发此事件。

  • 执行完成startChat接口。
  • 单击WebSDK界面自带的“开始对话”按钮。
  • 使用Web语音唤醒能力唤醒数字人时。

回调参数

无。

enterSleep

事件说明

数字人自动休眠事件。

回调参数

无。

jobEnd

事件说明

交互任务结束事件。只有控制台开启静默退出时长时,才会抛出该事件。静默退出时长配置,详见对话配置

回调参数

jobEndInfo:字段定义如表3所示。

表3 JobEndInfo

参数

类型

描述

jobId

string

任务ID。

reason

string

结束原因。

jobEndMention

事件说明

交互任务自动结束倒计时事件。只有控制台开启静默退出时长时,才会抛出该事件。静默退出时长配置,详见对话配置

回调参数

jobEndMentionInfo:字段定义如表4所示。

表4 JobEndMentionInfo

参数

类型

描述

jobId

string

任务ID。

restTime

number

剩余结束时间。

jobInfoChange

事件说明

变更交互任务信息的事件。交互任务状态发生变化时,会通知使用方。如果交互任务就绪,jobInfo中的jobId为进行中的任务ID,否则jobId为空字符串。

回调参数

jobInfo:JobInfo类型。字段定义如表5所示。

表5 JobInfo

参数

类型

描述

jobId

string

任务ID。

websocketAddr

string | undefined

智能交互服务端websocket地址,三方驱动场景用来拼接websocket链接。

参数返回的地址默认无wss://前缀,实际使用时,需要补齐前缀。示例:如果返回字段内容为“Domain:443”,则需要拼接为wss://Domain:443。

isReady

boolean

任务是否就绪。

languageInfoChange

事件说明

交互任务多语言信息变更的事件。当后台新增、删除语言配置,或通过接口changeLanguage修改语言后,会抛出该事件。

回调参数

languageInfo:字段定义如表6所示。

表6 LanguageInfo

参数

类型

描述

languageList

LanguageInfo[]

语言列表。

currentLanguage

'zh_CN' | 'en_US'

当前交互任务的语言。

speakingStart

事件说明

数字人开始讲话的事件。

回调参数

speakInfo:字段定义如表7所示。

表7 SpeakInfo

参数

类型

描述

chatId

string

当前进行中的对话ID。

speakingStop

事件说明

数字人结束讲话的事件。

回调参数

speakInfo:字段定义如表7所示。

speechRecognized

speechRecognized通知的流式返回跟semanticRecognized是有差异的,详见speechRecognized和semanticRecognized通知的流式返回有什么差异?

事件说明

ASR对提问进行语音识别后输出为文本的事件。

回调参数

question:SpeechRecognitionInfo类型。字段定义如表8所示。

表8 SpeechRecognitionInfo

参数

类型

描述

text

string

识别结果文本。

resultId

number

识别流式响应时返回的各包顺序序号。

isLast

boolean

是否是最后一条识别结果。

chatId

string

对话ID,每轮问答的ID值唯一。

semanticRecognized

semanticRecognized通知的流式返回跟speechRecognized是有差异的,详见speechRecognized和semanticRecognized通知的流式返回有什么差异?

事件说明

LLM对提问进行语义识别后输出回复文本的事件。speechRecognized和semanticRecognized分别为问题和答案,每轮问答共用一个chatId。

回调参数

answer:SemanticRecognitionInfo类型。字段定义如表9所示。

表9 SemanticRecognitionInfo

参数

类型

描述

text

string

识别结果文本。

questionText

string

问题文本。

resultId

number

识别流式响应时返回的各包顺序序号。

isLast

boolean

是否是最后一条识别结果。

chatId

string

对话ID,每轮问答的ID值唯一。

extendParam

string

透传模型返回定义的扩展消息。