Crawler Summary

BandAI answer-first brief

BandAI is a CrewAI-powered multi-agent orchestration platform that automates the discovery, adversarial legal evaluation, and proposal generation for Italian public tenders (bandi) BandAI πŸ›οΈπŸ€– $1 $1 $1 $1 **Turning bureaucracy into competitive intelligence.** BandAI is a multi-agent decision intelligence platform designed to automate the discovery, evaluation, and proposal generation for Italian public tenders (*bandi pubblici*). Built on top of $1, BandAI helps SMEs overcome the bureaucratic friction of public procurement. --- πŸ›‘ The Problem Italian SMEs consistently fail to participate in pu Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 5/29/2026.

Freshness

Last checked 5/29/2026

Best For

BandAI is best for crewai, multi-agent workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB REPOS, runtime-metrics, public facts pack

Claim this agent
Agent DossierGITHUB REPOSSafety: 66/100

BandAI

BandAI is a CrewAI-powered multi-agent orchestration platform that automates the discovery, adversarial legal evaluation, and proposal generation for Italian public tenders (bandi) BandAI πŸ›οΈπŸ€– $1 $1 $1 $1 **Turning bureaucracy into competitive intelligence.** BandAI is a multi-agent decision intelligence platform designed to automate the discovery, evaluation, and proposal generation for Italian public tenders (*bandi pubblici*). Built on top of $1, BandAI helps SMEs overcome the bureaucratic friction of public procurement. --- πŸ›‘ The Problem Italian SMEs consistently fail to participate in pu

OpenClawself-declared

Public facts

4

Change events

0

Artifacts

0

Freshness

May 29, 2026

Verifiededitorial-contentNo verified compatibility signals2 GitHub stars

Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 5/29/2026.

2 GitHub starsTrust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

May 29, 2026

Vendor

Alessandro624

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 5/29/2026.

Setup snapshot

  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Alessandro624

profilemedium
Observed May 29, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed May 29, 2026Source linkProvenance
Adoption (1)

Adoption signal

2 GitHub stars

profilemedium
Observed May 29, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB REPOS

Extracted files

0

Examples

5

Snippets

0

Languages

python

Executable Examples

text

BandAI/
β”œβ”€β”€ src/bandai/
β”‚   β”œβ”€β”€ main.py              # Thin entry point, CLI parsing, config validation
β”‚   β”œβ”€β”€ flow.py              # CrewAI Flow - full pipeline orchestration
β”‚   β”œβ”€β”€ crews/
β”‚   β”‚   β”œβ”€β”€ scout_crew.py    # Tender discovery + deduplication
β”‚   β”‚   β”œβ”€β”€ compliance_crew.py  # Advocate/Auditor debate + verdict
β”‚   β”‚   └── proposal_crew.py    # Department auction + proposal writing
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ models.py        # 8 pipeline Pydantic models
β”‚   β”‚   └── knowledge.py     # 3 knowledge models: CompanyProfile, DepartmentProfile, PastContract
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   β”œβ”€β”€ __init__.py     # Re-exports all config symbols
β”‚   β”‚   β”œβ”€β”€ _constants.py   # PROVIDERS, LLMProfile, ProviderProfile, NO-GO keywords
β”‚   β”‚   β”œβ”€β”€ _env.py         # EnvOverrides, get_active_provider, get_api_key
β”‚   β”‚   β”œβ”€β”€ llm.py          # get_llm (lru_cached)
β”‚   β”‚   β”œβ”€β”€ embedder.py     # OpenRouterEmbeddingFunction, get_embedder (lru_cached)
β”‚   β”‚   β”œβ”€β”€ memory.py       # get_memory
β”‚   β”‚   β”œβ”€β”€ validation.py   # validate_config
β”‚   β”‚   β”œβ”€β”€ portals.py      # Portal YAML loader, weight computation
β”‚   β”‚   └── *.yaml          # Agent and task definitions per crew
β”‚   β”œβ”€β”€ tools/
β”‚   β”‚   └── crawler_tools.py # 4 custom CrewAI tools
β”‚   └── knowledge_sources.py # StringKnowledgeSource factory
β”œβ”€β”€ knowledge/
β”‚   └── company_profile.json # Single source of truth for company data
β”œβ”€β”€ tests/
β”‚   └── test_*.py            # 109 tests across 30 test classes
β”œβ”€β”€ docs/                    # Full technical documentation
β”œβ”€β”€ AGENTS.md                # CrewAI coding reference for AI assistants
β”œβ”€β”€ pyproject.toml           # v0.4.0, crewai[tools]==1.14.4, project scripts
└── .env                     # API keys (not committed)

bash

git clone <repo-url> && cd BandAI
crewai install

bash

# LLM Provider (openrouter, anthropic, openai, ollama)
LLM_PROVIDER=openrouter
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxx

# Optional: override models and parameters
MAIN_MODEL=anthropic/claude-sonnet-4-20250514      # reasoning-heavy tasks
FAST_MODEL=openai/gpt-4o-mini                     # parallel tasks
PROVIDER_BASE_URL=http://localhost:11434          # for local servers

# Optional: configure embedder for RAG/memory
EMBEDDER_PROVIDER=ollama
EMBEDDER_MODEL=mxbai-embed-large
EMBEDDER_BASE_URL=http://localhost:11434

# Optional: disable memory
DISABLE_MEMORY=true

bash

# Full pipeline (scout + compliance + proposal)
bandai

# Scout only - discover tenders, print results
bandai --mode scout

# Propose for a known contract (skip scouting)
bandai --mode propose --contract GD-2026-00123

# Generate stakeholder HTML report from output/
bandai --mode report

# Validate config without LLM calls
bandai --dry-run

bash

# Full non-LLM test suite (recommended for PRs and pre-demo)
uv run pytest -q -m "not llm"

# Or run with verbose output
uv run pytest tests/ -v

# Or via the project script
uv run pytest_unit

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB REPOS

Docs source

GITHUB REPOS

Editorial quality

ready

BandAI is a CrewAI-powered multi-agent orchestration platform that automates the discovery, adversarial legal evaluation, and proposal generation for Italian public tenders (bandi) BandAI πŸ›οΈπŸ€– $1 $1 $1 $1 **Turning bureaucracy into competitive intelligence.** BandAI is a multi-agent decision intelligence platform designed to automate the discovery, evaluation, and proposal generation for Italian public tenders (*bandi pubblici*). Built on top of $1, BandAI helps SMEs overcome the bureaucratic friction of public procurement. --- πŸ›‘ The Problem Italian SMEs consistently fail to participate in pu

Full README

BandAI πŸ›οΈπŸ€–

Python 3.11+ Tests CrewAI Code style: black

Turning bureaucracy into competitive intelligence.

BandAI is a multi-agent decision intelligence platform designed to automate the discovery, evaluation, and proposal generation for Italian public tenders (bandi pubblici). Built on top of CrewAI, BandAI helps SMEs overcome the bureaucratic friction of public procurement.


πŸ›‘ The Problem

Italian SMEs consistently fail to participate in public tenders due to:

  • Fragmented Discovery: Tenders are scattered across hundreds of municipal and national portals.
  • Bureaucratic Friction: Opaque requirements, dense legal jargon, and strict compliance metrics.
  • High Cost of Bidding: Assembling a compliant technical and administrative response requires expensive cross-functional collaboration.

πŸ’‘ The Solution

BandAI orchestrates a specialized crew of AI agents in a strict, deterministic pipeline. By utilizing adversarial debate for legal compliance and auction-based mechanisms for document synthesis, BandAI ensures that companies only bid on viable tenders and produce mathematically compliant, evidence-backed proposals.


πŸ—οΈ Multi-Agent Architecture

BandAI runs a deterministic three-phase pipeline orchestrated by a CrewAI Flow. Each phase is a separate Crew with specialized agents, guardrails, and structured Pydantic outputs.

Phase 1 - Scout

Crawls configured procurement portals in parallel, deduplicates results via weighted consensus polling, and filters by user preferences. Output: a ranked list of ResolvedContract objects with canonical metadata.

Agents: Portal-specific Crawlers, Resolution Arbiter, Preference Filter.

Phase 2 - Compliance

Runs an adversarial debate between an Advocate (optimistic bid manager) and an Auditor (former ANAC inspector). A Compliance Officer synthesizes both into a binding verdict: GO, NO-GO, or CONDITIONAL-GO. CONDITIONAL-GO triggers a human review loop with configurable iteration limits.

Agents: Advocate, Auditor, Compliance Officer, Re-evaluator.

Phase 3 - Proposal

Each company department submits a bid for inclusion. An Auctioneer applies a fixed composite scoring formula to select the best-evidenced content within a word budget. A Proposal Architect writes the final Italian offerta tecnica.

Agents: Department Representatives, Auctioneer, Proposal Architect.


πŸ“š Architecture Documentation

Full technical docs are in docs/ - start with docs/README.md for the index.

Quick links:

| Doc | What it covers | | ----- | --------------- | | Main Pipeline | Flow state machine, modes, transitions, outputs | | Crews | All three crews: agents, tasks, build signatures | | Data Models | 11 Pydantic models with field-level reference | | Tools | 4 custom tools, input schemas, current status | | Configuration | Env vars, providers, portals, validation | | Characters | Agent personas, roles, behavioral traits | | Flow State Machine | Every transition mapped with routing logic | | Knowledge System | StringKnowledgeSource, chunking, RAG pipeline | | CLI Reference | bandai, bandai --mode report, bandai --dry-run, CrewAI utilities | | Testing | Test strategy, layers, commands, mocking, fixtures |


Project Structure

BandAI/
β”œβ”€β”€ src/bandai/
β”‚   β”œβ”€β”€ main.py              # Thin entry point, CLI parsing, config validation
β”‚   β”œβ”€β”€ flow.py              # CrewAI Flow - full pipeline orchestration
β”‚   β”œβ”€β”€ crews/
β”‚   β”‚   β”œβ”€β”€ scout_crew.py    # Tender discovery + deduplication
β”‚   β”‚   β”œβ”€β”€ compliance_crew.py  # Advocate/Auditor debate + verdict
β”‚   β”‚   └── proposal_crew.py    # Department auction + proposal writing
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ models.py        # 8 pipeline Pydantic models
β”‚   β”‚   └── knowledge.py     # 3 knowledge models: CompanyProfile, DepartmentProfile, PastContract
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   β”œβ”€β”€ __init__.py     # Re-exports all config symbols
β”‚   β”‚   β”œβ”€β”€ _constants.py   # PROVIDERS, LLMProfile, ProviderProfile, NO-GO keywords
β”‚   β”‚   β”œβ”€β”€ _env.py         # EnvOverrides, get_active_provider, get_api_key
β”‚   β”‚   β”œβ”€β”€ llm.py          # get_llm (lru_cached)
β”‚   β”‚   β”œβ”€β”€ embedder.py     # OpenRouterEmbeddingFunction, get_embedder (lru_cached)
β”‚   β”‚   β”œβ”€β”€ memory.py       # get_memory
β”‚   β”‚   β”œβ”€β”€ validation.py   # validate_config
β”‚   β”‚   β”œβ”€β”€ portals.py      # Portal YAML loader, weight computation
β”‚   β”‚   └── *.yaml          # Agent and task definitions per crew
β”‚   β”œβ”€β”€ tools/
β”‚   β”‚   └── crawler_tools.py # 4 custom CrewAI tools
β”‚   └── knowledge_sources.py # StringKnowledgeSource factory
β”œβ”€β”€ knowledge/
β”‚   └── company_profile.json # Single source of truth for company data
β”œβ”€β”€ tests/
β”‚   └── test_*.py            # 109 tests across 30 test classes
β”œβ”€β”€ docs/                    # Full technical documentation
β”œβ”€β”€ AGENTS.md                # CrewAI coding reference for AI assistants
β”œβ”€β”€ pyproject.toml           # v0.4.0, crewai[tools]==1.14.4, project scripts
└── .env                     # API keys (not committed)

πŸš€ Getting Started

Prerequisites

  • Python 3.11-3.13
  • UV package manager (pip install uv)
  • API key for an LLM provider (OpenRouter recommended)

Installation

git clone <repo-url> && cd BandAI
crewai install

Configuration

Create .env in the project root with your LLM provider credentials:

# LLM Provider (openrouter, anthropic, openai, ollama)
LLM_PROVIDER=openrouter
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxx

# Optional: override models and parameters
MAIN_MODEL=anthropic/claude-sonnet-4-20250514      # reasoning-heavy tasks
FAST_MODEL=openai/gpt-4o-mini                     # parallel tasks
PROVIDER_BASE_URL=http://localhost:11434          # for local servers

# Optional: configure embedder for RAG/memory
EMBEDDER_PROVIDER=ollama
EMBEDDER_MODEL=mxbai-embed-large
EMBEDDER_BASE_URL=http://localhost:11434

# Optional: disable memory
DISABLE_MEMORY=true

Edit knowledge/company_profile.json with your company data (name, VAT, certifications, turnover, departments, past contracts). The profile is validated at startup - missing fields produce clear error messages.

Full configuration guide: See docs/architecture/configuration.md.

Running

# Full pipeline (scout + compliance + proposal)
bandai

# Scout only - discover tenders, print results
bandai --mode scout

# Propose for a known contract (skip scouting)
bandai --mode propose --contract GD-2026-00123

# Generate stakeholder HTML report from output/
bandai --mode report

# Validate config without LLM calls
bandai --dry-run

Tests

# Full non-LLM test suite (recommended for PRs and pre-demo)
uv run pytest -q -m "not llm"

# Or run with verbose output
uv run pytest tests/ -v

# Or via the project script
uv run pytest_unit

109 tests covering config validation, providers, portals, knowledge models, pipeline models, knowledge sources, flow structure, utility functions, guardrail validation callbacks, embedder configuration, memory, and mocked integration flow. See docs/testing.md for the full test strategy and CrewAI mocking approach.


Key Features

  • Deterministic flow - CrewAI Flow with @start, @listen, @router. No ambiguity in execution order.
  • Adversarial compliance - Advocate vs. Auditor debate produces balanced GO/NO-GO decisions.
  • Human-in-the-loop - Preference input at start, conditional review during compliance.
  • Departmental auction - Fixed composite scoring (relevance 50%, evidence 35%, coverage 15%) selects best proposal content.
  • Structured outputs - All agent outputs are Pydantic models with guardrails. No unstructured text in the pipeline.
  • Multi-provider LLM - OpenRouter, Anthropic, OpenAI, Ollama. Switch via one env var.
  • Knowledge system - Company profile embedded via StringKnowledgeSource for semantic RAG retrieval.
  • Memory - Crew-level memory=get_memory() for cross-session learning.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB REPOS

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
Github OpenclewUpdated 4mo agoRank 65

@x1pay/langchain

LangChain/LangGraph tools for AI agent x402 payments on X1

OPENCLAW
Github OpenclewUpdated 4mo agoRank 65

oceanbus-langchain

LangChain tools for OceanBus β€” give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.

OPENCLAWoceanbuslangchainlangchain-tools
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_REPOS",
      "generatedAt": "2026-10-09T00:10:13.223Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "crewai",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "multi-agent",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "label": "Vendor",
    "value": "Alessandro624",
    "category": "vendor",
    "href": "https://github.com/Alessandro624/BandAI",
    "sourceUrl": "https://github.com/Alessandro624/BandAI",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-05-29T06:56:54.658Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "protocols",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "category": "compatibility",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-05-29T06:56:54.658Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "traction",
    "label": "Adoption signal",
    "value": "2 GitHub stars",
    "category": "adoption",
    "href": "https://github.com/Alessandro624/BandAI",
    "sourceUrl": "https://github.com/Alessandro624/BandAI",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-05-29T06:56:54.658Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "handshake_status",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "category": "security",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-alessandro624-bandai/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true,
    "metadata": {}
  }
]

Change Events JSON

[]

Sponsored

Ads related to BandAI and adjacent AI workflows.