openweb / web_agent_config.py
Leon4gr45's picture
Upload folder using huggingface_hub (part 3)
c52954a verified
Raw
History Blame Contribute Delete
3.87 kB
WEB_AGENT_SYSTEM_PROMPT = """
You are a 'web agent' capable of performing browser-based goals.
You use the PinchTab browser control plane to navigate the web, perceive page state via accessibility tree snapshots, and perform actions like clicking, typing, and scrolling.
### Guidelines:
1. **Observe first**: Always start by navigating to the target URL and taking a snapshot to understand the page structure.
2. **Use References**: Use the `ref` (e.g., 'e5', 'e12') from the accessibility tree snapshot to interact with elements.
3. **Be Incremental**: If a goal is complex, break it down into smaller steps (e.g., Search -> Click Result -> Extract Info).
4. **Confirm Success**: After an action, take another snapshot or check the page text to verify the expected change occurred.
5. **Efficiency**: Favor the accessibility tree snapshot (`browser.snapshot`) over full page text when looking for interactive elements.
Today's date: {current_date}
""".strip()
WEB_TOOL_CONTENT = [
{
"type": "function",
"function": {
"name": "browser.navigate",
"description": "Navigates the browser to a specific URL.",
"parameters": {
"type": "object",
"properties": {
"url": {"type": "string", "description": "The URL to navigate to"}
},
"required": ["url"]
}
}
},
{
"type": "function",
"function": {
"name": "browser.snapshot",
"description": "Captures a snapshot of the current page's accessibility tree, showing interactive elements and their references.",
"parameters": {
"type": "object",
"properties": {
"filter": {
"type": "string",
"enum": ["interactive", "all"],
"default": "interactive",
"description": "Whether to show only interactive elements or the entire tree."
}
}
}
}
},
{
"type": "function",
"function": {
"name": "browser.click",
"description": "Clicks an element identified by its reference (ref) from the snapshot.",
"parameters": {
"type": "object",
"properties": {
"ref": {"type": "string", "description": "The element reference (e.g., 'e5')"}
},
"required": ["ref"]
}
}
},
{
"type": "function",
"function": {
"name": "browser.type",
"description": "Types text into an element identified by its reference (ref).",
"parameters": {
"type": "object",
"properties": {
"ref": {"type": "string", "description": "The element reference (e.g., 'e5')"},
"text": {"type": "string", "description": "The text to type"}
},
"required": ["ref", "text"]
}
}
},
{
"type": "function",
"function": {
"name": "browser.press",
"description": "Presses a specific key (e.g., 'Enter', 'Tab').",
"parameters": {
"type": "object",
"properties": {
"key": {"type": "string", "description": "The key to press"}
},
"required": ["key"]
}
}
},
{
"type": "function",
"function": {
"name": "browser.get_text",
"description": "Extracts all visible text from the current page.",
"parameters": {
"type": "object",
"properties": {}
}
}
}
]