车载AI操作系统构建工具

提供构建定制化Android Automotive OS(AAOS)镜像的蓝图,集成基于MCP协议的本地AI代理,支持自然语言控制车载功能。

  • by ByteOliveira
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 byteoliveira/aaos_ai_mcp

使用说明

AAOS AI MCP 操作系统

此存储库为构建自定义库提供了入门蓝图 安卓汽车操作系统(AAOS) 图像中包含一个由 MCP(模型控制器协议)主机目标是实现语音驱动或自然语言命令(例如, “播放Joe的播放列表时,导航到Maria发送的最新地址”)而不依赖于外部电话或PC。

该项目由两个主要部分组成:

  1. 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】。
  2. 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 脚本自动执行以下步骤:

  1. 安装并初始化 repo 工具 –脚本获取 repo 启动器并初始化AAOS清单的浅层克隆(android-13.0.0_r35 默认情况下)。清单定义了组成操作系统的所有Git项目【886674710982981†L90-L116】。
  2. 应用本地清单 –本地清单可以添加或覆盖主清单中的项目。该项目使用本地清单来拉入AI主机应用程序和任何其他自定义模块。看 .repo/local_manifests/local_manifest.xml 了解详情。
  3. 同步源树 – repo sync 下载清单引用的所有存储库。
  4. 复制AI主机应用程序 –脚本放置 ai_mcp_host 目录进入 packages/apps/ 在源代码树中,将其作为构建的一部分。
  5. 配置Soong –Soong构建描述符(Android.bp)将应用程序声明为 android_app 随着 privileged: true 和 platform_apis: true 因此它可以访问系统API。如果你选择分发预构建的APK而不是源代码,你可以使用 android_app_import 规则将APK包含在系统映像中【769513936751118†L566-L579】。
  6. 构建图像 –脚本来源 build/envsetup.sh,选择午餐目标(例如 aosp_car_x86_64-userdebug),并运行 make bootimage systemimage vendorimage -j$(nproc)【886674710982981†L90-L116】。

构建完成后,生成的图像位于 out/target/product/<target>/ 目录。您可以将它们闪存到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架构。