block-open-source / goose-plugins

Apache License 2.0
3 stars 1 forks source link

🌐 Create a Web Content Reader Toolkit for Goose #11

Open blackgirlbytes opened 1 week ago

blackgirlbytes commented 1 week ago

🌐 Create a Web Content Reader Toolkit for Goose

Help extend Goose's capabilities by creating a toolkit that allows it to read and process content from web links. This will enable our AI developer agent to access and analyze online information directly.

🎯 Objective

Develop a toolkit that enables Goose to open web links in a browser, extract content, and make it available for further processing or analysis.

🛠️ Implementation

  1. Create a new class that derives from the Toolkit class
  2. Implement tools as methods decorated with @tool
  3. Provide a system() method for any necessary system instructions

✨ Key Features to Consider

  1. Open web links in a headless browser (e.g., using Selenium or Playwright)
  2. Extract text content from web pages
  3. Handle different types of web content (articles, documentation, etc.)
  4. Implement basic web scraping capabilities
  5. Provide options for content summarization or specific data extraction

📋 Requirements

🚀 Getting Started

  1. Fork the Goose repository (or goose-plugins if appropriate)
  2. Add your toolkit class (e.g., class WebContentReader(Toolkit):)
  3. Implement necessary tools for web content reading and processing
  4. Update pyproject.toml to expose the new toolkit
  5. Create a sample profile in profiles.yaml that uses the new toolkit

📚 Toolkit Integration

[project.entry-points."goose.toolkit"]
web-content-reader = "goose.toolkit.web_content_reader:WebContentReader"

For detailed instructions on creating toolkits, refer to our documentation. We welcome contributions of all levels. If you have any questions, feel free to ask in the comments!

SarangShelke2304 commented 2 days ago

Hi, is anyone working on this? can I work on it?

blackgirlbytes commented 2 days ago

yes you can work on it! @SarangShelke2304 !!! please let me know if you need assistance.