droidmind 安卓智控
一种模型上下文协议(MCP)服务器, enables 人工智能助手控制和与安卓设备交互,通过自然语言命令实现设备管理、应用调试、系统分析和UI自动化。
服务介绍
✨ DroidMind 🤖
通过模型上下文协议 (MCP) 使用 AI 控制 Android 设备
DroidMind 是一个强大的桥梁,连接 AI 助手和 Android 设备,通过自然语言实现控制、调试和系统分析。通过实现模型上下文协议 (MCP),DroidMind 允许 AI 模型通过 ADB 以安全且结构化的方式直接与 Android 设备交互。当作为代理编码工作流程的一部分使用时,DroidMind 可以使您的助手直接在循环中构建和调试设备。
💫 特性
- 📱 设备控制 - 通过 USB 或 TCP/IP 连接到设备,运行 shell 命令,重启
- 📊 系统分析 - 检查设备属性,查看硬件信息,分析系统日志
- 🔍 文件系统访问 - 浏览目录内容并管理设备上的文件
- 📷 视觉诊断 - 捕获设备屏幕截图进行分析和调试
- 📦 应用管理 - 在连接的设备上安装、卸载、启动、停止和清除应用数据
- 🔄 多设备支持 - 控制并在多个连接的设备之间切换
- 👆 UI 自动化 - 通过点击、滑动、文本输入和按键与设备互动
- 🔍 应用检查 - 查看应用清单、共享偏好设置和特定于应用的日志
- 🔒 安全框架 - 通过全面的命令验证保护设备
- 💬 MCP 集成 - 无缝连接到 Claude、Cursor、Cline 等
🚀 安装
# Clone the repository
git clone https://github.com/hyperbliss/droidmind.git
cd droidmind
# Set up a virtual environment with UV
uv venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies with UV
uv sync
📋 先决条件
- Python 3.13 或更高版本
- 启用了 USB 调试的 Android 设备
- 已安装 ADB(Android Debug Bridge)并添加到 PATH
- UV 包管理器(推荐用于依赖管理)
- 对于网络控制:启用了 ADB over TCP/IP 的 Android 设备
🔮 快速开始
运行 DroidMind 服务器
运行 DroidMind 作为服务器,通过 MCP 连接 AI 助手:
# Start DroidMind as a network server
droidmind --transport sse
与 AI 助手一起使用
-
以 SSE 模式启动 DroidMind:
droidmind --transport sse -
使用 MCP 协议 URI 连接您的 AI 助手:
sse://localhost:4256/sse -
现在,AI 可以通过自然语言控制您的 Android 设备!
🛠️ 可用的 MCP 资源和工具
资源
devices://list- 列出所有已连接的设备device://{serial}/properties- 获取设备的详细属性logs://{serial}/logcat- 从设备获取最近的日志logs://{serial}/anr- 获取应用程序无响应(ANR)跟踪logs://{serial}/crashes- 获取应用程序崩溃日志logs://{serial}/battery- 获取电池统计数据和历史记录logs://{serial}/app/{package}- 获取特定应用程序的日志fs://{serial}/list/{path}- 列出设备上的目录内容fs://{serial}/read/{path}- 从设备读取文件内容fs://{serial}/stats/{path}- 获取文件/目录的详细统计信息app://{serial}/{package}/manifest- 获取AndroidManifest.xml的内容app://{serial}/{package}/data- 列出应用程序数据目录中的文件app://{serial}/{package}/shared_prefs- 获取应用程序的共享偏好设置
工具
devicelist- 列出所有已连接的Android设备device_properties- 获取特定设备的详细属性device_logcat- 从设备获取最近的logcat输出list_directory- 列出设备上目录的内容connect_device- 通过TCP/IP连接到设备disconnect_device- 断开与Android设备的连接shell_command- 在设备上运行shell命令install_app- 在设备上安装APKuninstall_app- 从设备卸载应用程序start_app- 在设备上启动应用程序stop_app- 强制停止设备上的应用程序clear_app_data- 清除应用程序数据和缓存list_packages- 列出设备上已安装的包get_app_manifest- 获取应用程序的AndroidManifest.xml内容get_app_permissions- 获取应用程序请求的权限get_app_activities- 获取应用程序中定义的活动get_app_info- 获取有关应用程序的详细信息reboot_device- 重启设备(正常、恢复或引导加载程序模式)screenshot- 从设备获取屏幕截图capture_bugreport- 从设备生成全面的错误报告dump_heap- 从正在运行的进程中创建堆转储以进行内存分析push_file- 将文件上传到设备pull_file- 从设备下载文件delete_file- 从设备删除文件或目录create_directory- 在设备上创建目录file_exists- 检查设备上是否存在文件read_file- 读取设备上文件的内容write_file- 向设备上的文件写入文本内容file_stats- 获取文件或目录的详细信息tap- 在设备屏幕上指定坐标点击swipe- 在屏幕上从一个点滑动到另一个点input_text- 在设备上输入文本,就像从键盘输入一样press_key- 按下硬件或软件键(例如,HOME、BACK、VOLUME)start_intent- 使用Android意图启动应用程序活动
📊 示例AI助手查询
当AI助手连接到DroidMind时,尝试这些查询:
- "列出所有已连接的 Android 设备并显示它们的属性"
- "连接到我的手机 192.168.1.100 并检查其电池状态"
- "截取我的 Pixel 手机屏幕截图并显示当前屏幕上显示的内容"
- "检查我的设备上的可用存储空间"
- "显示来自我的设备的 ANR 跟踪和崩溃日志"
- "查看最近的日志并告诉我是否有任何错误"
- "在我的设备上安装此 APK 文件并告诉我是否成功"
- "显示我手机上所有已安装的应用程序列表"
- "重启我的设备进入恢复模式"
- "我的手机运行的是哪个 Android 版本?"
- "检查我的设备是否已 root 并告诉我其安全补丁级别"
- "显示 com.android.settings 的清单文件"
- "检查我的应用程序的共享偏好设置"
- "点击坐标 500,1000 处的设置图标"
- "从屏幕顶部向下滑动以打开通知栏"
- "将我的密码输入到当前文本字段中"
- "按三次返回按钮回到主屏幕"
- "通过启动 com.android.settings 包来打开设置应用"
🔒 安全特性
DroidMind 包含一个全面的安全框架,在允许 AI 助手表达的同时保护您的设备:
- 命令验证:所有 shell 命令都针对安全命令的白名单进行验证
- 风险评估:命令按风险级别(SAFE、LOW、MEDIUM、HIGH、CRITICAL)分类
- 命令清理:输入被清理以防止命令注入攻击
- 受保护路径:系统目录和关键路径受到保护,防止被修改
- 全面日志记录:所有命令及其风险级别都被记录下来以供审核
- 可疑模式检测:具有潜在危险模式的命令被阻止
- ADB 命令安全:对 ADB 特定命令进行特殊处理,并进行适当的异步验证
安全系统设计得足够宽松,允许常见的操作,同时防止破坏性行为。高风险命令在执行前会向用户显示警告,而关键操作则完全被阻止,除非有明确的覆盖。
💻 开发
DroidMind 使用 UV 进行依赖管理和开发工作流。UV 是一个快速可靠的 Python 包管理器和解析器。
# Update dependencies
uv sync
# Run tests
pytest
# Run linting
ruff check .
# Run type checking
mypy .
🤝 贡献
欢迎贡献!请随时提交 Pull Request。
- 叉分仓库
- 创建你的功能分支 (
git checkout -b feature/amazing-feature) - 使用 UV 设置你的开发环境
- 进行更改
- 运行测试和代码检查
- 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开 Pull Request
📝 许可证
该项目根据 Apache 许可证授权 - 详情见 LICENSE 文件。
由 Stefanie Jane 🌠 创建
如果你觉得 DroidMind 很有用,请我喝一瓶 Monster Ultra Violet ⚡️