Gobuddy is a WebSocket-based web automation tool powered by Gemini LLM, a custom scraper, and ChromeDP. It enables intelligent user request handling and automation for seamless web interactions.
- Leverages Gemini LLM to understand and process user instructions.
- Uses ChromeDP to perform real user-like actions such as clicking, scrolling, and filling forms.
- Custom scraper extracts structured data from HTML, capturing full context including metadata and layout information.
- Executes complex tasks like login, navigation, and data extraction in a seamless, automated sequence.
Watch Gobuddy in action! Below are some demo videos showcasing its capabilities:
- Downloading demo
https://github.com/user-attachments/assets/8174f4f3-1ab4-4dac-a282-e209ce3c61bd - Navigation demo
https://drive.google.com/file/d/1f8BsMEFbHKN8JT23Omq970nLsjEY3en6/view?usp=sharing - Auth demo
https://github.com/user-attachments/assets/79670f5b-635a-4b22-bde1-e925afd060fb
- Go: The programming language used for the backend (version 1.25.1).
- Gin: A high-performance HTTP web framework for routing and handling HTTP requests (
github.com/gin-gonic/gin v1.10.1). - WebSocket: Real-time bidirectional communication using the Gorilla WebSocket library (
github.com/gorilla/websocket v1.5.3). - CORS: Cross-Origin Resource Sharing support for enabling secure cross-domain requests (
github.com/gin-contrib/cors v1.7.6). - godotenv: Environment variable management for configuration (
github.com/joho/godotenv v1.5.1). - Testcontainers: Integration testing with Docker containers.
- MySQL: Database integration using the MySQL driver (
github.com/go-sql-driver/mysql v1.9.3). - GenAI: Enables integration with Google's generative AI services. (
google.golang.org/genai).
Build the application
make buildClean up binary from the last build:
make cleanRun the application
make runDB Integrations Test:
make itestLive reload the application:
make watchRun the test suite:
make testNote
Not in use
Create DB container
make docker-runShutdown DB Container
make docker-down