Ghost in the Droid

2个月前发布 119 00

Ghost in the Droid (GitD) 是一个开源的 Python 框架,为大语言模型(LLM)代理提供控制真实 Android 和 iOS 设备的“身体”。它通过标准化的工具层读取屏幕、执行点击、滑动和输入操作,让 AI 代理能够像人类一样与手机应用交互。

所在地:
美国
收录时间:
2026-09-05
其他站点:
Ghost in the DroidGhost in the Droid

Ghost in the Droid (GitD) 是一个开源的 Python 框架,为大语言模型(LLM)代理提供控制真实 Android 和 iOS 设备的“身体”。它通过标准化的工具层读取屏幕、执行点击、滑动和输入操作,让 AI 代理能够像人类一样与手机应用交互。无论是 Claude Code、Codex 还是本地运行的 Ollama,任何具备推理能力的“大脑”都可以接入 GitD,从而获得在物理世界中执行任务的能力。

Ghost in the Droid

核心理念:模块化与可互换性

GitD 1.3 采用了独特的**“平台-大脑-驱动”**三列架构,允许用户自由组合组件:

维度选项示例
平台 (身体)Android (USB/Wi-Fi ADB, Docker/KVM 模拟器池), iPhone (Appium/WDA, Tailscale 无线)
大脑 (思维)Claude Code, Anthropic API, OpenRouter, Ollama (本地), vLLM, 设备端模型 (llama.cpp/MLX)
驱动 (接口)MCP 客户端, LangChain, LlamaIndex, Ghost CLI, Web 仪表板, REST API

这种设计意味着你可以用 Claude Code 作为大脑,通过 MCP 协议控制一台 Android 手机;或者用本地 Ollama 模型,通过 CLI 控制一台 iPhone。无论更换哪种“大脑”,底层的 62 个标准化工具(MCP Tools)保持不变。

核心功能亮点

  • 跨平台原生控制:
    • Android:基于 ADB,支持点击、滑动、输入、剪贴板、Shell 命令及 Intent 启动。可选 Portal 配套应用可实现快 30 倍的 UI 读取。
    • iOS:基于 Appium XCUITest 和 WebDriverAgent (WDA),支持截屏、可访问性树解析、点击、滑动及应用启动。
  • “技能”系统:省钱又高效:
    • 确定性重放:将常用工作流(如 TikTok 刷视频、Play Store 下载)编译为 YAML + Python 技能。执行已知任务时零 LLM 调用,速度极快且成本为零。
    • AI 辅助创建:内置 BFS 自动探索器和 LLM 辅助技能生成器,能自动发现 UI 元素并生成动作代码。
    • 社区共享:支持从技能中心浏览、搜索和安装他人分享的技能(如 android-agent skill install tiktok)。
  • 实时视觉反馈:
    • 支持 Android MJPEG/WebRTC 和 iOS WDA MJPEG 实时屏幕流。
    • 可在 Web 仪表板上直接观看手机屏幕并进行交互式点击调试。
  • 规模化部署:
    • 支持多设备手机农场,每设备独立作业队列。
    • 提供机器人运行器用于排队、调度和监控自动化作业。

隐私与安全设计

  • 默认零应用:全新安装无需 Root,无需开启无障碍服务。Android 通过 uiautomator 读取屏幕,通过 adb shell input 执行动作。
  • 本地优先:服务器和仪表板可在本地运行。若使用设备端模型(如 llama.cpp),所有数据(截图、提示词)均不离开手机或局域网。
  • 物理隔离沙箱:建议使用带有独立 SIM 卡和账户的旧手机作为“幽灵”载体,与个人主生活物理隔离。

快速开始要求

  • Python: 3.10+
  • Android: 启用 USB 调试的手机,ADB 已配置。
  • iOS: macOS 环境,安装 Xcode、Appium 2 + XCUITest 驱动,需信任的 iPhone 或模拟器。
  • Node.js: 18+ (用于前端开发)。

应用场景

  1. 自动化测试:对真实设备进行端到端的 UI 自动化测试。
  2. 社交媒体管理:自动发布内容、互动或收集数据。
  3. 复杂任务代理:让 AI 代理自主完成需要在多个 App 间跳转的任务(如:查天气 -> 打开日历 -> 预约会议 -> 发送通知)。
  4. 隐私敏感操作:在完全离线的设备上运行本地模型,处理敏感信息而不上传云端。

相关导航