File size: 9,545 Bytes
90fad3d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 | # Open-AutoGLM Quick Start for Coding Agent
<div align="center">
<img src=resources/logo.svg width="20%"/>
</div>
> **本文专为 AI 助手(如 Claude Code)阅读,用于自动化部署 Open-AutoGLM。**
>
> **This document is designed for AI assistants (such as Claude Code) to automate the deployment of Open-AutoGLM.**
>
> 如果你是人类读者,可以跳过本文,按照 README.md 文档操作即可。
>
> If you are a human reader, you can skip this document and follow the README.md instructions instead.
---
## Table of Contents / 目录
- [English](#english)
- [中文](#中文)
---
# English
## Prerequisites
### 1. Python Environment
Python 3.10 or higher is required.
### 2. ADB (Android Debug Bridge)
1. Download the official ADB [installation package](https://developer.android.com/tools/releases/platform-tools)
2. Extract and configure environment variables:
**macOS:**
```bash
# Assuming extracted to ~/Downloads/platform-tools
export PATH=${PATH}:~/Downloads/platform-tools
```
**Windows:** Add the extracted folder path to your system PATH. Refer to [this tutorial](https://blog.csdn.net/x2584179909/article/details/108319973) if needed.
### 3. Android Device Setup
Requirements:
- Android 7.0+ device or emulator
- Developer Mode enabled
- USB Debugging enabled
**Enable Developer Mode:**
1. Go to `Settings > About Phone > Build Number`
2. Tap rapidly about 10 times until "Developer mode enabled" appears
**Enable USB Debugging:**
1. Go to `Settings > Developer Options > USB Debugging`
2. Enable the toggle
3. Some devices may require a restart
**Important permissions to check:**

### 4. Install ADB Keyboard
Download and install [ADB Keyboard APK](https://github.com/senzhk/ADBKeyBoard/blob/master/ADBKeyboard.apk) on your device.
After installation, enable it in `Settings > Input Method` or `Settings > Keyboard List`.
---
## Installation
```bash
# Install dependencies
pip install -r requirements.txt
# Install package
pip install -e .
```
---
## ADB Configuration
**Ensure your USB cable supports data transfer (not charging only).**
### Verify Connection
```bash
# Check connected devices
adb devices
# Expected output:
# List of devices attached
# emulator-5554 device
```
### Remote Debugging (WiFi)
Ensure your phone and computer are on the same WiFi network.

```bash
# Connect via WiFi (replace with your phone's IP and port)
adb connect 192.168.1.100:5555
# Verify connection
adb devices
```
### Device Management
```bash
# List all devices
adb devices
# Connect remote device
adb connect <ip>:<port>
# Disconnect device
adb disconnect <ip>:<port>
```
---
## Usage
### Command Line
```bash
# Interactive mode
python main.py --base-url <MODEL_API_URL> --model <MODEL_NAME>
# Execute specific task
python main.py --base-url <MODEL_API_URL> "Open Chrome browser"
# Use API key authentication
python main.py --apikey sk-xxxxx
# English system prompt
python main.py --lang en --base-url <MODEL_API_URL> "Open Chrome browser"
# List supported apps
python main.py --list-apps
# Specify device
python main.py --device-id 192.168.1.100:5555 --base-url <MODEL_API_URL> "Open TikTok"
```
### Python API
```python
from phone_agent import PhoneAgent
from phone_agent.model import ModelConfig
# Configure model
model_config = ModelConfig(
base_url="<MODEL_API_URL>",
model_name="<MODEL_NAME>",
)
# Create Agent
agent = PhoneAgent(model_config=model_config)
# Execute task
result = agent.run("Open eBay and search for wireless earbuds")
print(result)
```
---
## Environment Variables
| Variable | Description | Default |
|---------------------------|---------------------------|------------------------------|
| `PHONE_AGENT_BASE_URL` | Model API URL | `http://localhost:8000/v1` |
| `PHONE_AGENT_MODEL` | Model name | `autoglm-phone-9b` |
| `PHONE_AGENT_API_KEY` | API key | `EMPTY` |
| `PHONE_AGENT_MAX_STEPS` | Max steps per task | `100` |
| `PHONE_AGENT_DEVICE_ID` | ADB device ID | (auto-detect) |
| `PHONE_AGENT_LANG` | Language (`cn`/`en`) | `cn` |
---
## Troubleshooting
### Device Not Found
```bash
adb kill-server
adb start-server
adb devices
```
Check:
1. USB debugging enabled
2. USB cable supports data transfer
3. Authorization popup approved on phone
4. Try different USB port/cable
### Can Open Apps but Cannot Tap
Enable both in `Settings > Developer Options`:
- **USB Debugging**
- **USB Debugging (Security Settings)**
### Text Input Not Working
1. Ensure ADB Keyboard is installed
2. Enable in `Settings > System > Language & Input > Virtual Keyboard`
### Windows Encoding Issues
Add environment variable before running:
```bash
PYTHONIOENCODING=utf-8 python main.py ...
```
---
# 中文
## 环境要求
### 1. Python 环境
需要 Python 3.10 及以上版本。
### 2. ADB (Android Debug Bridge)
1. 下载官方 ADB [安装包](https://developer.android.com/tools/releases/platform-tools?hl=zh-cn)
2. 解压并配置环境变量:
**macOS:**
```bash
# 假设解压到 ~/Downloads/platform-tools
export PATH=${PATH}:~/Downloads/platform-tools
```
**Windows:** 将解压后的文件夹路径添加到系统 PATH。可参考[此教程](https://blog.csdn.net/x2584179909/article/details/108319973)。
### 3. 安卓设备配置
要求:
- Android 7.0+ 设备或模拟器
- 开发者模式已启用
- USB 调试已启用
**启用开发者模式:**
1. 进入 `设置 > 关于手机 > 版本号`
2. 连续快速点击约 10 次,直到提示"开发者模式已启用"
**启用 USB 调试:**
1. 进入 `设置 > 开发者选项 > USB 调试`
2. 开启开关
3. 部分设备可能需要重启
**请务必检查以下权限:**

### 4. 安装 ADB Keyboard
在设备上下载并安装 [ADB Keyboard APK](https://github.com/senzhk/ADBKeyBoard/blob/master/ADBKeyboard.apk)。
安装后,在 `设置 > 输入法` 或 `设置 > 键盘列表` 中启用。
---
## 安装
```bash
# 安装依赖
pip install -r requirements.txt
# 安装包
pip install -e .
```
---
## ADB 配置
**请确保 USB 数据线支持数据传输(而非仅充电)。**
### 验证连接
```bash
# 检查已连接设备
adb devices
# 预期输出:
# List of devices attached
# emulator-5554 device
```
### 远程调试(WiFi)
确保手机和电脑在同一 WiFi 网络中。

```bash
# 通过 WiFi 连接(替换为手机显示的 IP 和端口)
adb connect 192.168.1.100:5555
# 验证连接
adb devices
```
### 设备管理
```bash
# 列出所有设备
adb devices
# 连接远程设备
adb connect <ip>:<port>
# 断开设备
adb disconnect <ip>:<port>
```
---
## 使用方法
### 命令行
```bash
# 交互模式
python main.py --base-url <模型API地址> --model <模型名称>
# 执行指定任务
python main.py --base-url <模型API地址> "打开美团搜索附近的火锅店"
# 使用 API Key 认证
python main.py --apikey sk-xxxxx
# 使用英文系统提示词
python main.py --lang en --base-url <模型API地址> "Open Chrome browser"
# 列出支持的应用
python main.py --list-apps
# 指定设备
python main.py --device-id 192.168.1.100:5555 --base-url <模型API地址> "打开抖音刷视频"
```
### Python API
```python
from phone_agent import PhoneAgent
from phone_agent.model import ModelConfig
# 配置模型
model_config = ModelConfig(
base_url="<模型API地址>",
model_name="<模型名称>",
)
# 创建 Agent
agent = PhoneAgent(model_config=model_config)
# 执行任务
result = agent.run("打开淘宝搜索无线耳机")
print(result)
```
---
## 环境变量
| 变量 | 描述 | 默认值 |
|---------------------------|------------------|----------------------------|
| `PHONE_AGENT_BASE_URL` | 模型 API 地址 | `http://localhost:8000/v1` |
| `PHONE_AGENT_MODEL` | 模型名称 | `autoglm-phone-9b` |
| `PHONE_AGENT_API_KEY` | API Key | `EMPTY` |
| `PHONE_AGENT_MAX_STEPS` | 每个任务最大步数 | `100` |
| `PHONE_AGENT_DEVICE_ID` | ADB 设备 ID | (自动检测) |
| `PHONE_AGENT_LANG` | 语言 (`cn`/`en`) | `cn` |
---
## 常见问题
### 设备未找到
```bash
adb kill-server
adb start-server
adb devices
```
检查:
1. USB 调试是否已开启
2. 数据线是否支持数据传输
3. 手机上的授权弹窗是否已点击「允许」
4. 尝试更换 USB 接口或数据线
### 能打开应用但无法点击
在 `设置 > 开发者选项` 中同时启用:
- **USB 调试**
- **USB 调试(安全设置)**
### 文本输入不工作
1. 确保已安装 ADB Keyboard
2. 在 `设置 > 系统 > 语言和输入法 > 虚拟键盘` 中启用
### Windows 编码异常
运行代码前添加环境变量:
```bash
PYTHONIOENCODING=utf-8 python main.py ...
```
---
## License
This project is for research and learning purposes only. See [Terms of Use](resources/privacy_policy.txt) / [使用条款](resources/privacy_policy.txt).
|