Skip to main content

A highly flexible multi-agent ReAct framework powered by Google Gemini

Project description

🐝 Swarm Intelligence Framework

PyPI version License: MIT GitHub stars

Swarm is a professional, highly flexible multi-agent intelligence framework powered by Google's Gemini 3.1 Flash Lite. It allows an arbitrary number of autonomous agents to collaborate, use system tools, execute code, and perform web searches in a shared environmental context.

🚀 Key Features

  • N-Agent Support: Run as many agents as your tasks require.
  • Autonomous Toolchain: Agents use web_search and shell_exec to solve complex problems.
  • Dynamic Configuration: Configure any agent parameter (name, model, temperature, system prompt) directly via CLI flags.
  • Handover Logic: Agents can autonomously pass control to specific peers using the pass_turn tool.
  • Shared Environment: Tool execution outputs are shared with all agents via automatic System Reports.
  • Files API Integration: Agents can upload and analyze local files (PDFs, images, logs) on the fly.
  • Smart Sandboxing: Per-agent regex blacklists for terminal commands and file system paths.
  • Persistent Sessions: Save and load complete Swarm states, including histories and turn orders.

🛠 Installation

pip install swarmai

Requires Python 3.9+ and a Google Gemini API Key.

💻 Quick Start

Basic Two-Agent Discussion

swarm --keys YOUR_API_KEY --agents_count 2

Autonomous Developer & Auditor

swarm --keys YOUR_API_KEY \
      --first_msg "Write a secure Python data scraper" \
      --ai1_name "Dev" --ai1_sys "You are a senior coder." \
      --ai2_name "Security" --ai2_sys "You look for vulnerabilities."

⚙️ Advanced CLI Configuration

Swarm uses a dynamic argument system. You can prefix any standard parameter with aiN_ to target a specific agent:

  • --ai1_model "gemini-1.5-pro" (Use a heavier model for the lead agent)
  • --ai2_temp 0.1 (Make the auditor more deterministic)
  • --ai3_name "Researcher" (Set a custom name for the 3rd agent)
  • --cmd_blacklist "rm" "sudo" (Global security policy)

Global Parameters:

  • --agents_count: Number of agents in session (default: 2).
  • --log_level: DEBUG, INFO, or WARNING.
  • --no_pause: Disable "Press Enter" delays for fully autonomous runs.
  • --config: Path to a JSON file containing all these parameters.

⌨️ Command Center (Ctrl+C)

Press Ctrl+C during execution to pause the Swarm and access the interactive menu:

  1. Change Keys: Rotate or update API keys on the fly.
  2. Toggle Pauses: Switch between manual and autonomous modes.
  3. Save State: Export the entire session to a JSON file.
  4. Inject Directive: Manually "whisper" a command to one or all agents.
  5. Log Level: Adjust verbosity without restarting.

📄 Tool Documentation

  • web_search: Browses the web for real-time data.
  • shell_exec: Runs bash commands. Supports complex multi-line scripts.
  • upload_file: Uploads local assets to the AI context.
  • pass_turn: Moves the turn to a specific agent by name.

🤝 Contributing

Swarm is maintained by ProgVM.

Feel free to open issues or submit pull requests for new features!

License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swarmai-1.0.3.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swarmai-1.0.3-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file swarmai-1.0.3.tar.gz.

File metadata

  • Download URL: swarmai-1.0.3.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for swarmai-1.0.3.tar.gz
Algorithm Hash digest
SHA256 84ea7d9aa5807bf2312e7bd8d63071dd47225b1780388a7a25c441581c390981
MD5 7c4235c746a429673ae9163c64c610d9
BLAKE2b-256 cc11bd808190f69e93cdea6c2f19f02a1b196b53efe592a8f734699b26e44d8b

See more details on using hashes here.

File details

Details for the file swarmai-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: swarmai-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for swarmai-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 71a82062afb60f5a0b9537eea9311bd77a2d74ca865cb6f6af38b80d55f7e21e
MD5 e11b54661b117d420ddb8194bc0136a5
BLAKE2b-256 9c9b96c5ce8aa0f5bdca6c1fa4b19d210d76a8e4433ae041e155b717a27a54e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page