尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Android Automotive OS AI Agent for vehicle head units
翻译准备中
正在加载完整 README。
查看完整 README ↗运行在 Android Automotive OS 车机上的原生 AI Agent,提供 AI 对话、真实终端、车辆与设备状态、语音交互和工程师诊断。
面向原生 AAOS 车机,不是手机端 Android Auto 投屏应用。当前处于开发与车型适配阶段:停车时使用完整触控界面,检测到驾驶受限状态时使用语音遮罩;设备缺少能力时显示具体原因。
AAOS 模拟器中的开发构建,1920 × 1080。支持日间、夜间主题和中英文;截图中的设备信息与版本号来自该开发环境。
| 功能 | 当前实现 |
|---|---|
| AI 对话 | 接入 OpenAI 兼容的 Chat Completions 服务,支持流式回答与工具调用;模型服务由使用者配置 |
| 工具与 Skill | 内置系统诊断和车辆状态 Skill,支持远端 MCP 工具来源;按工具权限决定可用性 |
| 真实终端 | 基于 Termux 终端仿真代码和 JNI PTY,运行 Android 系统 shell,支持输入、滚动和会话管理 |
| 车辆与系统面板 | 展示设备、网络、系统与可读取的车辆属性;动力电池通过 VHAL 尝试读取,缺失时显示原因 |
| 语音交互 | 系统语音识别、TTS、连续对话及本地 Vosk 唤醒;可用性取决于系统服务、模型与权限 |
| 快速配置 CLI | 终端内 aos-llm 快速配置/切换模型服务(存档案、一键 use),装车时免去触屏长输入 |
| 工程师模式 | 查看设备能力、车辆属性和驾驶态诊断,辅助车型适配与唤醒调试 |
| 开机与后台服务 | 已实现开机广播与前台服务链路,实际自启和保活效果受 OEM 系统策略影响 |
| 应用内更新 | 检查 GitHub Release 清单、下载 APK、校验 SHA-256 后交给系统安装器 |
导航切换会保留当前对话、进行中的请求、未发送输入和未保存的设置草稿;不承诺这些状态在进程被系统回收后恢复。已保存的设置由 DataStore 持久化。
arm64-v8a 车机与 x86_64 模拟器构建。从 Releases 下载 aos-agent-<版本>.apk,通过车机允许的安装方式安装。
开发设备也可使用 ADB:
adb devices
adb -s <设备序列号> install -r aos-agent-<版本>.apk
adb -s <设备序列号> shell am start -n com.aos.agent/.MainActivity
AAOS 模拟器可能使用前台用户 10;请按实际用户选择 --user,不要默认所有设备均为用户 0。升级时使用相同签名的正式发布包;本地 Debug 包与正式包的签名不同。
打开「设置 → 模型服务」,填写并保存:
https://your-provider.example/v1。Base URL 可以填写到 /v1,也可以填写完整的 /chat/completions 地址。配置完成后到「对话」发送消息。Agent 工具调用还要求所选模型支持相应接口。
访问宿主机上的开发服务时,Android 模拟器可使用 10.0.2.2;车机上的 localhost 指向车机自身。公网服务应使用 HTTPS,当前明文 HTTP 例外仅面向回环地址与模拟器宿主地址。
模型请求会发送到你配置的服务端,MCP 工具调用会发送到对应服务。API Key 和 MCP Token 保存在应用私有 DataStore 中;不要将真实凭据、用户对话或车辆敏感信息贴到公开 Issue。
CarUxRestrictions 等系统能力实际探测结果为准,失败信息可在工程师页面查看。模拟器验证不能替代实车适配。提交车型问题时,请附上设备型号、Android 版本、App 版本、复现步骤和脱敏后的诊断信息。
| 工具 | 项目配置 |
|---|---|
| JDK | 17 |
| Android SDK | platforms;android-36.1,编译 API 36.1;目标 API 36 |
| Android Gradle Plugin | 9.2.1 |
| Kotlin | 2.3.21 |
| Gradle | 使用仓库 Wrapper,9.4.1 |
| NDK | 27.2.12479018 |
| CMake | 3.22.1 |
建议使用支持当前 AGP 的 Android Studio,并通过 SDK Manager 安装所需 SDK、NDK 和 CMake。设置 JAVA_HOME 为 JDK 根目录,SDK 路径通过 Android Studio、环境变量或本机 local.properties 配置。
git clone https://github.com/Chelase/aos-agent.git
cd aos-agent
# macOS / Linux
./gradlew :app:assembleDebug
./gradlew :app:testDebugUnitTest
# 连接 AAOS 模拟器或测试设备后运行 UI 测试
./gradlew :app:connectedDebugAndroidTest
Windows PowerShell 使用 ./gradlew.bat 执行相同任务。
Debug APK 位于 app/build/outputs/apk/debug/app-debug.apk。当前发布前验证包含 223 个单元测试和 AAOS 模拟器界面走查;车型实测另行记录。
正式版本由 vX.Y.Z 标签触发 Release 工作流:构建签名 APK、验证签名、生成 update.json 并上传 GitHub Release。
版本名来自标签,版本代码使用 major × 10000 + minor × 100 + patch。本地构建未传版本参数时使用开发默认值 1.0 / 1。
本地构建正式包需提供签名配置,缺失时构建会直接失败:
./gradlew :app:assembleRelease -PVERSION_NAME=1.1.0 -PVERSION_CODE=10100
签名材料通过本机 keystore.properties 或 AOS_SIGNING_* 环境变量配置,字段见 构建脚本。私钥、口令、本机 SDK 路径和调试日志不应提交到仓库。
app/src/main/
├── java/com/aos/agent/
│ ├── ui/ # 页面、主题和共享控件
│ ├── runtime/ # Agent、工具、Skill 与配置的装配
│ ├── core/ # 推理、模型接口、工具、MCP、Skill 和更新逻辑
│ ├── terminal/ # 终端仿真、会话和 JNI 接口
│ ├── system/ # 系统、车辆、语音与安装器适配
│ ├── data/ # DataStore 配置
│ ├── receiver/ # 开机广播
│ └── service/ # 前台服务
├── cpp/ # PTY 原生桥接
└── assets/ # 内置 Skill 与车辆属性白名单
欢迎通过 Issue 提交问题和改进建议,通过 Pull Request 参与开发。请先区分真实设备能力缺失、网络配置问题与应用缺陷,并提供可复现的信息。
Copyright 2026 Chelase.
本项目中有权授权的原创代码与文档采用 Apache License 2.0。该协议允许商业使用、修改和闭源集成,不要求衍生项目公开源码;再分发时需遵守保留许可证、相关声明和标明修改等条件。专利授权与商标使用边界以许可证正文为准。
第三方代码、依赖、模型和参考资料保留各自的版权及许可证,不因本项目采用 Apache-2.0 而被统一重新授权。来源与声明见 NOTICE 和 第三方许可说明。