200 lines
8.5 KiB
Plaintext
200 lines
8.5 KiB
Plaintext
# Instruction
|
||
- You are an expert in cleaning process data descriptions. Given a task, you are provided with a set of annotation description
|
||
data for a certain visual LLM related to human user operation videos. Plus, You are provided with full trace of playwright action,
|
||
whic includes action and url before and after the action.
|
||
- You need to analyze all the descriptive data and ultimately summarize a complete and reasonable user operation description that can accomplish the given task.
|
||
- For each strategy, give a clear list of the low level action sequence.
|
||
|
||
# Task
|
||
Vinta wants to check my dotfile configurations. Please invite him to the repo as a guest.
|
||
|
||
# Annotation description
|
||
### Step-by-Step Actions in the Video Segment
|
||
|
||
#### 1. **Initial State**
|
||
- **Action:** The video starts with a view of the GitLab Projects page, showing a list of projects under "All" and "Personal" tabs.
|
||
- **Page Changes:** No immediate changes occur as this is the starting point.
|
||
- **Possible Purpose:** To provide context for the subsequent actions, ensuring the viewer understands the initial environment.
|
||
|
||
#### 2. **Navigating to a Specific Project**
|
||
- **Action:** I click on the project titled "Byte Blaze / ally-syntax-highlighting."
|
||
- **Page Changes:** The page transitions to the project's main dashboard, displaying project details such as activity, repository information, and settings options.
|
||
- **Possible Purpose:** To access the specific project for further actions or configurations.
|
||
|
||
#### 3. **Accessing Project Settings**
|
||
- **Action:** I click on the "Settings" button located in the top navigation bar of the project dashboard.
|
||
- **Page Changes:** The page navigates to the project settings section, where various configuration options are available.
|
||
- **Possible Purpose:** To modify or review the settings related to the project.
|
||
|
||
#### 4. **Navigating to Project Members Section**
|
||
- **Action:** In the left sidebar menu, I click on the "Members" option under the "Project information" section.
|
||
- **Page Changes:** The page updates to display the "Project members" section, showing a list of current members and their roles.
|
||
- **Possible Purpose:** To manage the project members, possibly adding new members or modifying existing ones.
|
||
|
||
#### 5. **Inviting New Members**
|
||
- **Action:** I click on the "Invite members" button at the top right corner of the "Project members" section.
|
||
- **Page Changes:** A modal window titled "Invite members" appears, allowing input for usernames or email addresses and selection of roles.
|
||
- **Possible Purpose:** To initiate the process of inviting new members to the project.
|
||
|
||
#### 6. **Entering Member Information**
|
||
- **Action:** In the "Username or email address" field within the "Invite members" modal, I type "Vivian Chen."
|
||
- **Page Changes:** As I type, the system likely checks for matching users, but no immediate visual feedback is shown in the video.
|
||
- **Possible Purpose:** To specify the user I intend to invite to the project.
|
||
|
||
#### 7. **Selecting Member Role**
|
||
- **Action:** I click on the "Select a role" dropdown menu within the "Invite members" modal.
|
||
- **Page Changes:** The dropdown menu expands, showing different role options such as "Guest," "Reporter," "Developer," etc.
|
||
- **Possible Purpose:** To choose an appropriate role for the invited member, defining their permissions within the project.
|
||
|
||
### Conclusion
|
||
The video segment demonstrates a sequence of actions aimed at navigating through a GitLab project, accessing its settings, and initiating the process of inviting a new member. Each step is methodically executed to achieve the goal of managing project membership.
|
||
|
||
# Playwright action
|
||
[
|
||
{
|
||
"action_uid": "action_0",
|
||
"idx": 0,
|
||
"action_repr": "frame.clickget_by_placeholder(\"Filter by name\")",
|
||
"before": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/"
|
||
},
|
||
"after": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/"
|
||
}
|
||
},
|
||
{
|
||
"action_uid": "link_Byte Blaze\\n/ dotfiles",
|
||
"idx": 1,
|
||
"action_repr": "frame.clickget_by_role(\"link\", name=\"Byte Blaze\\n/ dotfiles\")",
|
||
"before": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
|
||
},
|
||
"after": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
|
||
}
|
||
},
|
||
{
|
||
"action_uid": "label_Members",
|
||
"idx": 2,
|
||
"action_repr": "frame.clickget_by_label(\"Members\")",
|
||
"before": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
|
||
},
|
||
"after": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
|
||
}
|
||
},
|
||
{
|
||
"action_uid": "action_3",
|
||
"idx": 3,
|
||
"action_repr": "frame.clicklocator(\"[data-test-id=\\\"invite-members-button\\\"]\")",
|
||
"before": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
|
||
},
|
||
"after": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
|
||
}
|
||
},
|
||
{
|
||
"action_uid": "menuitem_Vinta Chen vinta",
|
||
"idx": 4,
|
||
"action_repr": "frame.clickget_by_role(\"menuitem\", name=\"Vinta Chen vinta\")",
|
||
"before": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
|
||
},
|
||
"after": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
|
||
}
|
||
},
|
||
{
|
||
"action_uid": "invite-modal",
|
||
"idx": 5,
|
||
"action_repr": "frame.clickget_by_test_id(\"invite-modal\").get_by_role(\"button\", name=\"Invite\")",
|
||
"before": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
|
||
},
|
||
"after": {
|
||
"url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
|
||
}
|
||
}
|
||
]
|
||
|
||
# Output format
|
||
- 先总结整个任务的Objective,然后按照Strategy-SubStrategy-action三级层次来给出整个过程,
|
||
- 接着给出整个操作流程后的观察和有趣的发现,最后严格按照json格式输出三级层次的过程描述。
|
||
- 最后的输出json应该是包在```{json}```之间,最底层动作需要包含描述、对应的playwright动作指令顺序编号,以及具体指令内容。
|
||
|
||
# Example
|
||
### Complete User Operation Description to Display Labeled Issues in kkroening/ffmpeg-python
|
||
|
||
**Objective:** Filter and display all issues labeled as "question" in the kkroening/ffmpeg-python repository.
|
||
|
||
---
|
||
|
||
#### **Strategy 1: Navigate to the Repository**
|
||
**Low-Level Action Sequence:**
|
||
1. **Search for the user "kkroening"**
|
||
- Click the global search bar (placeholder: "Search GitLab").
|
||
- Type "kkroening" and press `Enter`.
|
||
2. **Select the user from results**
|
||
- Click the "Users" tab in search results.
|
||
- Click on "Karl Kroening @kkroening" in the user list.
|
||
3. **Access the repository**
|
||
- Navigate to the "Personal projects" section.
|
||
- Click on the "ffmpeg-python" project.
|
||
|
||
---
|
||
|
||
#### **Strategy 2: Filter Issues by Label**
|
||
**Low-Level Action Sequence:**
|
||
1. **Open the Issues tab**
|
||
- Scroll to the left sidebar menu.
|
||
- Click the "Issues" tab (displaying the count, e.g., "Issues 402").
|
||
2. **Apply label filtering**
|
||
- Click the search/filter bar in the issues list.
|
||
- Select the "Label" dropdown from the filter options.
|
||
- Type or select "question" from the label dropdown.
|
||
- Click the search/apply button to confirm the filter.
|
||
|
||
---
|
||
|
||
#### **Final Oberservation**
|
||
The issues list will refresh to show only issues with the "question" label. The URL will reflect the filter:
|
||
`.../ffmpeg-python/-/issues/?label_name[]=question`.
|
||
|
||
---
|
||
|
||
### Key Observations from Playwright Trace
|
||
- The final URL after filtering:
|
||
`http://ec2-3-135-39-80.../ffmpeg-python/-/issues/?label_name%5B%5D=question`
|
||
confirms the "question" label filter is applied.
|
||
- Critical interactions include selecting the "Label" dropdown and explicitly choosing "question" to refine results.
|
||
|
||
### Final output
|
||
```json
|
||
[{
|
||
"strategy" : "Navigate to the Repository",
|
||
"substrategies": [
|
||
{
|
||
"substrategy": "Search for the user \"kkroening\"",
|
||
"actions" : [
|
||
{
|
||
"description": "Click the global search bar (placeholder: \"Search GitLab\"). ",
|
||
"playwright_idx" : 18,
|
||
"playwright_instruction" : "frame.pressget_by_placeholder(\"Search GitLab\")Enter"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"substrategy": "Select the user from results",
|
||
"actions" : [
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"strategy" : "Filter Issues by Label",
|
||
"substrategies" : [
|
||
]
|
||
}]
|
||
``` |