试用gelab-zero-4b-preview 安卓自动化
简介

针对安卓设备的控制专门训练了一个模型,基于Qwen3-VL-4B。
本地实践
ollama安装模型
ollama run ahmadwaqar/gelab-zero-4b-preview:q8_0
拉取项目
git clone <https://github.com/stepfun-ai/gelab-zero>
cd gelab-zero
uv venv --python=3.13
uv pip install -r requirement
准备脚本
拷贝examples/run_single_task.py到项目根目录
修改模型名字
local_model_config = {
"task_type": "parser_0922_summary",
"model_config": {
"model_name": "ahmadwaqar/gelab-zero-4b-preview:q8_0", # 修改这里
"model_provider": "local",
"args": {
"temperature": 0.1,
"top_p": 0.95,
"frequency_penalty": 0.0,
"max_tokens": 4096,
}
},
"max_steps": 400,
"delay_after_capture": 2,
"debug": False
}
自定义一个任务
task = "下载并安装原神"
启动streamlit
streamlit run --server.address 0.0.0.0 visualization/main_page.py --server.port 33503
浏览器打开:Streamlit
运行测试任务
uv run run_single_task.py
YADB is not installed on the device. Installing now...
Session ID: 88883f80-7fb5-4603-8546-6f9a6471dc5e
=============================================messages:
[{'role': 'user', 'content': [{'type': 'text', 'text': '你是一个手机 GUI-Agent 操作专家,你需要根据用户下发的任务、手机屏幕截图和交互操作的历史记录,借助既定的动作空间与手机进行交互,从而完成用户的任务。\\n请牢记,手机屏幕坐标系 以左上角为原点,x轴向右,y轴向下,取值范围均为 0-1000。\\n\\n在 Android 手机的场景下,你的动作空间包含以下8类操作,所有输出都必须遵守对应的参数要求:\\n1. CLICK:点击手机屏幕坐标,需包含点击的坐标位置 point。\\n例如:action:CLICK\\tpoint:x,y\\n2. TYPE:在手机输入框中输入文字,需包含输入内容 value、输入框的位置 point。\\n例如:action:TYPE\\tvalue:输入内容\\tpoint:x,y\\n3. COMPLETE:任务完成后向用户报告结果,需包含报告的内容 value。\\n例如:action:COMPLETE\\treturn:完成任务后向用户报告的内容\\n4. WAIT:等待指定时长,需包含等待时间 value(秒)。\\n例如:action:WAIT\\tvalue:等待时间\\n5. AWAKE:唤醒指定应用,需包含唤醒的应用名称 value。\\n例如:action:AWAKE\\tvalue:应用名称\\n6. INFO:询问用户问题 或详细信息,需包含提问内容 value。\\n例如:action:INFO\\tvalue:提问内容\\n7. ABORT:终止当前任务,仅在当前任务无法继续执行时使用,需包含 value 说明原因。\\n例如:action:ABORT\\tvalue:终止任务的原因\\n8. SLIDE:在手机屏幕上滑动,滑动的方向不限,需包含起点 point1 和终点 point2。\\n例如:action:SLIDE\\tpoint1:x1,y1\\tpoint2:x2,y2\\n9. LONGPRESS:长按手机屏幕坐标,需包含长按的坐标位置 point。\\n例如:action:LONGPRESS\\tpoint:x,y\\n'}, {'type': 'text', 'text': '\\n已知用户任务为:下载并安装原神\\n已知已经执行过的历史动作如下:暂无历史操作\\
复制session-id到streamlit页面

效果
下载原神,卡死在输入,不知道为什么type动作不执行,且agent不会检测错误
打开taptap,查看所有热门游戏打开app这里卡了一下,没有第一时间找到应用,会尝试搜索,又卡在输入,人工帮助了一下
进入app后,顺利处理了两个弹窗
热门游戏列表比较长,滚动了n次
主动结束了任务,可以看到步骤限制为400次,但是结束理由不够好
Task completed. Step 25/400 done. Action: OrderedDict({'cot': '我看到当前界面是TapTap的热门游戏榜单。任务目标是“查看所有热门游戏”。我已经通过多次滑动操作,浏览了榜单上的大部分游戏。由于无法确定榜单的总长度,我认为我已经完成了“查看”这个动作。因 此,我认为任务已经完成。', 'explain': '我已经通过滚动浏览了热门游戏榜单,完成了查看任务。', 'action': 'COMPLETE', 'return': '我已成功打开TapTap并查看了热门游戏榜单。', 'summary': '任务目标是打开TapTap并查看热门游戏。目前已成功进入热门游戏榜单页面,并通过滚动页面浏览了大部分游戏,任务已完成。', 'action_type': 'COMPLETE'})