Skip to content

gztcode/Open-AutoGLM-Setup

Repository files navigation

Open-AutoGLM 自动化控制工具

Open-AutoGLM 是一个强大的手机自动化控制工具,支持通过自然语言指令控制安卓和iOS设备。基于大语言模型,能够理解用户意图并执行相应的手机操作。

🚀 功能特点

  • 双平台支持:同时支持安卓和iOS设备
  • 自然语言控制:使用自然语言指令控制手机操作
  • 多应用支持:支持微信、淘宝、京东、美团等50+款应用
  • 智能对话:支持多轮对话模式
  • 自动化安装:提供自动化的设备配置和应用安装

📋 系统要求

通用要求

  • Python 3.10+
  • 大语言模型API密钥(智谱AI、魔塔ModelScope或自定义API)

安卓设备要求

  • Android 5.0+
  • 已启用USB调试
  • 已安装ADB工具

iOS设备要求

  • macOS系统
  • Xcode 14+
  • Apple开发者账号
  • 已配置WebDriverAgent

🛠️ 安装配置

1. 克隆项目

git clone https://github.com/your-username/Open-AutoGLM-Setup.git
cd Open-AutoGLM-Setup

2. 初始化项目

# 自动初始化子模块和下载ADBKeyboard
./init_project.sh

# 或者手动初始化
git submodule update --init --recursive
./download_adbkeyboard.sh

3. 安装依赖

cd Open-AutoGLM
pip install -r requirements.txt
cd ..

3. 配置环境变量

cp ../.env.example ../.env
# 编辑.env文件,配置API密钥和设备信息

📱 设备配置

安卓设备配置

  1. 启用USB调试

    • 设置 → 关于手机 → 连续点击版本号7次启用开发者选项
    • 设置 → 开发者选项 → 启用USB调试
  2. 安装ADB Keyboard

    # 下载并安装ADB Keyboard
    wget https://github.com/senzhk/ADBKeyBoard/releases/download/v2.4-dev/keyboardservice-debug.apk
    adb install keyboardservice-debug.apk
    
    # 启用ADB Keyboard
    adb shell ime enable com.github.senzhk.ime/.ADBKeyboard
    adb shell ime set com.github.senzhk.ime/.ADBKeyboard
  3. 连接设备

    # USB连接
    adb devices
    
    # WiFi连接(可选)
    adb tcpip 5555
    adb connect <设备IP>:5555

iOS设备配置

  1. 自动化配置(推荐)

    # 首次使用 - 完整配置
    ./setup_ios.sh
    
    # 后续使用 - 快速启动
    ./quick_start_ios.sh
  2. 手动配置

    • 克隆WebDriverAgent:git clone https://github.com/appium/WebDriverAgent.git
    • 在Xcode中打开WebDriverAgent.xcodeproj
    • 配置开发者账号签名
    • 修改Bundle ID为唯一标识符
    • 部署到iOS设备

🎮 使用方法

1. 多轮对话模式(推荐)

./autoglm_chat.sh

支持的交互命令:

  • platform android/ios - 切换设备平台
  • switch zhipu/modelscope/custom - 切换API服务
  • status - 查看设备状态
  • help - 查看帮助信息

2. 单次命令模式

安卓设备:

python3 main.py --device-id <设备ID> \
                --base-url <API地址> \
                --model <模型名称> \
                --apikey <API密钥> \
                "您的指令"

iOS设备:

python3 ios.py --device-id <设备UDID> \
               --base-url <API地址> \
               --model <模型名称> \
               --api-key <API密钥> \
               --wda-url http://localhost:8100 \
               "您的指令"

3. 环境变量配置

创建.env文件并配置以下参数:

# 平台选择
PHONE_AGENT_PLATFORM=android  # 或 ios

# 安卓设备配置
PHONE_AGENT_DEVICE_ID=192.168.20.33:5555

# iOS设备配置
# PHONE_AGENT_PLATFORM=ios
# PHONE_AGENT_DEVICE_ID=<设备UDID>
# PHONE_AGENT_WDA_URL=http://localhost:8100

# API配置
API_PROVIDER=zhipu  # zhipu, modelscope, custom
ZHIPU_API_KEY=<您的智谱API密钥>
ZHIPU_BASE_URL=https://open.bigmodel.cn/api/paas/v4
ZHIPU_MODEL=autoglm-phone

🔧 API服务配置

智谱AI

API_PROVIDER=zhipu
ZHIPU_API_KEY=<您的API密钥>
ZHIPU_MODEL=autoglm-phone

魔塔ModelScope

API_PROVIDER=modelscope
MODELSCOPE_API_KEY=<您的API密钥>
MODELSCOPE_MODEL=ZhipuAI/AutoGLM-Phone-9B

自定义API

API_PROVIDER=custom
CUSTOM_API_KEY=<您的API密钥>
CUSTOM_BASE_URL=<您的API地址>
CUSTOM_MODEL=<您的模型名称>

📝 使用示例

基础操作

打开微信
发送消息给张三:你好
搜索"北京天气"
打开淘宝
搜索"手机"

应用操作

打开美团,搜索附近的餐厅
在京东上搜索"iPhone 15"
打开网易云音乐,播放周杰伦的歌

复杂操作

帮我在淘宝上搜索"运动鞋",筛选价格在200-500之间的,然后收藏前3个商品
打开微信,给工作群发送消息:"今天下午3点开会"

🛠️ 故障排除

安卓设备问题

  1. 设备未连接

    • 检查USB调试是否启用
    • 确认设备已授权此电脑
    • 尝试重新连接USB线
  2. ADB Keyboard未工作

    • 确认已安装并启用ADB Keyboard
    • 检查输入法设置

iOS设备问题

  1. WebDriverAgent未运行

    • 运行./quick_start_ios.sh重新部署
    • 检查设备是否信任开发者应用
  2. 端口映射失败

    • 确认设备已通过USB连接
    • 检查iproxy是否正常运行

API问题

  1. API密钥无效

    • 检查API密钥是否正确
    • 确认API服务是否可用
  2. 请求失败

    • 检查网络连接
    • 确认API地址是否正确

📚 项目结构

Open-AutoGLM-Setup/
├── Open-AutoGLM/          # 主要代码库(Git子模块)
│   ├── main.py           # 安卓设备控制主程序
│   ├── ios.py            # iOS设备控制主程序
│   ├── phone_agent/      # 设备代理模块
│   └── requirements.txt  # Python依赖
├── WebDriverAgent/       # iOS WebDriverAgent(Git子模块)
├── autoglm_chat.sh      # 多轮对话脚本
├── setup_ios.sh         # iOS完整配置脚本
├── quick_start_ios.sh   # iOS快速启动脚本
├── init_project.sh      # 项目初始化脚本
├── download_adbkeyboard.sh  # ADBKeyboard下载脚本
├── .env.example         # 环境变量示例
├── .gitignore          # Git忽略文件
└── .gitmodules         # Git子模块配置

Git子模块说明

本项目使用Git子模块来管理外部依赖:

  • Open-AutoGLM: 核心代码库,包含安卓和iOS控制逻辑
  • WebDriverAgent: iOS设备自动化测试框架

更新子模块:

git submodule update --remote --merge

🤝 贡献指南

欢迎提交Issue和Pull Request!

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🔗 相关链接

📞 支持

如果您遇到问题或有建议,请:

  1. 查看常见问题
  2. 搜索已有的Issues
  3. 创建新的Issue描述您的问题

About

Open-AutoGLM 自动化控制工具 - 包含完整的安装配置和脚本

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages