Skip to content

Enhanced web browsing capabilities #5179

Description

@Pwuts

Background

Currently, all Auto-GPT can do is view_webpage. This returns the body text of the webpage, or a summarized version thereof. This is quite limiting compared to a human's capability to literally browse a website.

Also, it doesn't distinguish between primary content and annoying popups very well, clouding the LLM's perception of the page (partially addressed by #3519).

Proposal 🏗️

  • New command browse_website(url: str, task: str)
  • BrowserAgent that is attached to a browser window through a Selenium/Playwright instance
    • Executes the given task (e.g. "find the price of the book") and returns the result to the parent Agent
    • Specialized set of available actions/commands:
      • follow_link(url: str): asserts that the given link is on the page and navigates there
      • go_back(): goes to the previous page
      • make_screenshot()
      • report_task_result(result: str) for when the task has been completed
      • terminate(reason: str) for when the task can't be completed
      • input_text(input_field_id: str, text: str)
      • click_button(button_id: str)
      • ...
    • Tailored prompt
      1. AI config (personality)
      2. User-given task
      3. Browsing history
      4. Current page content (truncated / summary)
      5. Available actions
      6. Response format

Primary requirements

  • Must always report_task_result with a result that makes sense for the given task
  • Must recognize when it can't fulfill a task and terminate if so

Parts

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    function: browsemetaMeta-issue about a topic that multiple issues already exist for

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    Status
    ✅ Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions