AutoGLM 截图失败返回黑屏——敏感页面的正常现象
现象
Agent 在执行任务时,某一步截图返回黑屏,然后模型触发 Take_over 请求人工接管。
原因
这是正常现象,不是 bug。Android 系统有一套安全机制:某些页面(支付密码、银行余额、隐私信息)的窗口设置了 FLAG_SECURE 标志位,系统级阻止任何截图操作。adb exec-out screencap -p 在这些页面上会返回黑屏或全黑图片。
Agent 框架怎么处理
Phone Agent 框架内置了敏感页面检测逻辑:
- 截图返回后,检查图片是否几乎全黑
- 如果是,Agent 判断"当前在敏感页面"
- 触发 Take_over 动作,暂停执行
- 等人类处理完敏感操作(输入支付密码、人脸验证、验证码)
- 人类按回车后 Agent 继续后续任务
哪些页面会遇到
- 支付宝 / 微信支付的密码输入界面
- 银行 App 的余额页、转账页
- 某些游戏的付费界面
- 企业内部系统的敏感数据页面
处理流程
Agent 正常运行 → 遇到敏感页面 → 截图返回黑屏
↓
Agent 检测到黑屏 → 判断"需要人工介入"
↓
触发 Take_over → 暂停 → 等人类操作
↓
人类手动输入密码 / 验证 → 按回车
↓
Agent 恢复执行 → 继续后续任务
如果你想确认
用 adb exec-out screencap -p > test.png 手动在那个页面截一张图,看是不是全黑。如果手动也是黑的,说明确实是系统的 FLAG_SECURE 机制。
能不能绕过
不应该绕过。这是 Android 系统为了保护用户隐私设计的安全机制,AutoGLM 框架选择尊重这个机制而不是绕过它。Take_over 的设计初衷就是让人类在这些敏感节点必须介入。