Android Voice AI SDK(MVVM架构)
为Android应用快速集成端到端语音对话AI流水线,即插即用。
证据显示:README 描述了权限最小化(仅 RECORD_AUDIO、INTERNET、ACCESS_NETWORK_STATE),用户确认(VoiceSessionPermissionGate 处理运行时权限,情感检测需同意),数据流透明(流程图和架构说明),敏感数据处理(PII 脱敏、加密存储、证书固定),依赖安全(提及 R8/ProGuard 规则),外部影响(网络调用)。扣分:未提供代码级验证,权限声明可能不完整,用户确认机制仅提及,数据流细节有限,依赖安全仅提及,外部影响未详细说明,回滚机制缺失,来源归属仅依赖 README 声明。
证据显示:README 内部一致,架构分层清晰,依赖版本明确。扣分:依赖可用性未验证,失败消息未提及,自一致性仅基于文档,无代码验证。
证据显示:目标受众明确(Android 开发者),场景多样(语音助手、情感检测),能力边界清晰(引擎可替换),环境适配(minSdk 24、Android Studio 要求)。扣分:触发精度(如 VAD 参数)仅文档提及,环境适配未全面覆盖。
证据显示:信息架构清晰(分层、配置表),安装说明详细(步骤),命名稳定(类名一致),示例和 FAQ 有示例代码,已知限制未明确,许可证 MIT,版本和变更日志缺失,维护责任未明确。扣分:已知限制未列出,版本和变更日志缺失,维护责任未说明。
证据显示:输出可用性(Compose UI 组件),边际价值(语音 AI 集成),成本效益(免费引擎选项)。扣分:无实际运行验证,成本效益基于文档。
证据显示:声明可追溯(README 描述),交叉来源有限(仅 README),事实与推断未明确分离。扣分:无代码验证,交叉来源不足,事实与推断混合。
- 仅基于 README 静态审查,未执行代码验证。
- 依赖安全、外部影响等声明缺乏代码证据。
- 版本和变更日志缺失,维护责任不明确。
- 已知限制未列出,可能影响实际使用。
这个 Agent 能做什么,适合哪些场景?
Android Voice AI SDK是一个可复用的Android库,基于MVVM架构,为应用提供完整的语音驱动AI对话流水线。其核心管道包括音频录制、语音活动检测、语音转文本(STT)、Anthropic Claude AI生成回复、文本转语音(TTS)以及扬声器播放。SDK提供了Jetpack Compose UI组件(如VoiceButton、ConversationView)、可插拔的STT/TTS引擎适配器(支持Android内置、OpenAI Whisper、ElevenLabs)、设备端情绪检测,以及安全工具(如PII脱敏和加密密钥存储)。采用Hilt进行依赖注入,支持构建语音会话、配置模型和系统提示词。该库要求Android 7.0(API 24)及以上,并需要Anthropic API密钥。
SDK通过一组Coordinated组件实现语音对话管道:使用AudioRecord捕获麦克风音频,通过内置的VAD检测语音活动,然后通过SpeechToTextEngine将音频转换为文本(默认使用Android SpeechRecognizer,可选Whisper)。文本被发送到AIEngine(ClaudeAIEngine,封装官方Anthropic Java SDK)生成回复,并维护对话历史。最后,TextToSpeechEngine(默认使用Android TTS,可选ElevenLabs)将回复合成为语音并播放。SDK还提供VoiceAISession来编排整个流水线,包含start()和stop()生命周期方法。集成方式:在build.gradle中添加依赖,在Manifest中声明权限,设置Hilt(@HiltAndroidApp和@AndroidEntryPoint),通过local.properties提供API密钥,并使用VoiceAISDK.Builder构建SDK。UI使用VoiceSessionPermissionGate处理录音权限,并提供VoiceButton和ConversationView等Composable组件。
- 希望为其Android应用添加语音助手功能的移动开发者,可使用SDK快速集成,无需从头构建STT/AI/TTS管道。
- 需要可插拔STT/TTS引擎的应用,可在Android内置引擎与OpenAI Whisper或ElevenLabs之间切换,以适应不同准确度和音质需求。
- 需要敏感信息(如电话号码、信用卡号)在发送给AI前脱敏的应用,可启用PII脱敏功能。
- 需要针对不同用户情绪提供不同响应的应用,可启用设备端情绪检测,使Claude根据检测到的情绪调整语气。
- 注重安全的应用,可通过Android Keystore加密存储API密钥,并启用证书固定以保护网络通信。
这个 Agent 有哪些优点和局限?
- 提供完整的语音对话流水线,包含可插拔的STT、TTS和AI引擎,适应性广。
- 内置Jetpack Compose UI组件,易于集成到现代Android应用。
- 采用MVVM架构,代码清晰,便于维护和测试。
- 提供安全功能,如PII脱敏、加密密钥存储和证书固定,适合处理敏感数据。
- 支持设备端情绪检测,无需额外API密钥,可提升交互体验。
- 仅适用于Android平台,跨平台项目无法直接使用。
- 核心AI依赖Anthropic Claude API,需持有有效API密钥并产生费用。
- 文档未提及具体版本兼容性细节,如Gradle版本要求,可能增加集成风险。
- 部分功能(如Whisper、ElevenLabs、Hume AI)需要额外API密钥和网络权限。
- 设备端情绪检测的准确性有限,可能无法满足高精度需求。
如何安装或部署这个 Agent?
在应用模块的build.gradle.kts中添加依赖:implementation("com.sdk:voice-ai-sdk:1.0.0")。在AndroidManifest.xml中声明权限:RECORD_AUDIO、INTERNET、ACCESS_NETWORK_STATE。在local.properties中设置ANTHROPIC_API_KEY,并通过buildConfigField将其暴露给BuildConfig。确保使用Android Studio Meerkat或更高版本,并通过Hilt进行依赖注入(可选但推荐)。
如何使用这个 Agent?
在Application类上添加@HiltAndroidApp注解,在Activity上添加@AndroidEntryPoint。创建一个AppModule提供VoiceAIConfig和VoiceAISDK,使用Builder构建SDK并传入API密钥。在Compose界面中,使用VoiceSessionPermissionGate包装VoiceButton和ConversationView。获取VoiceAISession并调用start()开始对话。配置可在config { }块中调整,如systemPrompt、inputMode、silenceTimeoutMs和piiRedaction。