Skip to content

Add Octotools integration with the CUA Sample App #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

jmanhype
Copy link

@jmanhype jmanhype commented Mar 12, 2025

🛠️ Integrate Octotools Framework with CUA Sample App

📋 Overview

This PR adds integration with the Octotools framework to enhance the reasoning and problem-solving capabilities of the CUA Sample App. Octotools provides a collection of specialized tools that can be leveraged by the agent to perform complex tasks, analyze web content, generate code, and more.

🔧 Changes

  • Octotools Integration: Added core integration with the Octotools framework
  • Multiple Wrapper Options: Included simple, minimal, and complete wrapper implementations
  • Agent Enhancement: Enhanced the Agent class to optionally use Octotools for complex reasoning
  • CLI Support: Added command-line arguments to enable Octotools integration
  • New Tools Support: Added support for various Octotools tools including:
    • Text Detection
    • URL Text Extraction
    • Python Code Generation
    • Generalist Solution Generation
    • Nature News Fetching
  • Documentation: Added comprehensive integration documentation in docs/octotools_integration_guide.md

📚 Usage

To run the CUA Sample App with Octotools integration:

python main.py --use-octotools

For more advanced usage with specific tools:

python run_octotools_agent.py --tools "Python_Code_Generator_Tool,Text_Detector_Tool,URL_Text_Extractor_Tool"

🧪 Testing

Tests have been added to verify the Octotools integration:

  • test_octotools.py: Basic integration tests
  • test_simple_octotools.py: Tests for the simple wrapper
  • test_full_octotools.py: Tests for the complete wrapper

🔍 Future Work

  • Add more specialized tools from the Octotools ecosystem
  • Improve the tool selection logic based on query analysis
  • Add integration with more LLM providers

📝 Note

This integration requires additional API keys for certain tools, which are documented in the integration guide.

@ibigio
Copy link
Collaborator

ibigio commented Apr 21, 2025

tl;dr please adhere to new computer structure and contributing process

Hi! Thanks for your contribution – we'd love to get it reviewed and merged. To better support custom CUA computers we've created a contrib directory to co-locate community contributions and automatically run basic smoke tests.

Please make sure you complete the three main steps:

  1. Move computers/contrib and update configs
  2. Pass tests & do manual testing
  3. Submit PR with required information

These are explained in detail in the contributing section of the README.

Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants