You need to enable JavaScript to run this app.
导航
Mobile Use OpenAPI 调用示例
最近更新时间:2025.12.02 18:15:35首次发布时间:2025.12.02 18:15:35
复制全文
我的收藏
有用
有用
无用
无用

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}")