block / goose

Goose is a developer agent that operates from your command line to help you do the boring stuff.
https://block.github.io/goose/
Apache License 2.0
108 stars 17 forks source link

๐ŸŽƒ Hacktoberfest: Extend web browsing in the developer toolkit to support multiple browser engines beyond Chromium (e.g., Firefox, WebKit) #170

Open blackgirlbytes opened 5 days ago

blackgirlbytes commented 5 days ago

๐ŸŽƒ Hacktoberfest: Extend Developer Toolkit Web Browsing

๐ŸŒ Support Multiple Browser Engines (Chromium, Firefox, WebKit)

๐Ÿ“ Description

The Developer toolkit currently supports web browsing via the fetch_web_content method, but it's limited to Chromium. We need to expand this to support Firefox and WebKit for improved versatility and compatibility.

๐ŸŽฏ Objective

Enhance fetch_web_content to allow users to choose between Chromium, Firefox, and WebKit for web content fetching.

๐Ÿ› ๏ธ Implementation Steps

  1. Update fetch_web_content to accept a browser option
  2. Implement browser selection logic using Playwright
  3. Add error handling for unsupported browser options
  4. Update documentation for new browser options
  5. Extend test suite to cover all supported browsers

โœจ Key Features

๐Ÿš€ Getting Started

  1. Fork the repository
  2. Review the documentation
  3. Locate fetch_web_content in the Developer toolkit
  4. Implement browser selection logic
  5. Add tests for Firefox and WebKit
  6. Update toolkit documentation

๐Ÿ’ป Running Locally

Prerequisites

Setup

  1. Clone Goose repository
  2. Install uv
  3. Run uv in your local Goose directory to set up the virtualenv and install dependencies

Development Commands

๐Ÿ“š Example Usage

After implementation:

content_path = toolkit.fetch_web_content(url, browser_name="firefox")

๐Ÿงช Testing Checklist

๐Ÿ“˜ Documentation Updates

We welcome contributions of all levels. If you have questions, please ask in the comments!