AIMA开放平台文档中心Agent SDK (Android)

版本变更记录 (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 / TeleopExitCallback
    • com.agibot.aiem.sdk.mgr.AgentSdkTeleopMgr
    • com.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.AgentSdkExtSkillMgr
    • com.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。