结构体

  • Android

更新时间不可用

MessageReceipt

Kotlin
data class MessageReceipt(
    val type: ModuleType,
    val chatMessageType: ChatMessageType,
    val turnId: Long,
    val message: String
)

MessageReceipt 表示消息回执信息,支持通过 MediaInfo 处理多种媒体类型。

成员参数

参数数据类型描述
typeModuleType模块类型,详见 ModuleType,例如 llm、mllm、tts、context。
chatMessageTypeChatMessageType消息错误类型。详见 ChatMessageType。
turnIdLong消息的轮次 ID。
messageString

消息内容信息。需要根据 type 字段进行解析:

  • Context 类型:通常为包含资源信息的 JSON 字符串。
表格内容超出当前宽度,可横向滚动查看更多列。

ChatMessageType

Kotlin
enum class ChatMessageType(val value: String) {
    Text("text"),
    Image("picture"),
    UNKNOWN("unknown");

    companion object {
        fun fromValue(value: String): ChatMessageType {
            return ChatMessageType.entries.find { it.value == value } ?: UNKNOWN
        }
    }
}

用于区分会话系统中不同类型的消息。

成员参数

参数数据类型描述
valueString用于匹配的字符串值。
表格内容超出当前宽度,可横向滚动查看更多列。

MessageError

Kotlin
data class MessageError(
    val chatMessageType: ChatMessageType,
    val code: Int,
    val message: String,
    val timestamp: Long
)

用于处理和上报消息错误信息。

成员参数

参数数据类型描述
chatMessageTypeChatMessageType消息错误类型。详见 ChatMessageType。
codeInt用于识别特定错误情况的错误码。
messageString错误描述信息,提供详细错误解释,通常为包含资源信息的 JSON 字符串。
timestampLong事件发生的时间戳(自 1970 年 1 月 1 日 UTC 起的毫秒数)。
表格内容超出当前宽度,可横向滚动查看更多列。

UserManualEventPayload

Kotlin
data class UserManualEventPayload(
    val success: Boolean,
    val requestId: String,
    val turnId: Long?,
    val errorMessage: String?
)

手动 SoS/EoS 通用载荷。

成员参数

参数数据类型描述
successBoolean服务端是否成功处理本次手动信令。
requestIdString请求 ID,与调用 manualSOS 或 manualEOS 后在 completion 中返回的 requestId 对应。
turnIdLong?关联的对话轮次 ID。若服务端失败回调未携带 turn_id,则该字段为 null。
errorMessageString?服务端返回的原始错误信息。成功时通常为 null。
表格内容超出当前宽度,可横向滚动查看更多列。

UserManualSosEvent

Kotlin
data class UserManualSosEvent(
    val eventId: String,
    val timestamp: Long,
    val payload: UserManualEventPayload
)

手动 SoS 事件对象。

成员参数

参数数据类型描述
eventIdString事件唯一 ID。
timestampLong事件时间戳,单位为毫秒。
payloadUserManualEventPayload事件载荷。详见 UserManualEventPayload。
表格内容超出当前宽度,可横向滚动查看更多列。

UserManualEosEvent

Kotlin
data class UserManualEosEvent(
    val eventId: String,
    val timestamp: Long,
    val payload: UserManualEventPayload
)

手动 EoS 事件对象。

成员参数

参数数据类型描述
eventIdString事件唯一 ID。
timestampLong事件时间戳,单位为毫秒。
payloadUserManualEventPayload事件载荷。详见 UserManualEventPayload。
表格内容超出当前宽度,可横向滚动查看更多列。

AgentManualEosPayload

Kotlin
data class AgentManualEosPayload(
    val reason: String,
    val maxDurationMs: Long,
    val turnId: Long
)

服务端超限自动 EoS 载荷。

成员参数

参数数据类型描述
reasonString服务端自动结束当前用户发言的原因。
maxDurationMsLong当前配置的单轮最大音频时长,单位为毫秒。
turnIdLong关联的对话轮次 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

AgentManualEosEvent

Kotlin
data class AgentManualEosEvent(
    val eventId: String,
    val timestamp: Long,
    val payload: AgentManualEosPayload
)

服务端超限自动 EoS 事件对象。

成员参数

参数数据类型描述
eventIdString事件唯一 ID。
timestampLong事件时间戳,单位为毫秒。
payloadAgentManualEosPayload事件载荷。详见 AgentManualEosPayload。
表格内容超出当前宽度,可横向滚动查看更多列。

ChatMessage

Kotlin
sealed class ChatMessage

用于发送给智能体的所有消息类型的密封基类。

该密封类层级结构为不同内容类型的消息提供类型安全的处理方式。

SpeakMessage

Kotlin
data class SpeakMessage(
    val text: String,
    val priority: Priority = Priority.INTERRUPT,
    val interruptable: Boolean = true,
)

用于绕过大模型,直接通过智能体的 TTS 流程播报文本。

成员参数

参数数据类型描述
textString要播报的文本。
priorityPriority播报请求的处理优先级,默认值为 INTERRUPT。详见 Priority。
interruptableBoolean是否允许用户说话打断本次播报,默认值为 true。
表格内容超出当前宽度,可横向滚动查看更多列。

ThinkMessage

Kotlin
data class ThinkMessage(
    val text: String,
    val onListeningAction: ThinkListeningAction = ThinkListeningAction.INTERRUPT,
    val onThinkingAction: ThinkThinkingAction = ThinkThinkingAction.IGNORE,
    val onSpeakingAction: ThinkSpeakingAction = ThinkSpeakingAction.IGNORE,
    val interruptable: Boolean = true,
    val metadata: Map<String, String>? = null,
)

用于将文本作为用户输入注入对话,并交由大模型处理。

成员参数

参数数据类型描述
textString要注入大模型的指令文本。
onListeningActionThinkListeningAction智能体处于倾听状态时的处理动作,默认值为 INTERRUPT。详见 ThinkListeningAction。
onThinkingActionThinkThinkingAction智能体处于思考状态时的处理动作,默认值为 IGNORE。详见 ThinkThinkingAction。
onSpeakingActionThinkSpeakingAction智能体处于说话状态时的处理动作,默认值为 IGNORE。详见 ThinkSpeakingAction。
interruptableBoolean是否允许用户说话打断本次指令生成的响应,默认值为 true。
metadataMap<String, String>?可选的业务自定义键值对。为 null 时不会写入 RTM 消息。
表格内容超出当前宽度,可横向滚动查看更多列。

Transcript

Kotlin
data class Transcript constructor(
    val turnId: Long,
    val userId: String = "",
    val text: String,
    var status: TranscriptStatus,
    var type: TranscriptType
)

Transcript 用于渲染 UI 的完整转录消息。

成员参数

参数数据类型描述
turnIdLong会话轮次的唯一标识符。
userIdString与该转录关联的用户标识符。
textString转录的实际文本内容。
statusTranscriptStatus转录的当前状态。详见 TranscriptStatus。
typeTranscriptType转录类型,例如 AGENT 或 USER。详见 TranscriptType。
表格内容超出当前宽度,可横向滚动查看更多列。

ModuleError

Kotlin
data class ModuleError(
    val type: ModuleType,
    val code: Int,
    val message: String,
    val timestamp: Long,
    val turnId: Long? = null
)

用于处理和上报 ModuleError 类型的智能体相关错误信息。

包含错误类型、错误码、错误描述和时间戳,便于实现错误监控、日志记录以及故障排查。

成员参数

参数数据类型描述
typeModuleType错误类型,例如:LLM 调用失败、TTS 异常等。详见 ModuleType。
codeInt用于标识特定错误条件的错误码。
messageString提供详细错误说明的错误描述信息。
timestampLong错误发生的时间戳(从 1970 年 1 月 1 日 UTC 起的毫秒数)。
turnIdLong?(可选)图片对应的 turnId,用于图像上传错误。
表格内容超出当前宽度,可横向滚动查看更多列。

ImageMessage

Kotlin
data class ImageMessage(
    val uuid: String,
    val imageUrl: String,
) : ChatMessage()

用于向智能体发送图像内容。

支持通过 HTTP/HTTPS 链接指定图像文件。

成员参数

参数数据类型描述
uuidString图像消息的唯一标识符。
imageUrlString?HTTP/HTTPS 图像文件链接。
表格内容超出当前宽度,可横向滚动查看更多列。

StateChangeEvent

Kotlin
data class StateChangeEvent(
    val state: AgentState,
    val turnId: Long,
    val timestamp: Long,
)

表示智能体状态变更事件。

用于跟踪会话流程和更新用户界面中的状态指示,包含事件发生的时间戳。

成员参数

参数数据类型描述
stateAgentState当前智能体状态。包括:silent、listening、thinking、speaking。详见 AgentState。
turnIdLong会话轮次 ID,用于标识特定的对话轮次。
timestampLong事件发生的时间戳(自 1970 年 1 月 1 日 UTC 起的毫秒数)。
表格内容超出当前宽度,可横向滚动查看更多列。

InterruptEvent

Kotlin
data class InterruptEvent(
    val turnId: Long,
    val timestamp: Long
)

InterruptEvent 表示中断事件。

通常在用户主动打断 AI 说话或系统检测到高优先级消息时触发,用于记录中断行为并进行相应处理。

成员参数

参数数据类型描述
turnIdLong被中断的对话轮次 ID。
timestampLong中断事件发生的时间戳(自 1970 年 1 月 1 日 UTC 起的毫秒数)。
表格内容超出当前宽度,可横向滚动查看更多列。

Metric

Kotlin
data class Metric(
    val type: ModuleType,
    val name: String,
    val value: Double,
    val timestamp: Long
)

用于定义系统性能指标数据。

用于记录和传输系统性能数据。该数据可用于性能监控、系统优化和用户体验改进。

成员参数

参数数据类型描述
typeModuleType指标类型。详见 ModuleType。
nameString指标名称,用于描述具体的性能项。
valueDouble指标值,通常为延迟时间(毫秒)或其他量化指标。
timestampLong指标记录的时间戳(自 1970 年 1 月 1 日 UTC 起经过的毫秒数)。
表格内容超出当前宽度,可横向滚动查看更多列。

ConversationalAIAPIConfig

Kotlin
data class ConversationalAIAPIConfig(
    val rtcEngine: RtcEngine,
    val rtmClient: RtmClient,
    val renderMode: TranscriptRenderMode = TranscriptRenderMode.Word,
    val enableLog: Boolean = false
)

用于配置对话式 AI 引擎 API 所需的参数。

该类包含初始化对话式 AI 引擎 API 所需的参数配置,包括用于音频通信的 rtcEngine、用于实时消息传递的 rtmClient,以及转写渲染模式设置。

成员参数

参数数据类型描述
rtcEngineRtcEngine用于音视频通信的引擎实例。详见 RtcEngine。
rtmClientRtmClient用于实时消息通信的客户端实例。详见 RtmClient。
renderModeTranscriptRenderMode转写渲染模式,默认为按词渲染。详见 TranscriptRenderMode。
enableLogBoolean

是否启用日志记录:

  • true:启用日志记录。
  • false:不启用日志记录(默认)。
表格内容超出当前宽度,可横向滚动查看更多列。

ConversationalAIAPIError

Kotlin
sealed class ConversationalAIAPIError : Exception() {
    data class RtmError(val code: Int, val msg: String) : ConversationalAIAPIError()
    data class RtcError(val code: Int, val msg: String) : ConversationalAIAPIError()
    data class UnknownError(val msg: String) : ConversationalAIAPIError()

    val errorCode: Int
        get() = when (this) {
            is RtmError -> this.code
            is RtcError -> this.code
            is UnknownError -> -100
        }

    val errorMessage: String
        get() = when (this) {
            is RtmError -> this.msg
            is RtcError -> this.msg
            is UnknownError -> this.msg
        }
}

表示对话式 AI 引擎 API 中的错误类型。

成员参数

参数数据类型描述
errorCodeInt

错误码:

  • RtmError 或 RtcError 返回具体错误码。
  • UnknownError 返回 -100。
errorMessageString错误信息,返回具体的错误描述内容。
表格内容超出当前宽度,可横向滚动查看更多列。