超棒的 GeeLark 技能
v1.0.0通过 GeeLark Cloud Phone API 与云手机交互,实现云手机管理、自动化任务及社媒运营。在需要创建云手机、管理...时使用。
运行时依赖
安装命令
点击复制本土化适配说明
超棒的 GeeLark 技能 安装说明: 安装命令:["openclaw skills install awesome-geelark-skill"] 该技能用于飞书相关操作,可能需要相应的平台账号或API密钥
技能文档
GeeLark Cloud Phone API 技能 ⚠️ 实验性项目:本技能专为 AI 代理设计,已内置安全机制,但未经测试请勿直接用于生产。 配置:assets/config.json(自动加载 token 与 base URL)
首次设置 初始化配置: python3 scripts/init_config.py 该命令创建 assets/config.json 并写入凭据(已加入 .gitignore 保护)。所有脚本均从此文件自动读取凭据。
安装依赖 pip install uiautomator2 --break-system-packages
快速开始 基础用法 列出云手机 from scripts.geelark_boot_helper import list_cloud_phones phones = list_cloud_phones() for phone in phones: print(f"{phone['serialName']} - {phone['id']}")
启动云手机并连接 from scripts.geelark_boot_helper import boot_and_connect adb_info = boot_and_connect("phone_id") if adb_info: print(f"ADB: {adb_info['ip']}:{adb_info['port']}, PWD: {adb_info['pwd']}")
核心流程 步骤 1:预检(余额 & 云手机确认)⭐⭐⭐ 操作云手机前务必:
- 检查账户余额——确保余额充足
- 查询可用云手机——确认要操作的设备
from scripts.geelark_client import GeeLarkClient from scripts.geelark_boot_helper import list_cloud_phones
client = GeeLarkClient(task_name="my_task", phone_id="batch") wallet = client.wallet() balance = wallet['data']['balance'] gift_money = wallet['data'].get('giftMoney', 0) if balance <= 0 and gift_money <= 0: print("❌ 余额不足!请先充值。") exit(1)
phones = list_cloud_phones() for phone in phones: print(f" {phone['serialName']} (ID: {phone['id']})")
步骤 2:创建云手机 # 单台 response = client.call("/open/v1/phone/addNew", { "mobileType": "Android 13", "data": [{"profileName": "MyPhone"}] })
# 多台(需 Pro 套餐) response = client.call("/open/v1/phone/addNew", { "mobileType": "Android 13", "data": [ {"profileName": "Phone1"}, {"profileName": "Phone2"} ] })
步骤 3:启动并启用 ADB from scripts.geelark_boot_helper import boot_and_connect adb_info = boot_and_connect("phone_id") # 自动完成:余额检查、状态检查、开机、启用 ADB、返回连接信息
步骤 4:安装应用 ⭐⭐⭐ 关键:必须使用 appVersionId,而非 appName
# 1. 获取 appVersionId response = client.call("/open/v1/app/installable/list", { "envId": "phone_id", "name": "TikTok", "page": 1, "pageSize": 20 }) app_version_id = response['data']['items'][0]['appVersionInfoList'][0]['id']
# 2. 安装 response = client.call("/open/v1/app/install", { "envId": "phone_id", "appVersionId": app_version_id })
步骤 5:使用 PhoneManager 管理会话 推荐用 PhoneManager 跟踪会话并自动关闭。
from scripts.phone_manager import PhoneManager
# 方法 1:上下文管理器(推荐) with PhoneManager(timeout_minutes=5) as manager: manager.start_monitor() d = manager.connect_device("phone_id_123", ip, port, pwd, name="Android15") d(text="Submit").click() manager.record_activity("phone_id_123") # 退出时自动停机关闭并保存日志
# 方法 2:手动控制 manager = PhoneManager(timeout_minutes=5) manager.start_monitor() # ... 操作 ... manager.stop_all() manager.client.save_log()
安全机制 机制 | 说明 余额检查 | 开机前自动校验余额 节能模式 | 自动启用 energySavingMode=1 降低成本 双重确认 | 删除需输入 ID + 'YES' 确认 自动关闭 | PhoneManager 自动关闭空闲设备 接口白名单 | 仅允许调用已文档化接口 日志记录 | 所有操作记录至 logs/cloudphone/
云手机操作依赖 pip install uiautomator2 --break-system-packages
代理工作流 ⭐⭐⭐ 本技能面向需识别屏幕状态的 AI 代理,推荐流程:
- 识别 UI 结构:用 uiautomator2 dump_hierarchy() 获取页面层级,解析 XML 定位元素(text、resource-id、content-desc、class),提取坐标备用;若失败立即进入下一步。
- 优先 uiautomator2 操作: