AAOS AI MCP 操作系统
此存储库为构建自定义库提供了入门蓝图 安卓汽车操作系统(AAOS) 图像中包含一个由 MCP(模型控制器协议)主机目标是实现语音驱动或自然语言命令(例如, *“播放Joe的播放列表时,导航到Maria发送的最新地址”*)而不依赖于外部电话或PC。
该项目由两个主要部分组成:
build_aaos_ai.sh-一个bash脚本,下载AAOS的Android源代码树,应用本地清单,将AI主机应用程序集成到构建中,并为支持的目标设备编译图像。该脚本遵循官方的Android构建过程,使用\[repo初始化和同步清单的工具【886674710982981†L90-L116】;然后,它为构建环境提供资源(build/envsetup.sh),选择目标(lunch),并调用make命令生成boot.img,system.img和vendor.img文件【886674710982981†L90-L116】。ai_mcp_host/–一个充当MCP主机服务的骨架特权应用程序。当内置到系统映像中时,它通过本地接口公开MCP工具。该应用程序故意最小化;您可以使用真正的工具提供者和编排器逻辑来扩展它。
先决条件
要构建AAOS,你需要一台Linux机器(Ubuntu 20.04或更高版本),至少有16个 GB内存和快速CPU。您还必须安装标准的AOSP构建依赖项(git, curl, flex, bison, zip等等)。这 KINTO技术博客的初学者友好指南 有一个很好的这些要求清单【886674710982981†L90-L116】。
构建自定义AAOS映像
这 build_aaos_ai.sh 脚本自动执行以下步骤:
- 安装并初始化
repo工具 –脚本获取repo启动器并初始化AAOS清单的浅层克隆(android-13.0.0_r35默认情况下)。清单定义了组成操作系统的所有Git项目【886674710982981†L90-L116】。 - 应用本地清单 –本地清单可以添加或覆盖主清单中的项目。该项目使用本地清单来拉入AI主机应用程序和任何其他自定义模块。看
.repo/local_manifests/local_manifest.xml了解详情。 - 同步源树 –
repo sync下载清单引用的所有存储库。 - 复制AI主机应用程序 –脚本放置
ai_mcp_host目录进入packages/apps/在源代码树中,将其作为构建的一部分。 - 配置Soong –Soong构建描述符(
Android.bp)将应用程序声明为android_app随着privileged: true和platform_apis: true因此它可以访问系统API。如果你选择分发预构建的APK而不是源代码,你可以使用android_app_import规则将APK包含在系统映像中【769513936751118†L566-L579】。 - 构建图像 –脚本来源
build/envsetup.sh,选择午餐目标(例如aosp_car_x86_64-userdebug),并运行make bootimage systemimage vendorimage -j$(nproc)【886674710982981†L90-L116】。
构建完成后,生成的图像位于 out/target/product// 目录。您可以将它们闪存到AAOS硬件(例如Raspberry Pi或x86仿真器)按照标准的fastboot或SD卡指令进行操作。
扩展AI主机
这 ai_mcp_host 模块包含存根 McpHostService。要构建一个功能性的AI代理,您应该:
- 实现封装Android汽车API(导航、媒体播放、气候控制、车辆属性等)的工具提供商。看
tools.kt例如提供者骨架。 - 在MCP主机上注册每个工具,并通过本地IPC(例如Unix域套接字或Binder接口)公开它们。
- 集成设备上的LLM编排器(例如,通过AICore的Gemini Nano)来解释用户意图并调用您的工具。编排者应遵守汽车用户体验限制,并在读取敏感数据时请求许可。
这个存储库是一个起点;您可以自由修改清单、构建脚本和应用程序,以适应您自己的硬件目标和AI架构。
