版本变更记录 (CHANGELOG · Android)
版本变更记录 (CHANGELOG · Android)
Android SDK 沿用与 Java SDK 相同的版本节奏;本 CHANGELOG 只记录 Android 独有的变更,与 Java 共享的核心变化(例如 v1.4.0 的鉴权标准化)请参阅 Java CHANGELOG。
v1.5.0-SNAPSHOT (当前开发版本)
⚠️ 本版本为开发中(SNAPSHOT)版本,下列 v1.5.0 新增能力(超视距遥操 / 扩展技能)尚未正式上线,接口可能调整。
发布日期: 开发中
🆕 新增能力:超视距遥操(Teleop)
Android v1.5.0 与 Java v1.5.0 同步开放遥操能力(enter → startAudio → appendAudioDelta → doneAudio → exit)。
- 新增 SDK 类(
agentsdk_for_android/linksoul-agentsdk):com.agibot.aiem.sdk.teleop.TeleopRequest/TeleopEnterCallback/TeleopKeepaliveCallback/TeleopExitCallbackcom.agibot.aiem.sdk.mgr.AgentSdkTeleopMgrcom.agibot.aiem.sdk.client.TeleopMsgHandler- 与 Java v1.5.0 完全同源,接口签名请查 Teleop API。
- 新增
AgentSdk公开方法:registerTeleop(TeleopRequest)/unregisterTeleop(String teleopId)。 - 新增策略枚举:
AgentPolicy.TELEOP(wire 值"teleop")。 - 新增事件类型 9 个:
agentsdk.teleop.enter/agentsdk.teleop.enter_ack/agentsdk.teleop_audio.start|delta|done/agentsdk.teleop.keepalive/agentsdk.teleop.keepalive_ack/agentsdk.teleop.exit/agentsdk.teleop.exit_ack。 - 新增 ID 生成器:
IdGenerator.generateTeleopId()(前缀teleop_)。 - 仓库内新增可运行的遥操示例(
agentsdk_for_android/example/),演示「操作员 App」场景:AgentSDK 语音上行,并(可选)叠加第三方 WebRTC 视频拉流。示例的具体实现不在本文档范围。
🆕 新增能力:扩展技能(ExtSkill)
Android v1.5.0 与 Java v1.5.0 同步开放扩展技能能力(query 查询技能列表 / invoke 调用指定技能)。
- 新增 SDK 类(
agentsdk_for_android/linksoul-agentsdk):com.agibot.aiem.sdk.extskill.ExtSkillRequest(query/invoke)com.agibot.aiem.sdk.extskill.ExtSkillQueryCallback(onQueryResult)com.agibot.aiem.sdk.extskill.ExtSkillInvokeCallback(onInvokeAck+onState+onInvokeResult)com.agibot.aiem.sdk.mgr.AgentSdkExtSkillMgrcom.agibot.aiem.sdk.client.ExtSkillMsgHandler- 与 Java v1.5.0 完全同源,接口签名请查 ExtSkill API。
- 新增
AgentSdk公开方法:registerExtSkill(ExtSkillRequest)/unregisterExtSkill(String requestId)。 - 新增策略枚举:
AgentPolicy.EXT_SKILL(wire 值"extskill")。 - 新增事件类型 6 个:
agentsdk.ext_skill.query/agentsdk.ext_skill.query_result/agentsdk.ext_skill.invoke/agentsdk.ext_skill.invoke_ack/agentsdk.ext_skill.report_state/agentsdk.ext_skill.invoke_result。 - 新增 ID 生成器:
IdGenerator.generateExtSkillRequestId()(前缀extskill_)。 - 区别于遥操:扩展技能以
agentId+requestId标识请求;invoke 采用三段回执(ack 确认受理 → state 执行期间状态上报 → result 返回执行结果)。 - 新增文档:扩展技能指南、ExtSkill API、ExtSkill 示例。
🆕 新增能力:Function Call 分发与 Arbiter 仲裁
Android v1.5.0 与 Java v1.5.0 同步开放 Function Call 分发与 Arbiter 仲裁(尚未上线,开发中特性)。
- 新增回调(8 种被动回调类均有):
onFunctionCall(agentId, eventId, functionCall, response)—— 网关透传待处理的 function call - 新增响应方法(8 种 Response 类均有):
onArbiter(eventId, decision, arbParam)—— 回传仲裁决策,下发agentsdk.function_call.arbiter - 新增数据类:
com.agibot.aiem.sdk.FunctionCallInfo(source/policy/type/value/param) - 新增枚举:
com.agibot.aiem.sdk.enums.ArbiterDecision(DELEGATE/OVERRIDE/ILLEGAL) - 新增事件类型 2 个:
agentsdk.function_call.expose/agentsdk.function_call.arbiter
🆕 新增能力:对话历史透传(onHistories)
- 新增基类共享回调:
onHistories(agentId, eventId, List<HistoryInfo> histories)(PassiveCallback默认日志实现,按需重载) - 新增数据类:
com.agibot.aiem.sdk.HistoryInfo(timestamp/query/answer/complete/eventId/skill) - 新增事件类型 1 个:
agentsdk.histories.expose(网关 → SDK)
Android 侧独有实现细节
TeleopRequest.appendAudioDelta在发送前对 base64 解码得到字节数,写入audioLen字段一起下发(服务端做完整性校验),空字符串直接跳过;TeleopRequest.enter/exit会在发送消息前调用AgentSdkTeleopMgr.trackEvent(eventId, this),即使调用方不自维护映射也能收到 ACK;- 底层 WebSocket 改用 OkHttp(Java SDK 用 Netty),Android SDK 因此不引入 Netty 依赖。
兼容性
- 与 Android v1.4.0 完全向后兼容:
registerAuth/ 被动交互 / 任务流接口均无变更;升级只需将build.gradle里的com.agibot.aiem:linksoul-agentsdk版本从1.4.0-SNAPSHOT改为1.5.0-SNAPSHOT。 - 若不使用遥操,运行时行为与 v1.4.0 一致;TRRO 集成完全是 App 层选项。
调用契约
text
register → enter → (startAudio(param) → appendAudioDelta* → doneAudio)+ → exit → unregister
遥操存续期间可任意频次调用 keepalive(推荐每 10 秒一次);任何一次 onKeepaliveAck 收到 code != 0 都应视为机器人离线,立即 exit + unregisterTeleop 释放资源。
已知限制
enter/exit的timeout参数当前仅做占位(clamp 到 ≥50ms),暂未在 SDK 层驱动超时回调,业务侧可自建超时兜底。- 视频拉流不属于 SDK 内部实现;拉流授权接口(
/api/V1/interaction/app-credential/gw/webrtc/authCode,出参password/authCode)见 遥操指南 · 视频拉流与拉流授权。
早于 v1.5.0 的历史版本
Android SDK 与 Java SDK 保持同版本号发布。跨版本兼容性说明(含 v1.4.0 的鉴权标准化改造)请参阅 Java v1.5.0 CHANGELOG。