项目背景
在体验了 Open-AutoGLM 这个开源手机自动化框架后,我被它的潜力深深吸引。于是萌生了一个想法:能否利用它打造一个真正实用的应用场景?
旅行规划是一个典型的多步骤、跨应用任务——需要在携程查机票、用高德规划路线、上美团订酒店。这些操作繁琐重复,正是 AI Agent 大显身手的地方。
于是,Travel Assistant 诞生了。
它能做什么?
一句话概括:说一句"小助手,我明天要去杭州西湖玩",它就能自动帮你完成整个旅行规划。
具体来说:
语音唤醒:说"小助手"唤醒,然后说出你的旅行计划
智能解析:自动识别目的地、出发日期、景点等关键信息
自动化执行:
打开携程,搜索机票(自动用 GPS 定位出发地)
打开高德,规划从机场到景点的路线
打开美团,搜索景点附近的酒店
报告生成:汇总所有信息,生成旅行规划报告
全程无需手动操作,看着手机屏幕自己动,还挺解压的。
技术架构
语音输入 → FunASR 识别 → 命令解析 → 工作流引擎 → PhoneAgent 执行
↓
携程 → 高德 → 美团
↓
报告生成核心模块:
遇到的挑战
手机权限!!!!!!!
1. GPS 定位问题
最初机票搜索总是从"北京"出发,后来发现是 Agent 太"热心",总想帮忙修改出发地。
解决方案:在 prompt 中明确告诉它"不要动出发地,让 App 自己用 GPS"。
2. App 界面适配
手机和平板的界面布局不同,同一个 App 在不同设备上按钮位置也不一样。
解决方案:用"视觉搜索"策略,让 Agent 根据文字和图标找元素,而不是固定坐标。
3. 循环检测
Agent 有时会陷入死循环,反复点击同一个位置。
解决方案:在 prompt 中加入循环检测规则,连续 3 次相同操作就强制退出。
效果演示
用户:小助手,我明天要去贵州黔灵山公园玩
系统:正在规划行程...
[携程] 搜索机票:天津 → 贵阳
- CA2863 07:20-09:55 ¥2130
- GS6500 14:00-16:30 ¥980
[高德] 路线规划:贵阳龙洞堡机场 → 黔灵山公园
- 打车:约45分钟,¥60
- 地铁:1号线换乘,约70分钟,¥5
[美团] 酒店推荐:
- 全季酒店(黔灵山店) ¥329 4.8分
- 汉庭酒店(贵阳公园路店) ¥218 4.6分快速开始
# 克隆项目
git clone https://github.com/zqaini002/Travel-Assistant.git
# 安装依赖
pip install -r requirements.txt
pip install -r travel_assistant/requirements.txt
# 运行
python travel_assistant/main.py \
--base-url <模型服务地址> \
--apikey <API密钥> \
--asr-url <ASR服务地址>项目结构
travel_assistant/
├── main.py # 入口文件
├── agent/ # Agent 封装
├── asr/ # 语音识别模块
├── gui/ # 图形界面
├── workflow/ # 工作流引擎
│ └── tasks/ # 预定义任务
│ ├── flight_search.py # 携程机票
│ ├── route_planning.py # 高德路线
│ └── hotel_booking.py # 美团酒店
└── report/ # 报告生成写在最后
这个项目是我对 AI Agent 落地应用的一次探索。虽然还有很多可以改进的地方,但它已经能够完成基本的旅行规划任务了。
如果你对手机自动化、语音交互或者工作流引擎感兴趣,欢迎 Star 和 PR!
GitHub: https://github.com/zqaini002/Travel-Assistant
致谢:感谢 Open-AutoGLM 项目提供的核心框架支持。