Skip to content

MenadBt/prospection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Toggle Agent

A multi-agent system built with Google ADK that automates toggling freelance availability status on Malt.fr.

Architecture

┌─────────────────────────────────────┐
│           root_agent                │
│      (Orchestrator - lightweight)   │
│                                     │
│  Tools:                             │
│  ├── AgentTool(malt_browser_agent)  │
│  └── AgentTool(email_agent)         │
└─────────────────────────────────────┘
                  │
        ┌─────────┴─────────┐
        ▼                   ▼
┌───────────────┐    ┌───────────────┐
│ malt_browser  │    │  email_agent  │
│    _agent     │    │               │
│               │    │ Gmail access  │
│ Malt.fr       │    │ Get verify    │
│ login/toggle  │    │ codes         │
└───────────────┘    └───────────────┘

Agents

Agent Purpose
root_agent Orchestrates the workflow, delegates to sub-agents
malt_browser_agent Handles Malt.fr browser automation (login, toggle status)
email_agent Retrieves email verification codes from Gmail

Prerequisites

  • Python 3.13+
  • Node.js (for Playwright MCP)
  • Chrome browser
  • Groq API key

Installation

# Clone and navigate to project
cd prospection

# Install dependencies
uv sync

# Install Playwright browsers
npx playwright install chrome

Configuration

Copy the example environment file and fill in your credentials:

cp toggle_agent/.env.example toggle_agent/.env

Edit .env:

GROQ_API_KEY=your-groq-api-key
MALT_PASSWORD=your-malt-password

Usage

Option 1: Direct execution (recommended)

cd toggle_agent
uv run python main.py

This runs the agent end-to-end without any manual interaction.

Option 2: Interactive mode

cd toggle_agent
adk run .

Then type run when prompted to start the agent.

How It Works

  1. Root agent receives the task and delegates to malt_browser_agent
  2. Malt browser agent navigates to Malt.fr, logs in, and toggles availability
  3. If email verification is required, root agent calls email_agent
  4. Email agent retrieves the verification code from Gmail
  5. Root agent passes the code back to continue the flow

Tech Stack

  • Google ADK - Agent Development Kit for multi-agent orchestration
  • LiteLLM - Unified LLM interface
  • Groq - Fast inference provider (using Kimi K2 model)
  • Playwright MCP - Browser automation via Model Context Protocol

Model

Currently using moonshotai/kimi-k2-instruct-0905 via Groq:

  • 262K context window
  • Excellent tool/function calling support
  • Fast inference

Project Structure

toggle_agent/
├── main.py         # Entrypoint - run agent programmatically
├── agent.py        # Multi-agent definitions
├── playright.py    # Custom Playwright computer (optional)
├── .env            # Environment variables (not committed)
├── .env.example    # Environment template
├── .gitignore      # Git ignore rules
└── __init__.py     # Package init

License

Private

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published