乐于分享
好东西不私藏

这款开源免费AI工具,自然语言指令控制 Android 和 iOS 设备

这款开源免费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. 1. 幻觉风险:大模型仍有误判可能,复杂流程务必设置步数上限,关键操作保留人工确认环节。
  2. 2. 隐私红线:涉及支付、密码、敏感信息的操作,现阶段请谨慎使用,建议在隔离或低风险场景验证。
  3. 3. 延迟优化:网络波动或模型响应慢会拖慢执行速度。可尝试切换低延迟模型,或结合云端服务器部署以提升稳定性。

总结

从“录制回放”到“视觉识别”,再到如今的“大模型意图理解”,安卓自动化终于跨过了最陡峭的学习曲线。mobilerun 的价值不在于替代人类,而是把我们从重复劳动中剥离出来,去处理更有创造性的工作。

项目已完全开源(👉 GitHub:https://github.com/droidrun/mobilerun),感兴趣的同学建议先跑个 Demo 感受下。

如果你在配置 ADB、调参或部署时遇到问题,欢迎在评论区留言,星哥会逐一解答。