UI Agent is a multimodal agent that interprets device screens to operate terminals, such as mobile phones, in-car systems, TVs, and PCs. It supports cross-application operations and is a Plug and Play solution that requires no training.
Basic information
Version: V0.0.1
API Endpoint: https://dashscope.aliyuncs.com/
API information
This API is compatible with the Agent API protocol. This section describes the service-specific API information. For an example of a complete call, see the example at the end of this document.
Preparations
Request URL
https://dashscope.aliyuncs.com/api/v2/apps/gui-owl/gui_agent_server
Request headers
|
Field |
Type |
Required |
Description |
Example |
|
Authorization |
String |
Yes |
Enter the API key obtained from the Alibaba Cloud Management Console. |
|
|
Content-Type |
String |
Yes |
The format. |
application/json |
Mobile link
Request parameters
|
Field |
Type |
Required |
Description |
Example |
|
app_id |
String |
Yes |
Static field: gui-owl |
gui-owl |
|
input |
Array |
Yes |
A list of information structures. Currently, only a single item is supported. |
|
|
input[0].role |
String |
Yes |
The role. The default value is user. |
user |
|
input[0].content |
Array |
Yes |
The current version processes only the first element and ignores the rest. |
{ "type": "data", "data": } |
|
input[0].content[0].type |
String |
Yes |
The type. |
|
|
input[0].content[0].data |
Dict |
Yes |
The data object. |
|
|
input[0].content[0].data.messages |
Array |
Yes |
An array of single key-value pair objects. |
|
|
Key-value pair object array in messages |
An array of single key-value pair objects. |
|
||
|
image |
String |
Yes |
The image path. |
http(s):// |
|
instruction |
String |
Yes |
The task instruction that the Mobile-Agent needs to complete. |
Search for train tickets from Beijing to Hangzhou on October 19 in the Qunar Travel app. |
|
session_id |
String |
Yes |
The query ID used to associate historical operations. Leave this empty for the first call. For subsequent calls, use the session_id value returned from the first call to link all operations. |
session id : bee1915d-6f4d-4bfc-b657-ecb9d0ed8dad |
|
device_type |
String |
Yes |
The link type. |
mobile |
|
pipeline_type |
String |
Yes |
The frame type. |
agent |
|
model_name |
String |
Yes |
The model name. |
pre-gui_owl_7b |
|
thought_language |
String |
No |
Return to Language |
chinese |
|
param_list |
Array |
Yes |
Additional parameters. |
|
|
Key-value pairs in the param_list array |
||||
|
add_info |
String |
Yes |
Operation instructions. You can add operational knowledge to help the agent perform actions more accurately. |
1. Tap the Train·High-speed Rail module.\n2. Tap the date to change the time.\n3. Tap the corresponding departure time.\n4. Tap the city name on the left to change the departure city.\n5. Tap the corresponding departure city.\n6. Tap the city name on the right to change the destination city.\n7. Tap the corresponding destination city.\n8. After completing the preceding operations, tap Search. |
Request example
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v2/apps/gui-owl/gui_agent_server' \
--header 'Authorization: Bearer sk-' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_id": "gui-owl",
"input": [
{
"role": "user",
"content": [
{
"type": "data",
"data": {
"messages": [
{
"image": "http://" # Replace with a valid URL
},
{
"instruction": "Open Weibo"
},
{
"session_id": ""
},
{
"device_type": "mobile"
},
{
"pipeline_type": "agent"
},
{
"model_name": "pre-gui_owl_7b"
},
{
"thought_language": "chinese"
},
{
"param_list": [
{
"add_info": ""
}
]
}
]
}
}
]
}
]
}'
Response example
import time
import uuid
import requests
import json
import os
session_id = ""
# Define the request URL
url = "https://dashscope.aliyuncs.com/api/v2/apps/gui-owl/gui_agent_server"
# Prepare the request headers
headers = {
"Authorization": f"Bearer {os.getenv('DASHSCOPE_API_KEY')}", # Replace with a valid API key
"Content-Type": "application/json"
}
content = [
{
"type": "data",
"data": {
"messages": [
{
"image": "http://" # Replace with a valid URL
},
{
"instruction": "Open the browser"
},
{
"session_id": session_id
},
{
"device_type": "mobile"
},
{
"pipeline_type": "agent"
},
{
"model_name": "pre-gui_owl_7b"
},
{
"thought_language": "chinese"
},
{
"param_list": [
{
"add_info": ""
}
]
}
]
}
}
]
try:
payload = {
"app_id": "gui-owl",
"input": [
{
"role": "user",
"content": content
}
]
}
start_time = time.time()
# Send a POST request
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(f"Response Body: {response.text}")
# Check the response status
response.raise_for_status()
response_data = response.json()
session_id = response_data['session_id']
print(f"Time elapsed:\n", time.time() - start_time)
except requests.exceptions.RequestException as e:
print(f"An error occurred during the request: {e}")
Response parameters
|
Field |
Type |
Description |
Example |
|
id |
String |
The request ID. |
|
|
output |
Array |
The returned data. A single item is returned. |
|
|
output[0].code |
String |
The business status code. 200 indicates success. |
|
|
output[0].id |
String |
The request ID. |
86693b43-2c99-9f51-9df0-2c32f15e7a3a |
|
output[0].content |
Array |
||
|
output[0].content.data |
Dict |
The inference data. |
|
|
Data within data |
|||
|
Explanation |
String |
The action information. |
Tap on the Weibo app icon located in the first row of the home screen. |
|
Operation |
String |
The operation action. |
Click (144, 248, 144, 248) |
|
Thought |
String |
The thought process. |
The user wants to open the Weibo app. The Weibo app icon is visible in the first row of the home screen, so I need to tap on it to proceed with opening the application. |
|
usage |
dict |
The token consumption for this request. |
{ |
Full response example
{
"created_at": 1758548962,
"id": "401a9031-3fa5-4655-a34d-090523a6dd1d",
"object": "response",
"output": [
{
"code": "200",
"content": [
{
"data": {
"Explanation": "Swipe up from the bottom of the screen to open the app drawer.",
"Operation": "Swipe (512, 708, 512, 353)",
"Thought": "To achieve the user's request of opening the Google app, I need to first access the app drawer. Since the Google app is not visible on the home screen, swiping up or accessing the app drawer is necessary. This will allow me to locate and tap on the Google app icon."
},
"delta": false,
"object": "content",
"type": "data"
}
],
"id": "401a9031-3fa5-4655-a34d-090523a6dd1d",
"message": "Success",
"object": "message",
"role": "assistant",
"status": "Success",
"type": "message"
}
],
"session_id": "7c86289e-127a-4edf-8055-5727489aef49",
"status": "created",
"usage": {
"input_tokens": 0,
"output_tokens": 0
}
}
PC link
Request parameters
|
Field |
Type |
Required |
Description |
Example |
|
app_id |
String |
Yes |
Static value: gui-owl |
gui-owl |
|
input |
Array |
Yes |
A list of information structures. Currently, only a single item is supported. |
|
|
input[0].role |
String |
Yes |
The role. The default value is user. |
user |
|
input[0].content |
Array |
Enter content |
Currently, this is limited to a single content entry. |
{ "type": "data", "data": } |
|
input[0].content[0].type |
String |
Yes |
The type. |
|
|
input[0].content[0].data |
Dict |
Yes |
The data object. |
|
|
input[0].content[0].data.messages |
Array |
Yes |
Each message must contain the image, instruction, add_info, and session_id values. |
|
|
Key-value pairs in the messages array |
||||
|
image |
String |
Yes |
The local path of the current device screenshot. |
OSS URL |
|
instruction |
String |
Yes |
The task instruction that the Mobile-Agent needs to complete. |
Search for train tickets from Beijing to Hangzhou on October 19 in the Qunar Travel app. |
|
session_id |
String |
Yes |
The query ID used to associate historical operations. Leave this empty for the first call. For subsequent calls, use the session_id value returned from the first call to link all operations. |
session id : bee1915d-6f4d-4bfc-b657-ecb9d0ed8dad |
|
device_type |
String |
Yes |
The link type. |
pc |
|
pipeline_type |
String |
Yes |
The frame type. |
agent |
|
model_name |
String |
Yes |
The model name. |
pre-gui_owl_7b |
|
param_list |
Array |
Yes |
Additional parameters. |
|
|
Key-value pairs in the param_list array |
||||
|
add_info |
String |
Yes |
Operation instructions. You can add operational knowledge to help the agent perform actions more accurately. For the writing format, see the add_info document. |
|
|
enable_reflector |
Boolean |
No |
Specifies whether to add a reflection agent. |
|
|
enable_notetaker |
Boolean |
No |
Specifies whether to add a memory agent. |
|
|
worker_model |
String |
Yes |
The model used by the decision-making agent. |
|
|
manager_model |
String |
Yes |
The model used by the planning agent. |
|
|
reflector_model |
String |
Yes |
The model used by the reflection agent. |
|
|
notetaker_model |
String |
Yes |
The model used by the Memory agent. |
Request example
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v2/apps/gui-owl/gui_agent_server' \
--header 'Authorization: Bearer sk-' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_id": "gui-owl",
"input": [
{
"role": "user",
"content": [
{
"type": "data",
"data": {
"messages": [
{
"image": "http://" # Replace with a valid URL
},
{
"instruction": "Open the calculator"
},
{
"session_id": ""
},
{
"device_type": "pc"
},
{
"pipeline_type": "agent"
},
{
"model_name": "pre-gui_owl_7b"
},
{
"thought_language": "chinese"
},
{
"param_list": [
{
"add_info": ""
},
{
"enable_reflector": true
},
{
"enable_notetaker": true
},
{
"worker_model": "pre-gui_owl_7b"
},
{
"manager_model": "pre-gui_owl_7b"
},
{
"reflector_model": "pre-gui_owl_7b"
},
{
"notetaker_model": "pre-gui_owl_7b"
}
]
}
]
}
}
]
}
]
}'
Response example
import time
import uuid
import requests
import json
import os
session_id = ""
# Define the request URL
url = "https://dashscope.aliyuncs.com/api/v2/apps/gui-owl/gui_agent_server"
# Prepare the request headers
headers = {
"Authorization": f"Bearer {os.getenv('DASHSCOPE_API_KEY')}", # Replace with a valid API key
"Content-Type": "application/json"
}
content = [
{
"type": "data",
"data": {
"messages": [
{
"image": "http://" # Replace with a valid URL
},
{
"instruction": "Open the browser"
},
{
"session_id": session_id
},
{
"device_type": "pc"
},
{
"pipeline_type": "agent"
},
{
"model_name": "pre-gui_owl_7b"
},
{
"thought_language": "chinese"
},
{
"param_list": [
{
"add_info": ""
},
{
"enable_reflector": True
},
{
"enable_notetaker": True
},
{
"worker_model": "pre-gui_owl_7b"
},
{
"manager_model": "pre-gui_owl_7b"
},
{
"reflector_model": "pre-gui_owl_7b"
},
{
"notetaker_model": "pre-gui_owl_7b"
}
]
}
]
}
}
]
try:
# Randomly generate a request_id
payload = {
"app_id": "gui-owl",
"input": [
{
"role": "user",
"content": content
}
]
}
start_time = time.time()
# Send a POST request
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(f"Response Body: {response.text}")
# Check the response status
response.raise_for_status()
response_data = response.json()
session_id = response_data['session_id']
print(f"Time elapsed:\n", time.time() - start_time)
except requests.exceptions.RequestException as e:
print(f"An error occurred during the request: {e}")
Response parameters
|
Field |
Type |
Description |
Example |
|
output |
Array |
The returned data. A single item is returned. |
|
|
output[0].code |
String |
200 |
|
|
output[0].id |
String |
The request ID. |
86693b43-2c99-9f51-9df0-2c32f15e7a3a |
|
output[0].content |
Array |
||
|
output[0].content.data |
Dict |
The inference data. |
|
|
Data within data |
|||
|
action_parameter |
Dict |
The action parameters. |
{ "count": 1, "position": [ 69, 2124 ] } |
|
action_type |
String |
The action type. |
click |
|
explanation |
String |
A summary of the action. |
|
|
global_state |
Dict |
Information such as the overall plan and the current subtask. |
|
|
meta_data |
Dict |
This field is for debugging only. Do not rely on it in a production environment. Its structure and content may change or be removed in the future. |
|
|
thought |
String |
Thought process |
Full response example
{
"created_at": 1758182731,
"object": "response",
"output": [
{
"code": "200",
"content": [
{
"data": {
"action_parameter": {
"count": 1,
"position": [
69,
2124
]
},
"action_type": "click",
"explanation": "Click the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application.",
"global_state": {
"manager": "### Thought ###\nThe user wants to open the calculator application. The screenshot shows the Windows desktop with various icons, but the calculator icon is not immediately visible. To achieve this, I need to locate and open the calculator. Since it's not on the desktop, I'll assume it might be in the Start menu or another location like the All Apps menu. Therefore, the plan involves accessing the Start menu and finding the calculator there.\n\n### Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'}\n2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Current Subgoal ###\nOpen the Start Menu",
"worker": "### Thought ###\nTo open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n### Action ###\n{\"action\": \"click\", \"coordinate\": [35, 1074]}\n\n### Description ###\nClick the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application."
},
"meta_data": {
"executor": {
"messages": [
{
"content": [
{
"text": "You are a helpful assistant.",
"type": "text"
}
],
"role": "system"
},
{
"content": [
{
"text": "You are an agent who can operate a computer on behalf of a user. Your goal is to decide the next action to perform based on the current state of the phone and the user's request.\n\n### User Request ###\nOpen the calculator\nYou can follow these tips:\n\nOn Windows, you absolutely have to double-click to open any desktop icon or folder in File Explorer—one single click will NOT open them. Always double-click.\n\n### Overall Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'} 2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Progress Status ###\nNo progress yet.\n\n### Current Subgoal ###\nOpen the Start Menu\n\n### Collected Task-Related Notes ###\nNo important notes recorded.\n\n---\nCarefully examine all the information provided above and decide on the next action to perform. If you notice an unsolved error in the previous action, think as a human user and attempt to rectify them. You must choose your action from one of the atomic actions.\n\n#### Atomic Actions ####\nThe atomic action functions are listed in the format of `action(arguments): description` as follows:\n- open_app(app_name): Open the App with app_name such as Chrome and Wechat. Usage Example: {\"action\": \"open_app\", \"app_name\": \"chrome\"}\n- click(coordinate): Click the point on the screen with specified (x, y) coordinates. Usage Example: {\"action\": \"click\", \"coordinate\": [x, y]}\n- double_click(coordinate): Double click on the position (x, y) on the screen. Usage Example: {\"action\": \"double_click\", \"coordinate\": [x, y]}\n- right_click(coordinate): Right-click using the mouse on the position (x, y) on the screen. Usage Example: {\"action\": \"double_click\", \"coordinate\": [x, y]}\n- type(coordinate, text, clear, enter): Type text into the position (x, y) on the screen. Use escape characters \\', \\\", and \\n in the `text` part to ensure we can parse the content in normal python string format. If you want to clear the existing content, set the `clear` parameter to 1; otherwise, set it to 0. If you want to press `enter` after input, set the `enter` parameter to 1; otherwise, set it to 0. Usage Example: {\"action\": \"type\", \"coordinate\": [x, y], \"text\": \"the text you want to type\", \"clear\": 1, \"enter\": 1}\n- hotkey(keys): Press a hotkey combination. The `keys` parameter is a list of keys represented as a string, such as \"['ctrl', 'c']\". Usage Example: {\"action\": \"hotkey\", \"keys\": \"['ctrl', 'c']\"}\n- scroll(coordinate, value): Scroll at the position (x, y) on the screen. The `value` parameter can be positive (scroll up) or negative (scroll down), which is usually set to 5 or -5. Usage Example: {\"action\": \"scroll\", \"coordinate\": [x, y], \"value\": 5}\n- wait(time): Wait for a specified amount of time, such as 3s. Usage Example: {\"action\": \"wait\", \"time\": 3}\n- call_user(): Call the user when the task is unsolvable, or when you need the user's help, such as log in or close the pop up. Usage Example: {\"action\": \"call_user\"}\n- drag(coordinate, coordinate2): drag from the position with coordinate to the position with coordinate2. Usage Example: {\"action\": \"drag\", \"coordinate\": [x1, y1], \"coordinate2\": [x2, y2]}\n- set_cell_values(cell_values, file_name, sheet_name): set individual cell values (a Dict) in the sheet with sheet_name and in the spreadsheet with file_name. Usage Example: {\"action\": \"set_cell_value\", \"cell_values\": {\"A2\": \"hello\"}, \"file_name\": 'Untitled 1', \"sheet_name\": 'Sheet1'}\n- done(): Output this action when you think this instruction is done. Usage Example: {\"action\": \"done\"}\n\n### Latest Action History ###\nNo actions have been taken yet.\n\n### Tips\n\n* On Windows, you absolutely have to double-click to open any desktop icon or folder in File Explorer—one single click will NOT open them. Always double-click.\n* To log on or encounter a pop-up window, use the call_user tool to ask the user to take over. Do not enter account credentials or perform unauthorized operations.\n* Use app-specific tools first, rather than generic cv tools such as cv_click or cv_key.\n\n\n---\nProvide your output in the following format, which contains three parts:\n### Thought ###\nProvide a detailed explanation of your rationale for the chosen action. Please output in Chinese.\n\n### Action ###\nChoose only one action or shortcut from the options provided. IMPORTANT: Do NOT return invalid actions like null or stop. Do NOT repeat previously failed actions multiple times.\nYou must provide your decision using a valid JSON format specifying the `action` and the arguments of the action.\n\n### Description ###\nA brief description of the chosen action and the expected outcome. Please output in Chinese."
},
{
"image": "C:\\0421d463-47ac-4307-8bed-a22df6568cad.png"
}
],
"role": "user"
},
{
"content": [
{
"text": "### Thought ###\nTo open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n### Action ###\n{\"action\": \"click\", \"coordinate\": [35, 1074]}\n\n### Description ###\nClick the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application."
}
],
"role": "assistant"
}
],
"name": "operator",
"response": "### Thought ###\nTo open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n### Action ###\n{\"action\": \"click\", \"coordinate\": [35, 1074]}\n\n### Description ###\nClick the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application."
},
"manager": {
"messages": [
{
"content": [
{
"text": "You are a helpful assistant.",
"type": "text"
}
],
"role": "system"
},
{
"content": [
{
"text": "You are an agent who can operate a windows computer on behalf of a user. Your goal is to track progress and devise high-level plans to achieve the user's requests.\n\n### User Request ###\nOpen the calculator\nYou can follow these tips:\n\nOn Windows, you absolutely have to double-click to open any desktop icon or folder in File Explorer—one single click will NOT open them. Always double-click.\n\n---\nMake a high-level plan to achieve the user's request. If the request is complex, break it down into subgoals. The screenshot displays the starting state of the computer.\nPlease respond in Chinese.\n\n##### Important Notes #####\n1. Before generating your plan, carefully observe and understand the current state of the computer.\n2. Your plan should contain only necessary steps; however, please include information useful for executing the subgoal in the 'info' field.\n3. Do not include verification steps in your plan. Steps that confirm or validate other subtasks should not be included.\n4. Do not include optional steps in your plan.\n\nProvide your output in the following format which contains three parts:\n\n### Thought ###\nA detailed explanation of your rationale for the plan and subgoals.\n\n### Plan ###\n1. {'name': 'brief description of the first subgoal.', 'info': 'detailed information about executing the first subgoal.'}\n2. {'name': 'brief description of the second subgoal.', 'info': 'detailed information about executing the second subgoal.'}\n...\n\n### Current Subgoal ###\nThe first subgoal's name you should work on.\n\n"
},
{
"image": "C:\\Usersimages\\b5bf3eff-ae32-4dd0-85ee-7ee31c359142.png"
}
],
"role": "user"
},
{
"content": [
{
"text": "### Thought ###\nThe user wants to open the calculator application. The screenshot shows the Windows desktop with various icons, but the calculator icon is not immediately visible. To achieve this, I need to locate and open the calculator. Since it's not on the desktop, I'll assume it might be in the Start menu or another location like the All Apps menu. Therefore, the plan involves accessing the Start menu and finding the calculator there.\n\n### Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'}\n2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Current Subgoal ###\nOpen the Start Menu"
}
],
"role": "assistant"
}
],
"name": "manager",
"response": "### Thought ###\nThe user wants to open the calculator application. The screenshot shows the Windows desktop with various icons, but the calculator icon is not immediately visible. To achieve this, I need to locate and open the calculator. Since it's not on the desktop, I'll assume it might be in the Start menu or another location like the All Apps menu. Therefore, the plan involves accessing the Start menu and finding the calculator there.\n\n### Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'}\n2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Current Subgoal ###\nOpen the Start Menu"
}
},
"thought": "To open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n"
},
"delta": false,
"object": "content",
"type": "data"
}
],
"id": "msg_e9dd72ea-19fc-4a22-93ee-d97588645f88",
"message": "Success",
"object": "message",
"role": "assistant",
"status": "Success",
"type": "message"
}
],
"session_id": "bee1915d-6f4d-4bfc-b657-ecb9d0ed8dad",
"status": "created"
}{
"created_at": 1758182731,
"object": "response",
"output": [
{
"code": "200",
"content": [
{
"data": {
"action_parameter": {
"count": 1,
"position": [
69,
2124
]
},
"action_type": "click",
"explanation": "Click the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application.",
"global_state": {
"manager": "### Thought ###\nThe user wants to open the calculator application. The screenshot shows the Windows desktop with various icons, but the calculator icon is not immediately visible. To achieve this, I need to locate and open the calculator. Since it's not on the desktop, I'll assume it might be in the Start menu or another location like the All Apps menu. Therefore, the plan involves accessing the Start menu and finding the calculator there.\n\n### Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'}\n2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Current Subgoal ###\nOpen the Start Menu",
"worker": "### Thought ###\nTo open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n### Action ###\n{\"action\": \"click\", \"coordinate\": [35, 1074]}\n\n### Description ###\nClick the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application."
},
"meta_data": {
"executor": {
"messages": [
{
"content": [
{
"text": "You are a helpful assistant.",
"type": "text"
}
],
"role": "system"
},
{
"content": [
{
"text": "You are an agent who can operate a computer on behalf of a user. Your goal is to decide the next action to perform based on the current state of the phone and the user's request.\n\n### User Request ###\nOpen the calculator\nYou can follow these tips:\n\nOn Windows, you absolutely have to double-click to open any desktop icon or folder in File Explorer—one single click will NOT open them. Always double-click.\n\n### Overall Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'} 2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Progress Status ###\nNo progress yet.\n\n### Current Subgoal ###\nOpen the Start Menu\n\n### Collected Task-Related Notes ###\nNo important notes recorded.\n\n---\nCarefully examine all the information provided above and decide on the next action to perform. If you notice an unsolved error in the previous action, think as a human user and attempt to rectify them. You must choose your action from one of the atomic actions.\n\n#### Atomic Actions ####\nThe atomic action functions are listed in the format of `action(arguments): description` as follows:\n- open_app(app_name): Open the App with app_name such as Chrome and Wechat. Usage Example: {\"action\": \"open_app\", \"app_name\": \"chrome\"}\n- click(coordinate): Click the point on the screen with specified (x, y) coordinates. Usage Example: {\"action\": \"click\", \"coordinate\": [x, y]}\n- double_click(coordinate): Double click on the position (x, y) on the screen. Usage Example: {\"action\": \"double_click\", \"coordinate\": [x, y]}\n- right_click(coordinate): Right-click using the mouse on the position (x, y) on the screen. Usage Example: {\"action\": \"double_click\", \"coordinate\": [x, y]}\n- type(coordinate, text, clear, enter): Type text into the position (x, y) on the screen. Use escape characters \\', \\\", and \\n in the `text` part to ensure we can parse the content in normal python string format. If you want to clear the existing content, set the `clear` parameter to 1; otherwise, set it to 0. If you want to press `enter` after input, set the `enter` parameter to 1; otherwise, set it to 0. Usage Example: {\"action\": \"type\", \"coordinate\": [x, y], \"text\": \"the text you want to type\", \"clear\": 1, \"enter\": 1}\n- hotkey(keys): Press a hotkey combination. The `keys` parameter is a list of keys represented as a string, such as \"['ctrl', 'c']\". Usage Example: {\"action\": \"hotkey\", \"keys\": \"['ctrl', 'c']\"}\n- scroll(coordinate, value): Scroll at the position (x, y) on the screen. The `value` parameter can be positive (scroll up) or negative (scroll down), which is usually set to 5 or -5. Usage Example: {\"action\": \"scroll\", \"coordinate\": [x, y], \"value\": 5}\n- wait(time): Wait for a specified amount of time, such as 3s. Usage Example: {\"action\": \"wait\", \"time\": 3}\n- call_user(): Call the user when the task is unsolvable, or when you need the user's help, such as log in or close the pop up. Usage Example: {\"action\": \"call_user\"}\n- drag(coordinate, coordinate2): drag from the position with coordinate to the position with coordinate2. Usage Example: {\"action\": \"drag\", \"coordinate\": [x1, y1], \"coordinate2\": [x2, y2]}\n- set_cell_values(cell_values, file_name, sheet_name): set individual cell values (a Dict) in the sheet with sheet_name and in the spreadsheet with file_name. Usage Example: {\"action\": \"set_cell_value\", \"cell_values\": {\"A2\": \"hello\"}, \"file_name\": 'Untitled 1', \"sheet_name\": 'Sheet1'}\n- done(): Output this action when you think this instruction is done. Usage Example: {\"action\": \"done\"}\n\n### Latest Action History ###\nNo actions have been taken yet.\n\n### Tips\n\n* On Windows, you absolutely have to double-click to open any desktop icon or folder in File Explorer—one single click will NOT open them. Always double-click.\n* To log on or encounter a pop-up window, use the call_user tool to ask the user to take over. Do not enter account credentials or perform unauthorized operations.\n* Use app-specific tools first, rather than generic cv tools such as cv_click or cv_key.\n\n\n---\nProvide your output in the following format, which contains three parts:\n### Thought ###\nProvide a detailed explanation of your rationale for the chosen action. Please output in Chinese.\n\n### Action ###\nChoose only one action or shortcut from the options provided. IMPORTANT: Do NOT return invalid actions like null or stop. Do NOT repeat previously failed actions multiple times.\nYou must provide your decision using a valid JSON format specifying the `action` and the arguments of the action.\n\n### Description ###\nA brief description of the chosen action and the expected outcome. Please output in Chinese."
},
{
"image": "C:\\0421d463-47ac-4307-8bed-a22df6568cad.png"
}
],
"role": "user"
},
{
"content": [
{
"text": "### Thought ###\nTo open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n### Action ###\n{\"action\": \"click\", \"coordinate\": [35, 1074]}\n\n### Description ###\nClick the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application."
}
],
"role": "assistant"
}
],
"name": "operator",
"response": "### Thought ###\nTo open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n### Action ###\n{\"action\": \"click\", \"coordinate\": [35, 1074]}\n\n### Description ###\nClick the Start button in the lower-left corner of the screen. This opens the Windows Start menu, which lets you search for and open the Calculator application."
},
"manager": {
"messages": [
{
"content": [
{
"text": "You are a helpful assistant.",
"type": "text"
}
],
"role": "system"
},
{
"content": [
{
"text": "You are an agent who can operate a windows computer on behalf of a user. Your goal is to track progress and devise high-level plans to achieve the user's requests.\n\n### User Request ###\nOpen the calculator\nYou can follow these tips:\n\nOn Windows, you absolutely have to double-click to open any desktop icon or folder in File Explorer—one single click will NOT open them. Always double-click.\n\n---\nMake a high-level plan to achieve the user's request. If the request is complex, break it down into subgoals. The screenshot displays the starting state of the computer.\nPlease respond in Chinese.\n\n##### Important Notes #####\n1. Before generating your plan, carefully observe and understand the current state of the computer.\n2. Your plan should contain only necessary steps; however, please include information useful for executing the subgoal in the 'info' field.\n3. Do not include verification steps in your plan. Steps that confirm or validate other subtasks should not be included.\n4. Do not include optional steps in your plan.\n\nProvide your output in the following format which contains three parts:\n\n### Thought ###\nA detailed explanation of your rationale for the plan and subgoals.\n\n### Plan ###\n1. {'name': 'brief description of the first subgoal.', 'info': 'detailed information about executing the first subgoal.'}\n2. {'name': 'brief description of the second subgoal.', 'info': 'detailed information about executing the second subgoal.'}\n...\n\n### Current Subgoal ###\nThe first subgoal's name you should work on.\n\n"
},
{
"image": "C:\\Usersimages\\b5bf3eff-ae32-4dd0-85ee-7ee31c359142.png"
}
],
"role": "user"
},
{
"content": [
{
"text": "### Thought ###\nThe user wants to open the calculator application. The screenshot shows the Windows desktop with various icons, but the calculator icon is not immediately visible. To achieve this, I need to locate and open the calculator. Since it's not on the desktop, I'll assume it might be in the Start menu or another location like the All Apps menu. Therefore, the plan involves accessing the Start menu and finding the calculator there.\n\n### Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'}\n2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Current Subgoal ###\nOpen the Start Menu"
}
],
"role": "assistant"
}
],
"name": "manager",
"response": "### Thought ###\nThe user wants to open the calculator application. The screenshot shows the Windows desktop with various icons, but the calculator icon is not immediately visible. To achieve this, I need to locate and open the calculator. Since it's not on the desktop, I'll assume it might be in the Start menu or another location like the All Apps menu. Therefore, the plan involves accessing the Start menu and finding the calculator there.\n\n### Plan ###\n1. {'name': 'Open the Start Menu', 'info': 'Click on the Start button located at the bottom left corner of the screen to open the Start menu.'}\n2. {'name': 'Locate Calculator', 'info': 'In the Start menu, scroll through the list of applications or use the search bar at the top to find \"Calculator\".'}\n\n### Current Subgoal ###\nOpen the Start Menu"
}
},
"thought": "To open the calculator, I must first open the Start menu. According to the Windows operating system standard, clicking the Start button in the lower-left corner opens the Start menu. This button is usually in the lower-left corner of the screen and has a circular icon with the Windows logo.\n\n"
},
"delta": false,
"object": "content",
"type": "data"
}
],
"id": "msg_e9dd72ea-19fc-4a22-93ee-d97588645f88",
"message": "Success",
"object": "message",
"role": "assistant",
"status": "Success",
"type": "message"
}
],
"session_id": "bee1915d-6f4d-4bfc-b657-ecb9d0ed8dad",
"status": "created"
}
Limits and billing
Free for a limited time.
Status codes
For more information about the general status codes for the large model service platform, see Error messages.