LinkSoul 智能体二开 SDK (Android)
LinkSoul 智能体二开 SDK (Android)
🆕 v1.5.0 新增:超视距遥操(Teleop)
⚠️ 尚未上线:本能力为 v1.5.0-SNAPSHOT 开发中特性,接口与协议可能调整,正式发布前请勿用于生产环境。
Android v1.5.0 与 Java v1.5.0 同步开放第三条交互路径 —— 超视距遥操:远端操作员在线接管机器人交互。Android 侧的典型场景是「操作员 App」,通过
TeleopRequest.enter → startAudio(AgentParam) → appendAudioDelta → doneAudio → exit把麦克风音频推给机器人。操作员若还需看到机器人现场画面,视频拉流由 App 自行集成第三方 WebRTC 方案完成——不属于 AgentSDK;与灵心开放平台相关的拉流授权接口见 遥操指南 · 视频拉流与拉流授权。
🆕 v1.5.0 新增:扩展技能(ExtSkill)
⚠️ 尚未上线:本能力为 v1.5.0-SNAPSHOT 开发中特性,接口与协议可能调整,正式发布前请勿用于生产环境。
Android v1.5.0 与 Java v1.5.0 同步开放扩展技能交互路径:SDK 可向机器人查询可用技能列表并调用指定技能。通过
ExtSkillRequest.query获取技能清单,通过ExtSkillRequest.invoke调用具体技能并获得三段式回执(ack → state → result)。扩展技能以
agentId+requestId唯一标识一次请求;invoke 采用三段回执设计(先 ack 确认受理,再 state 上报执行进度,最后 result 返回执行结果),详见 扩展技能指南。
⚠️ v1.4.0 验签方式标准化(不兼容 v1.3.0 及更早版本)
Android SDK v1.4.0 起沿用与 Java v1.4.0 相同的鉴权方案(HMAC-SHA256 五头签名,
AgentSdk.create(url, appId, appKey, appSecret)),v1.5.0 保持不变。完整迁移要点见 CHANGELOG 或 Java v1.4.0 CHANGELOG。
连接信息
| 项目 | 值 |
|---|---|
| WebSocket 地址 | wss://open.agibot.com/api/V1/open-portal/app/wss/agent-sdk |
| appId / appKey / appSecret | 通过灵心开放平台创建应用获取 |
| Android 最低版本 | minSdk 26(Android 8.0) |
| Java 兼容 | sourceCompatibility JavaVersion.VERSION_17 + coreLibraryDesugaring |
AgentSdk agentSdk = AgentSdk.create("wss://open.agibot.com/api/V1/open-portal/app/wss/agent-sdk", appId, appKey, appSecret);
快速导航
| 文档 | 说明 |
|---|---|
| 快速开始 | Gradle / AAR 引入 + AndroidManifest 权限 + 完整 Activity 接入代码 |
| 超视距遥操指南 | v1.5.0 新增:TeleopRequest 全流程 + 视频拉流授权接口(authCode / password 获取,含 UAT/PRD 地址) |
| 超视距遥操 API | v1.5.0 新增:TeleopRequest / TeleopEnterCallback / TeleopExitCallback 完整签名(与 Java v1.5.0 API 一致,Android 侧额外说明 appendAudioDelta 的 base64 长度回填) |
| 超视距遥操示例 | v1.5.0 新增:只调用 AgentSDK 公开接口的最小遥操示例 |
| 扩展技能指南 | v1.5.0 新增:ExtSkillRequest 查询与调用全流程 + 三段式回执(ack → state → result) |
| 扩展技能 API | v1.5.0 新增:ExtSkillRequest / ExtSkillQueryCallback / ExtSkillInvokeCallback 完整签名(与 Java v1.5.0 API 一致) |
| 扩展技能示例 | v1.5.0 新增:ExtSkill query + invoke 最小示例 |
| CHANGELOG | Android 版 SDK 版本变更记录 |
与 Java v1.5.0 共享内容 / 直接跳转
| 主题 | 中文 |
|---|---|
| 被动交互指南 | Java v1.5.0 · 被动交互指南 |
| 主动交互指南 | Java v1.5.0 · 主动交互指南 |
| 任务流 payload 协议 | Java v1.5.0 · 任务流 payload |
| 语义技能参考 | Java v1.5.0 · 语义技能 |
| 机器人端侧状态参考 | Java v1.5.0 · 状态参考 |
| 错误处理 | Java v1.5.0 · 错误处理 |
| 枚举参考 | Java v1.5.0 · 枚举 |
| AgentSdk API | Java v1.5.0 · AgentSdk API |
Android SDK 使用与 Java SDK 相同的 com.agibot.aiem.sdk.* 包结构,因此上述章节完全适用。唯一需要在 Android 端单独理解的差异只有:AAR 打包、AndroidManifest 权限、以及遥操场景下的 TRRO 集成 —— 都收敛在本目录。
三种交互模式
┌──────────────────────────────────────────────────────────────┐
│ 灵心平台 │
├──────────────────────────────────────────────────────────────┤
│ 机器人 ──音频/视频/文本──→ LinkskyGateway ──→ SDK回调 │ 被动交互
│ 机器人 ←──ASR/LLM/TTS──── LinkskyGateway ←── SDK响应 │
│ │
│ SDK主动请求 ──→ LinkskyGateway ──→ 机器人 │ 主动交互
│ SDK接收结果 ←── LinkskyGateway ←── 机器人 │
│ │
│ 操作员音频 ──→ LinkskyGateway ──→ 机器人执行 │ 超视距遥操(v1.5.0 新增)
│ 操作员 ←──enter/exit ack── LinkskyGateway ←── 机器人 │
│ │
│ 机器人音视频 ──→ 腾讯 TRRO 云 ──→ 操作员 App 拉流(Android 侧) │ TRRO(拉流通道)
└──────────────────────────────────────────────────────────────┘
- 超视距遥操(v1.5.0 新增):远端操作员通过 SDK 建立遥操会话(
enter),持续下发音频块(startAudio→appendAudioDelta→doneAudio),最终exit;enter/exit 由回调收 ACK,音频事件为 fire-and-forget。 - 扩展技能(v1.5.0 新增):SDK 通过
ExtSkillRequest.query查询机器人可用技能列表,通过ExtSkillRequest.invoke调用指定技能;invoke 采用三段回执设计(ack 确认受理 → state 上报进度 → result 返回执行结果)。策略定位:AgentPolicy.EXT_SKILL(wire"extskill")。 - TRRO 视频拉流:不属于 AgentSDK 内部功能,Android App 侧直接依赖
com.tencent.trro:remote;SDK 只负责语音上行,TRRO 只负责机器人现场画面下行,两者由同一个sn(机器人 SN)在业务层关联。
SDK 下载与集成
Android SDK 以 AAR 形式发布到 Agibot 私服 Artifactory:
// settings.gradle
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://artifactory.infra.agibot.com/artifactory/central-maven-snapshots-local")
}
}
}
// app/build.gradle
dependencies {
implementation 'com.agibot.aiem:linksoul-agentsdk:1.5.0-SNAPSHOT'
// 需要遥操 + TRRO 拉流的操作员 App,再加:
implementation 'com.tencent.trro:remote:2.5.1.131'
}
完整的 build.gradle / AndroidManifest.xml 模板见 快速开始。
离线下载(未接私服时)
无法访问 Artifactory 私服的离线场景,可直接下载 AAR 后作为本地文件依赖:
| 文件 | 类型 | 大小 |
|---|---|---|
linksoul-agentsdk-1.5.0-SNAPSHOT.aar | Android AAR(minSdk 26) | 132 KB |
// 把 aar 放到 app/libs/ 后:
dependencies {
implementation files('libs/linksoul-agentsdk-1.5.0-SNAPSHOT.aar')
// 本地 AAR 不解析传递依赖,需自行补齐 SDK 的运行时依赖:
implementation 'org.java-websocket:Java-WebSocket:1.5.7'
implementation 'com.alibaba.fastjson2:fastjson2:2.0.53'
implementation 'org.apache.commons:commons-lang3:3.14.0'
implementation 'org.slf4j:slf4j-api:2.0.16'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}
私服(Artifactory)方式会自动解析上述传递依赖;用本地 AAR 时需手动声明。日志实现(如
slf4j-simple/ logback)也需按需自行添加。