这款开源免费AI工具,自然语言指令控制 Android 和 iOS 设备
这款开源免费AI工具,自然语言指令控制 Android 和 iOS 设备
引言
打开App、切回微信、找设置、关弹窗、设闹钟……现代人每天在手机上重复的机械操作,加起来可能比实际工作还多。尤其是遇到需要跨应用多步联动的场景,手指点得发麻,效率却低得可怜。
有没有一种可能,让手机自己“听懂”你的需求,自动把活干完?

最近,GitHub 上悄然跑火了一个名为 mobilerun 的开源项目。它直接把大语言模型(LLM)接入安卓交互层,实现了真正的“自然语言控机”。今天星哥就带大家拆解这个项目,看看它能不能成为你口袋里的“AI代操作助手”。
核心亮点
星哥任务这个开源工具最大的两点:使用自然语言指令控制 Android 和 iOS 设备。

传统手机自动化要么靠录制固定路径(换个UI就失效),要么需要写脚本(门槛太高)。mobilerun 的底层逻辑完全不同:让AI当大脑、截图当眼睛、ADB当手脚。
-
• 说人话就能控机:无需记忆控件ID或坐标,直接输入日常指令,如 “打开设置,查看Android版本”,AI会自动拆解步骤并执行。 -
• 不绑定单一模型:兼容 OpenAI、Anthropic Claude、Google Gemini 等主流服务商,你手头有哪个 Key 就能用哪个,灵活切换。 -
• 双端调用友好:提供极简命令行(CLI),零基础也能跑通;同时开放 Python API,开发者可轻松将其嵌入自动化流水线或定制 Agent。 -
• 动态视觉解析:通过实时截图分析当前界面状态,遇到弹窗、权限请求或页面跳转时,能自适应调整操作策略,告别“死坐标”。
一、先准备环境(Windows 11)
1. 必须安装 Python 3.11(强烈推荐)
Python 3.14 目前不受支持。请使用 Python 3.11 – 3.13
下载地址(官方稳定版):
https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe
✅ 安装时一定要勾选:Add Python to PATH
✅ 安装后打开 CMD 输入:
PS C:\Windows\system32> python --versionPython 3.11.9
显示 Python 3.11.x 就对了。
二、Windows 11 必看额外配置(连接手机)
1. 安装 ADB(安卓调试工具)
mobilerun 必须依赖 ADB
下载:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
解压后,把路径添加到系统 PATH,然后在 CMD 测试:
adb --version
实际
PS C:\Windows\system32> adb --versionAndroid Debug Bridge version 1.0.41Version 37.0.0-14910828Installed as D:\mysoft\adb\adb.exeRunning on Windows 10.0.28000
2. 手机打开开发者选项 + USB 调试
连接电脑后运行:
adb devices
能看到设备即可。
三、部署指南
星哥把安装流程梳理这几步,照着操作基本不会踩坑:
底层通道打通:电脑需安装并配置好 ADB(Android Debug Bridge)。
手机开启“开发者选项”,允许 USB 调试(或配置无线 ADB 连接)。
1.安装uv
# macOS/Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh# Windows (PowerShell)powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
执行结果
PS C:\Windows\system32> powershell -c "irm https://astral.sh/uv/install.ps1 | iex"downloading uv 0.11.9 (x86_64-pc-windows-msvc)installing to C:\Users\Admin\.local\bin uv.exe uvx.exe uvw.exeeverything's installed!To add C:\Users\Admin\.local\bin to your PATH, either restart your shell or run: set Path=C:\Users\Admin\.local\bin;%Path% (cmd) $env:Path = "C:\Users\Admin\.local\bin;$env:Path" (powershell)
2.使用uv安装mobilerun
uv tool install mobilerun

3.安装Portal
设置 Portal APK Mobilerun 要求在 Android 设备上安装 Portal 应用程序以进行设备控制。
Portal 应用程序提供可公开 UI 可访问性树的可访问性服务,使代理能够查看 UI 元素并与之交互。
mobilerun setup 此命令会自动: 下载最新的 Portal APK,将其安装在连接的设备上,启用辅助功能服务
PS C:\Windows\system32> mobilerun setupUsing device: 8UJDU19B26009606Downloading Portal APK 0.7.1

回到手机中安装mobilerun Portal


4.测试连接
验证 Mobilerun 是否可以与您的设备通信:
mobilerun ping实际显示:PS C:\Windows\system32> mobilerun pingPortal is installed and accessible. You're good to go!
5.配置大模型
运行配置向导以选择您的提供商、身份验证方法(API 密钥或 OAuth)和模型:
mobilerun configure
这里可以选择openai、gemini、minimax等等大模型,星哥选择ollama

curl http://192.168.1.18:11434Ollama is running我使用的qwen3.5:9b

或者,可以将 API 密钥设置为环境变量:
# For Google Gemini (default)export GOOGLE_API_KEY=your-api-key-here# For OpenAIexport OPENAI_API_KEY=your-api-key-here# For Anthropic Claudeexport ANTHROPIC_API_KEY=your-api-key-here
6.通过 CLI 运行您的第一个命令
现在您已准备好使用自然语言控制您的设备:
# 使用默认大模型 (Google Gemini)mobilerun run "Open the settings app and tell me the Android version"mobilerun run "打开设置应用程序并告诉我 Android 版本"# 选择大模型mobilerun run "Check the battery level" --provider OpenAI --model gpt-4omobilerun run "检查电池电量" --provider OpenAI --model gpt-4o# 启用视觉模式(将屏幕截图发送给LLM)mobilerun run "What app is currently open?" --visionmobilerun run "目前打开什么应用程序?" --vision# 启用推理模式(使用管理器-执行器工作流程来执行复杂任务)mobilerun run "Find a contact named John and send him an email" --reasoningmobilerun run "查找名为 John 的联系人并向他发送电子邮件" --reasoning
通过脚本创建简单代理
import asynciofrom mobilerun import MobileAgent, MobileConfigasync def main(): # Use default configuration with built-in LLM profiles config = MobileConfig() # Create agent # LLMs are automatically loaded from config.llm_profiles agent = MobileAgent( goal="Open Settings and check battery level", config=config, ) # Run agent result = await agent.run() # Check results (result is a ResultEvent object) print(f"Success: {result.success}") print(f"Reason: {result.reason}") print(f"Steps: {result.steps}")if __name__ == "__main__": asyncio.run(main())
四、mobilerun实战
mobilerun安装好了,就来看看如何使用。
1.查看手机版本
mobilerun run "Open the settings app and tell me the Android version"mobilerun run "打开设置应用程序并告诉我 Android 版本"
cli显示:

手机显示:

显示结果
🎉 Goal achieved: 这是 HarmonyOS 设备(荣耀 V30)。屏幕上显示 HarmonyOS 版本为 4.2.0,但没有直接显示 Android 版本。HarmonyOS 是华为的专有操作系统,基于 AOSP,因此通常在关于手机屏幕上不直接显示底层 Android 版本。error uploading: HTTPSConnectionPool(host='eu.i.posthog.com', port=443): Max retries exceeded with url: /batch/ (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1006)')))
2.打开微信发消息
我手机有两个微信,它并不能识别,只能打开默认的主微信。
mobilerun run "打开微信给星星发一句你好!"
3.打开淘宝闪购签到
由于淘宝闪购的今天签到已经签了,试试别的APP
mobilerun run "打开淘宝闪购,点击'我的',再点击'吃货豆',再点击'签到'"mobilerun run "打开阿里云盘,签到"


mobilerun 的默认交互是命令行,但可玩性远超预期:
-
• 基础直控: mobilerun "打开日历,添加明天下午3点的会议"—— 适合一次性指令。 -
• 参数微调:支持指定模型提供商(如 --provider openai)、锁定目标设备序列号、设置最大执行步数(--max-steps),有效防止 AI 陷入循环。 -
• 代码级集成:通过 Python API,你可以把它写进定时脚本。例如每天早8点自动拉取天气、打开通勤导航、播放播客,打造专属的“晨间自动化链路”。
适用场景
工具虽强,但用对地方才能事半功倍。星哥总结了几个高频落地场景,并附上实操建议:
✅ QA自动化测试:测试同学无需手写繁琐的 UI 脚本,用自然语言生成用例,跨机型适配效率大幅提升。✅ 远程协助长辈:父母不会调字体、清缓存、连 Wi-Fi?你远程发条指令,AI 替他们一步步完成,省心又安全。✅ 重复性数据搬运:跨平台填表、批量截图归档、定时签到打卡……把机械劳动交给 AI,人专注核心业务。
⚠️ 注意事项(必看):
-
1. 幻觉风险:大模型仍有误判可能,复杂流程务必设置步数上限,关键操作保留人工确认环节。 -
2. 隐私红线:涉及支付、密码、敏感信息的操作,现阶段请谨慎使用,建议在隔离或低风险场景验证。 -
3. 延迟优化:网络波动或模型响应慢会拖慢执行速度。可尝试切换低延迟模型,或结合云端服务器部署以提升稳定性。
总结
从“录制回放”到“视觉识别”,再到如今的“大模型意图理解”,安卓自动化终于跨过了最陡峭的学习曲线。mobilerun 的价值不在于替代人类,而是把我们从重复劳动中剥离出来,去处理更有创造性的工作。
项目已完全开源(👉 GitHub:https://github.com/droidrun/mobilerun),感兴趣的同学建议先跑个 Demo 感受下。
如果你在配置 ADB、调参或部署时遇到问题,欢迎在评论区留言,星哥会逐一解答。
夜雨聆风