AgentSdk API 参考 · iOS
AgentSdk API 参考 · iOS
创建与获取
swift
// 创建实例(单例:同一 appId 返回同一实例)
let agentSdk = AgentSdk.create(url: url, appId: appId, appKey: appKey, appSecret: appSecret)
// 获取已创建的实例
let existing = AgentSdk.get(appId: appId) // -> AgentSdk?
// 获取所有已注册的 appId
let appIds = AgentSdk.listAppIds() // -> [String]
// SDK 元信息
let version = AgentSdk.sdkVersion // "1.5.0-SNAPSHOT"
let language = AgentSdk.sdkLanguage // "ios"
| 方法 | 返回值 | 说明 |
|---|---|---|
create(url:appId:appKey:appSecret:) | AgentSdk | 创建或获取实例 |
get(appId:) | AgentSdk? | 获取已创建实例 |
listAppIds() | [String] | 所有已注册 appId |
sdkVersion / sdkLanguage | String | SDK 版本 / 语言 |
生命周期
swift
agentSdk.initialize() // 建立 WebSocket 连接
agentSdk.release() // 关闭连接,释放所有资源
| 方法 | 说明 |
|---|---|
initialize() | 建立 WebSocket 连接(触发认证、重连) |
release() | 关闭连接、清理回调、清理缓存、停止重连 |
认证回调
swift
public protocol AgentAuthCallback: AnyObject {
func onAuthState(appId: String, code: Int, msg: String)
}
agentSdk.registerAuth(AuthCallback())
被动交互回调注册
重要:必须在
initialize()之前注册。
| 方法 | 回调类型 | 场景 |
|---|---|---|
registerAudio2Llm(cb) | Audio2LlmCallback | 音频→ASR+LLM |
registerAudio2Tts(cb) | Audio2TtsCallback | 音频→ASR+LLM+TTS |
registerAsr2Llm(cb) | Asr2LlmCallback | 文本→LLM |
registerAsr2Tts(cb) | Asr2TtsCallback | 文本→LLM+TTS |
registerAsrVideo2Vlm(cb) | AsrVideo2VlmCallback | 文本+视频→VLM |
registerAsrVideo2Tts(cb) | AsrVideo2TtsCallback | 文本+视频→VLM+TTS |
registerAudioVideo2Vlm(cb) | AudioVideo2VlmCallback | 音频+视频→VLM |
registerAudioVideo2Tts(cb) | AudioVideo2TtsCallback | 音频+视频→VLM+TTS |
registerPushListen(cb) | PushListenCallback | 主动监听推流 |
打招呼信令在
PassiveCallback.onGreetSignal(...)中重载即可,无需单独注册。 详见 被动回调指南。
agentId 绑定
swift
agentSdk.bindAgentCallbackType(agentId: agentId, callbackType: .audio2Tts)
agentSdk.unbindAgentCallbackType(agentId: agentId)
let type = agentSdk.getAgentCallbackType(agentId: agentId) // -> AgentCallbackType?
agentSdk.bindAgentMeta(agentId: agentId, agentMeta: meta)
agentSdk.unbindAgentMeta(agentId: agentId)
let meta = agentSdk.getAgentMeta(agentId: agentId) // -> AgentMeta?
let cb = agentSdk.getRobotCallback(.audio2Tts) // -> PassiveCallback?
主动交互
任务流
swift
agentSdk.registerTaskFlow(flow)
agentSdk.unregisterTaskFlow(flowId: flowId)
任务流完整生命周期参见 主动交互指南 - 任务流。
拉流(底层类保留,未公开)
registerPullStream(_:) / unregisterPullStream(pullId:) 仍存在,但 v1.4.0 起不推荐使用,公开入口收敛到任务流。
超视距遥操(v1.5.0 新增)
swift
agentSdk.registerTeleop(teleopRequest)
agentSdk.unregisterTeleop(teleopId: teleopId)
完整流程见 超视距遥操指南 与 Teleop API。
扩展技能(v1.5.0 新增)
swift
agentSdk.registerExtSkill(extSkillRequest)
agentSdk.unregisterExtSkill(requestId: requestId)
完整流程见 扩展技能指南 与 ExtSkill API。