基本能力
产品定位
DroidMind是一个用于控制和管理Android设备的工具,特别适用于AI助手与Android设备之间的交互。
核心功能
- 设备控制:连接设备、运行shell命令、重启设备
- 系统分析:检查设备属性、查看硬件信息、分析系统日志
- 文件系统访问:浏览目录内容和管理设备上的文件
- 视觉诊断:捕获设备截图用于分析和调试
- 应用管理:安装、卸载、启动、停止和清除应用数据
- 多设备支持:控制和切换多个连接的设备
- UI自动化:通过点击、滑动、文本输入和按键与设备交互
- 应用检查:查看应用清单、共享偏好设置和应用特定日志
- 安全框架:通过全面的命令验证保护设备
- MCP集成:无缝连接到Claude、Cursor、Cline等AI助手
适用场景
- AI助手与Android设备的交互
- Android设备的远程控制和调试
- 自动化测试和UI自动化
- 设备管理和系统分析
工具列表
- devicelist:列出所有连接的Android设备
- device_properties:获取设备的详细属性
- device_logcat:获取设备的logcat输出
- list_directory:列出设备上的目录内容
- connect_device:通过TCP/IP连接设备
- disconnect_device:断开与设备的连接
- shell_command:在设备上运行shell命令
- install_app:在设备上安装APK
- uninstall_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意图启动应用活动
常见问题解答
- 如何连接设备?:确保设备已启用USB调试,并通过ADB连接。
- 如何启动DroidMind服务器?:运行
droidmind --transport sse
命令。 - 如何与AI助手集成?:使用MCP协议URI
sse://localhost:4256/sse
连接。 - 如何确保安全性?:DroidMind包含命令验证、风险评估和命令消毒等安全功能。
使用教程
使用依赖
- Python 3.13或更高版本
- 启用USB调试的Android设备
- 安装并配置ADB(Android Debug Bridge)
- UV包管理器(推荐用于依赖管理)
- 对于网络控制:启用ADB over TCP/IP的Android设备
安装教程
```bash
克隆仓库
git clone https://github.com/hyperbliss/droidmind.git
cd droidmind
使用UV设置虚拟环境
uv venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
使用UV安装依赖
uv sync
```
调试方式
```bash
启动DroidMind作为网络服务器
droidmind --transport sse
运行测试
pytest
运行linting
ruff check .
运行类型检查
mypy .
```