🤖 Phone Agent - 基于 AutoGLM 的手机端智能助理框架
本项目基于 Open-AutoGLM 进行二次开发。
Phone Agent 能够以多模态方式理解手机屏幕内容,并通过自动化操作帮助用户完成任务。只需用自然语言描述需求,如"打开小红书搜索美食",即可自动完成整个流程。
- 🧠 多模态理解 - 视觉语言模型理解屏幕内容
- 🎯 自然语言控制 - 用自然语言描述任务
- ⚡ 异步架构 - 完整的 async/await 支持
- 🔄 自动恢复 - API 重试、ADB 自动重连
- 🛡️ 安全机制 - 敏感操作确认、人工接管
- 🌐 Web 控制台 - 实时查看执行状态
- 📱 远程调试 - WiFi 连接设备
pip install -r requirements.txt
pip install -e .cp config.example.yaml config.yaml
# 编辑 config.yaml 设置 API key或使用环境变量:
export AUTOGLM_API_KEY="your-api-key"
export AUTOGLM_MODEL="gpt-4o"adb devices # 确认设备已连接Web 控制台(推荐):
python web_app.py
# 访问 http://localhost:8000命令行:
python main.pyOpen-AutoGLM/
├── phone_agent/ # 核心库
│ ├── agent.py # PhoneAgent, AsyncPhoneAgent
│ ├── actions/ # 动作处理
│ ├── adb/ # ADB 操作
│ ├── config/ # 配置管理
│ └── model/ # 模型客户端
├── web/ # Web 控制台
├── tests/ # 单元测试 (80+ tests)
├── scripts/ # 工具脚本
├── docs/ # 文档
│ ├── API.md # API 参考
│ └── DEVELOPMENT.md # 开发指南
├── examples/ # 示例代码
├── web_app.py # FastAPI 应用
├── main.py # CLI 入口
└── config.example.yaml # 配置示例
from phone_agent import AsyncPhoneAgent
from phone_agent.model import ModelConfig
import asyncio
async def main():
agent = AsyncPhoneAgent(ModelConfig(
api_key="your-key",
model_name="gpt-4o"
))
result = await agent.run("打开微信发送消息")
print(result)
asyncio.run(main())from phone_agent.config import settings
# 访问配置
print(settings.model.api_key)
print(settings.web.port)
# 修改配置
settings.agent.verbose = Truepytest tests/ -v| 变量 | 说明 | 默认值 |
|---|---|---|
AUTOGLM_API_KEY |
API 密钥 | - |
AUTOGLM_BASE_URL |
API 地址 | https://api.openai.com/v1 |
AUTOGLM_MODEL |
模型名称 | gpt-4o |
AUTOGLM_PORT |
Web 端口 | 8000 |
AUTOGLM_DEBUG |
调试模式 | false |
- Python 3.10+
- Android 7.0+ 设备
- ADB (Android Debug Bridge)
- ADB Keyboard (文本输入)
本项目仅供研究和学习使用。严禁用于非法获取信息、干扰系统或任何违法活动。
Apache License 2.0