2026/4/17 2:13:28
网站建设
项目流程
做游戏网站要多少钱,wordPress如何设置,网站远程数据库,自己做app零基础入门Open-AutoGLM#xff1a;Mac上5分钟部署AI手机助理#xff0c;小白也能轻松上手 摘要#xff1a;本教程教你在 Mac (Apple Silicon) 上部署智谱 AutoGLM-Phone-9B 多模态大模型#xff0c;实现完全本地化、隐私安全、零成本的手机 AI 助理。从原理到部署、从操作…零基础入门Open-AutoGLMMac上5分钟部署AI手机助理小白也能轻松上手摘要本教程教你在 Mac (Apple Silicon) 上部署智谱 AutoGLM-Phone-9B 多模态大模型实现完全本地化、隐私安全、零成本的手机 AI 助理。从原理到部署、从操作到优化一文搞定1. 什么是 Open-AutoGLM1.1 项目简介Open-AutoGLM是智谱 AI 开源的手机端 AI Agent 框架全称为 AutoGLM-Phone。它能让你的 Mac 成为一台“超级大脑”通过 USB 或 WiFi 远程控制安卓设备自动完成各类日常任务。只需一句自然语言指令例如“打开小红书搜索美食推荐”“在抖音关注用户 dycwo11nt61d”“打开微信给妈妈发消息说我今晚不回家吃饭”系统即可自动解析意图、理解当前界面状态并规划出完整的操作路径最终通过 ADB 实现点击、滑动、输入等动作真正实现“动口不动手”。该框架基于视觉语言模型VLM结合多模态感知与智能决策能力构建了一个闭环的“感知-思考-执行”系统适用于自动化测试、个人助理、无障碍辅助等多种场景。1.2 为什么选择本地部署对比项云端 API 模式本地 MLX 模式隐私安全截图上传云端数据永不出本机运行成本按 Token 收费电费即成本网络依赖断网不可用完全离线可用响应延迟网络延迟波动本地计算稳定将模型运行在本地 Mac 上不仅能避免敏感截图外泄还能享受更低延迟和更稳定的交互体验尤其适合对隐私有高要求的用户。1.3 适合谁使用开发者学习 AI Agent 架构设计与多模态应用开发极客玩家探索 Apple Silicon 上的大模型部署技巧隐私敏感用户拒绝数据上传追求端侧智能技术爱好者动手实践 ADB 自动化 VLM 推理全流程2. 核心原理解析2.1 AI Agent 工作循环Open-AutoGLM 遵循经典的Perception-Thinking-Action感知-思考-行动循环机制┌─────────────────────────────────────────────────────────────┐ │ Agent 工作循环 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 感 知 │ ──→ │ 思 考 │ ──→ │ 行 动 │ │ │ │ │ │ │ │ │ │ │ │ 截图 │ │ 理解状态 │ │ 点击 │ │ │ │ UI解析 │ │ 规划步骤 │ │ 滑动 │ │ │ │ App状态 │ │ 生成指令 │ │ 输入 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ ↑ │ │ │ └──────────────────────────────────┘ │ │ 循环执行 │ └─────────────────────────────────────────────────────────────┘每一步都由模型驱动先获取屏幕图像和结构信息 → 输入模型进行推理 → 输出 JSON 格式的操作指令 → 执行 ADB 命令完成动作。2.2 三层架构详解感知层Perception Layer负责采集手机当前状态主要包括三种方式感知类型技术实现数据格式视觉感知adb shell screencap -pPNG 图像结构化感知adb shell uiautomator dumpXML 元素树状态感知adb shell dumpsys activityApp/Activity 信息这些数据共同构成模型的输入上下文帮助其准确理解当前所处页面。推理层Reasoning Layer核心是AutoGLM-Phone-9B一个专为移动端任务设计的视觉语言模型VLM。其输入包含系统提示词System Prompt用户任务描述当前手机截图Base64 编码模型输出遵循特定格式think我需要先找到微信图标并点击/think answer{action: Tap, element: [500, 800]}/answer其中think包含推理过程answer包含可执行的操作指令。执行层Execution Layer根据模型输出调用对应的 ADB 命令完成实际操作操作类型ADB 命令说明Tapadb shell input tap x y点击坐标Swipeadb shell input swipe x1 y1 x2 y2滑动Typeadb shell am broadcast -a ADB_INPUT_TEXT输入文字Launchadb shell am start -n package/activity启动应用Backadb shell input keyevent KEYCODE_BACK返回上一页此外系统还内置了人工接管机制在遇到验证码、支付确认等敏感操作时会暂停并提示用户介入。2.3 MLX 框架优势MLX是苹果为 Apple SiliconM1/M2/M3/M4定制的深度学习框架具备以下优势统一内存架构CPU 与 GPU 共享内存减少数据拷贝开销延迟编译优化仅编译实际执行路径提升效率原生 Metal 加速充分利用 GPU 并行计算能力得益于 MLX我们可以在 Mac 上高效运行 9B 参数级别的多模态模型而无需依赖云服务或高性能显卡。3. 环境准备超详细3.1 系统要求项目最低要求推荐配置系统版本macOS 13.3macOS 14 (Sonoma)芯片M1M1 Max / M2 Pro 及以上内存16GB (量化后)32GB硬盘20GB 可用空间50GB SSDPython3.103.11建议使用搭载 M1 及以上芯片的 Mac 设备以获得最佳性能。3.2 安装 Python 环境推荐使用pyenv管理 Python 版本。# 安装 Homebrew如未安装 /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) # 安装 pyenv brew install pyenv # 配置 zsh 环境变量 echo export PYENV_ROOT$HOME/.pyenv ~/.zshrc echo command -v pyenv /dev/null || export PATH$PYENV_ROOT/bin:$PATH ~/.zshrc echo eval $(pyenv init -) ~/.zshrc source ~/.zshrc # 安装 Python 3.11 pyenv install 3.11.9 pyenv global 3.11.9 # 验证 python --version # 应输出 Python 3.11.93.3 安装 ADB 工具ADB 是连接 Mac 与安卓设备的核心工具。# 使用 Homebrew 安装 brew install android-platform-tools # 验证安装 adb version3.4 配置安卓手机步骤 1开启开发者模式打开设置 → 关于手机连续点击版本号7 次提示“您已进入开发者模式”不同品牌路径略有差异请根据机型调整。步骤 2开启 USB 调试返回设置 → 系统 → 开发者选项开启USB 调试可选关闭“监控 ADB 安装应用”以防弹窗干扰步骤 3连接授权使用数据线连接手机与 Mac手机弹出授权对话框勾选“始终允许”并确认终端验证adb devices # 输出应类似 # List of devices attached # ABCD1234567890 device3.5 安装 ADB Keyboard用于支持中文文本输入。下载 APK 文件curl -L -O https://github.com/senzhk/ADBKeyBoard/releases/download/v1.7/ADBKeyboard.apk安装至设备adb install ADBKeyboard.apk在手机中启用设置 → 语言和输入法 → 虚拟键盘 → 启用 ADB Keyboard切换默认输入法为 ADB Keyboard验证adb shell ime list -a | grep ADB # 应输出: com.android.adbkeyboard/.AdbIME3.6 安装项目依赖# 克隆项目 git clone https://github.com/zai-org/Open-AutoGLM.git cd Open-AutoGLM # 安装 MLX 相关依赖 pip install mlx githttps://github.com/Blaizzy/mlx-vlm.gitmain torch torchvision transformers # 安装项目依赖 pip install -r requirements.txt pip install -e . # 验证安装成功 python -c import mlx; import phone_agent; print(✅ 安装成功)4. 模型下载与部署4.1 下载模型方法 AHuggingFace CLI推荐# 安装 HuggingFace CLI pip install -U huggingface_hub[cli] # 设置国内镜像加速可选 export HF_ENDPOINThttps://hf-mirror.com # 下载模型约 20GB huggingface-cli download --resume-download zai-org/AutoGLM-Phone-9B --local-dir ./models/AutoGLM-Phone-9B方法 BModelScope国内更快pip install modelscope python -c from modelscope import snapshot_download; snapshot_download(ZhipuAI/AutoGLM-Phone-9B, local_dir./models/AutoGLM-Phone-9B) 4.2 启动运行python main.py --local --model ./models/AutoGLM-Phone-9B 打开微信首次加载模型约需 30 秒之后即可开始交互。4.3 4-bit 量化内存优化版若设备内存 ≤16GB建议使用 4-bit 量化降低资源占用。指标FP16 原始模型4-bit 量化模型大小~20GB~6.5GB内存需求≥32GB≥16GB推理速度基准提升约 3x精度损失无2%执行量化python -m mlx_vlm.convert \ --hf-path ./models/AutoGLM-Phone-9B \ -q \ --q-bits 4 \ --mlx-path ./autoglm-9b-4bit使用量化模型运行python main.py --local --model ./autoglm-9b-4bit 打开B站搜索Python教程5. 实战操作指南5.1 基础运行模式交互式模式python main.py --local --model ./autoglm-9b-4bit # 输入任务 打开小红书搜索咖啡探店 发送微信消息给李四说会议推迟到下午三点 退出单次任务模式python main.py --local --model ./autoglm-9b-4bit 打开抖音刷5个视频5.2 常用参数说明参数说明示例--local使用本地 MLX 推理--local--model模型路径--model ./autoglm-9b-4bit--device-id指定设备 ID--device-id 192.168.1.100:5555--lang语言设置--lang cn--list-devices列出已连接设备--list-devices5.3 典型任务示例# 社交沟通 python main.py --local --model ./autoglm-9b-4bit 打开微信给张三发消息今天加班晚点回家 # 电商购物 python main.py --local --model ./autoglm-9b-4bit 打开淘宝搜索无线蓝牙耳机按销量排序 # 外卖点餐 python main.py --local --model ./autoglm-9b-4bit 打开美团外卖点一份黄焖鸡米饭加辣 # 视频娱乐 python main.py --local --model ./autoglm-9b-4bit 打开B站搜索二次元动漫推荐 # 音乐播放 python main.py --local --model ./autoglm-9b-4bit 打开网易云音乐搜索周杰伦的《晴天》并播放5.4 WiFi 远程调试摆脱数据线束缚实现无线控制。手机开启“无线调试”功能开发者选项内记录 IP 地址与端口号通常为 5555连接命令# 连接远程设备 adb connect 192.168.1.100:5555 # 验证 adb devices # 执行任务 python main.py --local --model ./autoglm-9b-4bit \ --device-id 192.168.1.100:5555 \ 打开抖音刷新鲜事6. 性能优化详解6.1 内置优化策略图像智能降采样为提升推理效率系统自动将截图长边压缩至 1024px 以内原始分辨率压缩后像素减少2400×10801024×46082%1920×10801024×57672%大幅降低视觉编码器负担同时保留关键 UI 信息。KV Cache 量化启用kv_bits8将注意力缓存从 FP16 转为 INT8显存占用下降约 30%推理速度小幅提升几乎无精度损失显存强制回收每步推理后自动执行mx.clear_cache() gc.collect()防止内存泄漏导致长时间运行卡顿。6.2 手动优化建议关闭后台应用释放更多内存供模型使用优先使用 USB 连接传输更稳定延迟更低降低屏幕亮度减小截图文件体积定期重启进程若出现响应变慢可终止后重试6.3 实测性能表现M1 Max, 32GB阶段耗时模型加载~30 秒单步推理13–18 秒截图获取0.5–1 秒完整任务耗时示例“打开网易云音乐搜索《一滴泪的时间》并播放”总步骤6 步总耗时约 2 分 18 秒7. API 与进阶用法7.1 Python API 调用from phone_agent import PhoneAgent from phone_agent.model import ModelConfig from phone_agent.agent import AgentConfig # 模型配置 model_config ModelConfig( model_name./autoglm-9b-4bit, is_localTrue, max_tokens3000, temperature0.1, ) # Agent 配置 agent_config AgentConfig( max_steps50, verboseTrue, langcn, ) # 创建代理并运行 agent PhoneAgent(model_configmodel_config, agent_configagent_config) result agent.run(打开抖音刷新鲜事) print(f任务结果: {result})7.2 自定义回调函数处理敏感操作或需人工干预的场景def my_confirmation(message: str) - bool: print(f⚠️ 检测到敏感操作: {message}) return input(是否继续(y/n): ).lower() y def my_takeover(message: str) - None: print(f✋ 需要人工操作: {message}) input(完成后按回车继续...) agent PhoneAgent( confirmation_callbackmy_confirmation, takeover_callbackmy_takeover, )7.3 批量任务执行tasks [ 打开微信给张三发消息会议改到下午4点, 打开支付宝查看余额, 打开美团查看最近订单, ] for task in tasks: result agent.run(task) print(f✅ 完成: {task}) agent.reset() # 重置状态8. 常见问题 FAQQ1: 设备未识别adb devices 为空解决方法adb kill-server adb start-server adb devices常见原因使用了纯充电线非数据线未在手机上授权调试权限开发者选项未正确开启Q2: 模型下载中断使用断点续传huggingface-cli download --resume-download zai-org/AutoGLM-Phone-9B --local-dir ./models/AutoGLM-Phone-9B或切换国内镜像export HF_ENDPOINThttps://hf-mirror.comQ3: 内存不足Killed / MemoryError解决方案使用 4-bit 量化模型关闭其他应用程序重启 Mac 后再尝试Q4: 文字输入失败检查是否已安装 ADB Keyboard是否已在系统中启用验证命令adb shell ime list -a | grep ADBQ5: 截图为黑屏某些应用如银行、支付类禁止截图属于系统级限制。此时模型会自动请求人工接管。Q6: 运行逐渐变慢建议终止程序并重新启动CtrlC python main.py --local --model ./autoglm-9b-4bit 你的任务Q7: WiFi 连接失败排查确保手机与电脑在同一局域网手机已开启“无线调试”防火墙未阻止 5555 端口Q8: 中文乱码问题Windows/Linux设置环境变量# Windows set PYTHONIOENCODINGutf-8 # Linux/macOS export PYTHONIOENCODINGutf-8获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。