Mobile Use 提供了 Python SDK,本文提供基于 SDK 的接口调用示例代码供您参考。
该示例代码依次调用以下接口,实现“创建代理运行配置,运行代理任务,并获取任务运行步骤详情”的目标。
说明
实际调用接口时,示例代码中的各个参数需要传入真实值,推荐使用 dotenv 配置参数值。了解如何获取并配置各参数值,请参见在指定项目中集成 Mobile Use SDK。
import os import volcenginesdkcore from volcenginesdkcore.rest import ApiException import uuid import time if __name__ == '__main__': # 从环境变量获取火山引擎账号的AK/SK ak = os.environ.get("VOLC_ACCESSKEY") sk = os.environ.get("VOLC_SECRETKEY") # 配置SDK configuration = volcenginesdkcore.Configuration() configuration.ak = ak configuration.sk = sk configuration.region = "cn-north-1" # 创建API客户端 api_instance = volcenginesdkcore.UniversalApi(volcenginesdkcore.ApiClient(configuration)) # 配置参数 product_id = "" # 云手机业务id pod_id = "" # 云手机实例id tos_bucket = "" # tos桶名称 tos_endpoint = "" # tos桶endpoint接入点信息,如:https://tos-cn-beijing.volces.com tos_region = "" # tos桶region,如:cn-beijing callback_url = "" # 状态回调url,用于接收 Mobile Use OpenAPI 相关的回调(包括任务状态更新回调、任务执行失败回调、任务中断回调) try: # 1. 创建Agent运行配置 (POST请求) body = volcenginesdkcore.Flatten({ "MaxStep": 55, # 最大运行步数 "Timeout": 300, # 超时时间,单位秒 "TosBucket": tos_bucket, "TosEndpoint": tos_endpoint, "TosRegion": tos_region, "CallbackUrl": callback_url }).flat() # 配置接口信息,包括请求方式、接口action、服务名称、版本号以及请求头等信息 resp = api_instance.do_call(volcenginesdkcore.UniversalInfo( method="POST", action="CreateAgentRunConfig", service="ipaas", version="2023-08-01", content_type="application/json" ), body) print("CreateAgentRunConfig response:") print(resp) # 获取返回结果中的ConfigId(代理运行配置的唯一标识) config_id = resp["ConfigId"] print(f"ConfigId: {config_id}") # 2. 运行Agent任务 (POST请求) body = volcenginesdkcore.Flatten({ "RunName": "mobile-use demo", "ThreadId": str(uuid.uuid4()), "PodId": pod_id, "ProductId": product_id, "UserPrompt": "打开**应用", "AgentRunConfigId": config_id }).flat() # 配置接口信息,包括请求方式、接口action、服务名称、版本号以及请求头等信息 resp = api_instance.do_call(volcenginesdkcore.UniversalInfo( method="POST", action="RunAgentTask", service="ipaas", version="2023-08-01", content_type="application/json" ), body) print("\nRunAgentTask response:") print(resp) # 获取RunId(运行代理任务的唯一标识) run_id = resp["RunId"] # 3. 查看Agent运行当前步骤 (GET请求) time.sleep(5) # 等待任务执行 # GET请求不需要请求体,参数直接放在body中 body = volcenginesdkcore.Flatten({ "RunId": run_id }).flat() # 配置接口信息,包括请求方式、接口action、服务名称、版本号以及请求头等信息 resp = api_instance.do_call(volcenginesdkcore.UniversalInfo( method="GET", action="ListAgentRunCurrentStep", service="ipaas", version="2023-08-01", content_type="application/json" ), body) # 输出接口返回值 print("\nListAgentRunCurrentStep response:") print(resp) except ApiException as e: print(f"API Exception: {e}") except Exception as e: print(f"General Exception: {e}")