Crawler Summary

competeflow answer-first brief

Multi-agent competitive intelligence system built with CrewAI, Ollama, and ChromaDB. 4 autonomous agents scrape competitor websites, track news, analyze features, and generate battle cards β€” fully local, no API costs. Python + Streamlit dashboard. πŸ” CompeteFlow β€” Local Competitive Intelligence Agent **A fully local, multi-agent AI system built with CrewAI + Ollama that autonomously gathers, analyses, and reports on competitor intelligence β€” no cloud APIs, no SaaS subscriptions, no data leaving your machine.** $1 $1 $1 $1 $1 $1 $1 --- 🎯 What CompeteFlow Does CompeteFlow runs a **CrewAI multi-agent pipeline** that autonomously: | Capability | What it does | To Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.

Freshness

Last checked 10/9/2026

Best For

competeflow 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

Agent DossierGITHUB REPOSSafety: 66/100

competeflow

Multi-agent competitive intelligence system built with CrewAI, Ollama, and ChromaDB. 4 autonomous agents scrape competitor websites, track news, analyze features, and generate battle cards β€” fully local, no API costs. Python + Streamlit dashboard. πŸ” CompeteFlow β€” Local Competitive Intelligence Agent **A fully local, multi-agent AI system built with CrewAI + Ollama that autonomously gathers, analyses, and reports on competitor intelligence β€” no cloud APIs, no SaaS subscriptions, no data leaving your machine.** $1 $1 $1 $1 $1 $1 $1 --- 🎯 What CompeteFlow Does CompeteFlow runs a **CrewAI multi-agent pipeline** that autonomously: | Capability | What it does | To

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Oct 9, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Oct 9, 2026

Vendor

Ashishsharmadev

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. Last updated 10/9/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

Ashishsharmadev

profilemedium
Observed Oct 9, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Oct 9, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source 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

6

Snippets

0

Languages

python

Executable Examples

text

╔══════════════════════════════════════════════════════════════════╗
β•‘                     CompeteFlow Crew                             β•‘
β•‘                  (CrewAI Sequential Process)                     β•‘
╠══════════════════════════════════════════════════════════════════╣
β•‘                                                                  β•‘
β•‘  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β•‘
β•‘  β”‚  AGENT 1 β€” WebScraperAgent                              β”‚    β•‘
β•‘  β”‚  Role: Competitor Website Intelligence Specialist        β”‚    β•‘
β•‘  β”‚  Tools: scrape_website, extract_pricing,                β”‚    β•‘
β•‘  β”‚         detect_changes, store_snapshot                  β”‚    β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•‘
β•‘                          β”‚ output (website intel)               β•‘
β•‘                          β–Ό                                       β•‘
β•‘  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β•‘
β•‘  β”‚  AGENT 2 β€” NewsTrackerAgent                             β”‚    β•‘
β•‘  β”‚  Role: Competitive News and Social Intelligence Analyst  β”‚    β•‘
β•‘  β”‚  Tools: fetch_news_api, fetch_rss_feeds,                β”‚    β•‘
β•‘  β”‚         fetch_reddit_mentions, classify_sentiment        β”‚    β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•‘
β•‘                          β”‚ output (news + sentiment)            β•‘
β•‘                          β–Ό (+ website context)                  β•‘
β•‘  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β•‘
β•‘  β”‚  AGENT 3 β€” AnalyzerAgent                                β”‚    β•‘
β•‘  β”‚  Role: Competitive Intelligence Analyst                  β”‚    β•‘
β•‘  β”‚  Tools: embed_and_store, retrieve_context,              β”‚    β•‘
β•‘  β”‚         extract_features, compare_competitors,           β”‚    β•‘
β•‘  β”‚         identify_gaps                                   β”‚    β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•‘
β•‘                          β”‚ output (full analysis)               β•‘
β•‘                

text

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  BackgroundScheduler (daemon thread)             β”‚
β”‚                                                  β”‚
β”‚  Weekly (Mon 8am UTC)                            β”‚
β”‚    └─► Full 4-agent pipeline, all competitors   β”‚
β”‚                                                  β”‚
β”‚  Daily (9:30am UTC)                              β”‚
β”‚    └─► News-only run, all competitors            β”‚
β”‚                                                  β”‚
β”‚  Manual (Streamlit "Run Now" button)             β”‚
β”‚    └─► Full or news run, single competitor      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

cmd

ollama pull mistral

cmd

git clone https://github.com/YOUR_USERNAME/competeflow.git
cd competeflow
python -m venv venv
venv\Scripts\activate

powershell

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
venv\Scripts\Activate.ps1

cmd

pip install --upgrade pip

REM Install PyTorch CPU-only first (saves ~2GB vs GPU version)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

REM Install all other dependencies
pip install -r requirements.txt

Docs & README

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

Self-declaredGITHUB REPOS

Docs source

GITHUB REPOS

Editorial quality

ready

Multi-agent competitive intelligence system built with CrewAI, Ollama, and ChromaDB. 4 autonomous agents scrape competitor websites, track news, analyze features, and generate battle cards β€” fully local, no API costs. Python + Streamlit dashboard. πŸ” CompeteFlow β€” Local Competitive Intelligence Agent **A fully local, multi-agent AI system built with CrewAI + Ollama that autonomously gathers, analyses, and reports on competitor intelligence β€” no cloud APIs, no SaaS subscriptions, no data leaving your machine.** $1 $1 $1 $1 $1 $1 $1 --- 🎯 What CompeteFlow Does CompeteFlow runs a **CrewAI multi-agent pipeline** that autonomously: | Capability | What it does | To

Full README

πŸ” CompeteFlow β€” Local Competitive Intelligence Agent

A fully local, multi-agent AI system built with CrewAI + Ollama that autonomously gathers, analyses, and reports on competitor intelligence β€” no cloud APIs, no SaaS subscriptions, no data leaving your machine.

Python 3.10+ CrewAI Ollama ChromaDB Streamlit License: MIT Windows


🎯 What CompeteFlow Does

CompeteFlow runs a CrewAI multi-agent pipeline that autonomously:

| Capability | What it does | Tools used | |---|---|---| | 🌐 Monitor | Scrapes competitor websites, extracts pricing tiers, detects changes from previous snapshots | httpx, BeautifulSoup4, SQLite | | πŸ“° Track | Fetches news articles, RSS posts, and Reddit discussions β€” classifies sentiment | NewsAPI, feedparser, PRAW | | πŸ” Analyse | RAG-powered feature extraction, competitive comparison, gap analysis | ChromaDB, sentence-transformers, Ollama | | πŸ“Š Report | Generates battle cards, executive summaries, and feature matrices in markdown | Ollama, pathlib |

Everything runs locally on your Windows laptop. No OpenAI API calls. No cloud database. One streamlit run app.py and you have a full competitive intelligence dashboard.


πŸ—οΈ Architecture

CrewAI Multi-Agent Pipeline

╔══════════════════════════════════════════════════════════════════╗
β•‘                     CompeteFlow Crew                             β•‘
β•‘                  (CrewAI Sequential Process)                     β•‘
╠══════════════════════════════════════════════════════════════════╣
β•‘                                                                  β•‘
β•‘  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β•‘
β•‘  β”‚  AGENT 1 β€” WebScraperAgent                              β”‚    β•‘
β•‘  β”‚  Role: Competitor Website Intelligence Specialist        β”‚    β•‘
β•‘  β”‚  Tools: scrape_website, extract_pricing,                β”‚    β•‘
β•‘  β”‚         detect_changes, store_snapshot                  β”‚    β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•‘
β•‘                          β”‚ output (website intel)               β•‘
β•‘                          β–Ό                                       β•‘
β•‘  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β•‘
β•‘  β”‚  AGENT 2 β€” NewsTrackerAgent                             β”‚    β•‘
β•‘  β”‚  Role: Competitive News and Social Intelligence Analyst  β”‚    β•‘
β•‘  β”‚  Tools: fetch_news_api, fetch_rss_feeds,                β”‚    β•‘
β•‘  β”‚         fetch_reddit_mentions, classify_sentiment        β”‚    β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•‘
β•‘                          β”‚ output (news + sentiment)            β•‘
β•‘                          β–Ό (+ website context)                  β•‘
β•‘  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β•‘
β•‘  β”‚  AGENT 3 β€” AnalyzerAgent                                β”‚    β•‘
β•‘  β”‚  Role: Competitive Intelligence Analyst                  β”‚    β•‘
β•‘  β”‚  Tools: embed_and_store, retrieve_context,              β”‚    β•‘
β•‘  β”‚         extract_features, compare_competitors,           β”‚    β•‘
β•‘  β”‚         identify_gaps                                   β”‚    β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•‘
β•‘                          β”‚ output (full analysis)               β•‘
β•‘                          β–Ό                                       β•‘
β•‘  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β•‘
β•‘  β”‚  AGENT 4 β€” ReportAgent                                  β”‚    β•‘
β•‘  β”‚  Role: Competitive Intelligence Report Writer            β”‚    β•‘
β•‘  β”‚  Tools: generate_battle_card, generate_executive_summaryβ”‚    β•‘
β•‘  β”‚         generate_feature_matrix, export_report          β”‚    β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•‘
β•‘                          β”‚                                       β•‘
β•‘                          β–Ό                                       β•‘
β•‘              βš”οΈ  Battle Card + Executive Summary                 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

APScheduler Automation

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  BackgroundScheduler (daemon thread)             β”‚
β”‚                                                  β”‚
β”‚  Weekly (Mon 8am UTC)                            β”‚
β”‚    └─► Full 4-agent pipeline, all competitors   β”‚
β”‚                                                  β”‚
β”‚  Daily (9:30am UTC)                              β”‚
β”‚    └─► News-only run, all competitors            β”‚
β”‚                                                  β”‚
β”‚  Manual (Streamlit "Run Now" button)             β”‚
β”‚    └─► Full or news run, single competitor      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

| Layer | Tool | Version | Why | |---|---|---|---| | Agent Framework | CrewAI | 0.80.0 | Purpose-built multi-agent orchestration, @tool decorator, context passing | | LLM | Ollama (mistral / phi3 / llama3) | latest | Fully local, free, CrewAI-compatible via LiteLLM | | LLM Bridge | LiteLLM | 1.51.3 | CrewAI's internal bridge β€” routes ollama/mistral to localhost | | Web Scraping | httpx + BeautifulSoup4 | 0.27 / 4.12 | Sync Client() β€” Windows-safe inside @tool functions | | News | newsapi-python + feedparser | 0.2.7 / 6.0 | NewsAPI (100 req/day free) + RSS (unlimited) | | Social | PRAW | 7.7.1 | Reddit read-only, free with Reddit account | | Vector Store | ChromaDB | 0.5.18 | Local persistent vector DB, pathlib-safe on Windows | | Embeddings | sentence-transformers | 3.3.1 | Local all-MiniLM-L6-v2, no API needed | | Structured DB | SQLite (stdlib) | β€” | Zero config, single file, 10-table schema | | Scheduler | APScheduler | 3.10.4 | BackgroundScheduler β€” Windows-safe daemon thread | | Dashboard | Streamlit | 1.39.0 | Multi-page app with Plotly charts and RAG chat | | Charts | Plotly | 5.24.1 | Price history and mention volume charts | | Config | python-dotenv | 1.0.1 | .env β†’ os.environ, typed config.py |


πŸ’» System Requirements

| Requirement | Minimum | Recommended | |---|---|---| | OS | Windows 10 64-bit | Windows 11 64-bit | | Python | 3.10 | 3.11 | | RAM | 8 GB | 16 GB | | Disk | 10 GB free | 20 GB free | | CPU | 4 cores | 8 cores (Ollama runs faster) | | GPU | Not required | NVIDIA (Ollama uses it automatically if present) | | Network | Required for NewsAPI / Reddit / scraping | β€” |

Mac / Linux: CompeteFlow works on macOS and Linux with minor adjustments:

  • Replace venv\Scripts\activate with source venv/bin/activate
  • Ollama runs as ollama serve in terminal (not a background service)
  • All pathlib.Path() usage is cross-platform β€” no changes needed

⚑ Quick Start (Windows)

Step 1 β€” Install Ollama

  1. Download from ollama.ai/download/windows
  2. Run the installer β€” Ollama starts automatically in the system tray
  3. Open a terminal and pull the recommended model:
ollama pull mistral

Why mistral? Best balance of reasoning quality and speed on CPU-only hardware (7B parameters, ~4GB RAM). Alternatives: phi3 (3.8B, fastest), llama3 (8B, highest quality, slower).


Step 2 β€” Clone and Set Up Python Environment

git clone https://github.com/YOUR_USERNAME/competeflow.git
cd competeflow
python -m venv venv
venv\Scripts\activate

PowerShell (if activate is blocked):

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
venv\Scripts\Activate.ps1

Step 3 β€” Install Dependencies

pip install --upgrade pip

REM Install PyTorch CPU-only first (saves ~2GB vs GPU version)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

REM Install all other dependencies
pip install -r requirements.txt

Note: First install takes 5-10 minutes. sentence-transformers downloads ~90MB model on first run.


Step 4 β€” Configure Environment

copy .env.example .env

Open .env in any editor and fill in:

# Required β€” CrewAI needs this even for local Ollama (set to NA)
OPENAI_API_KEY=NA

# Ollama (already running from Step 1)
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=mistral

# Optional β€” NewsAPI (free tier, 100 req/day)
# Sign up at: https://newsapi.org/register
NEWSAPI_KEY=your_key_here

# Optional β€” Reddit API (free read-only)
# Create app at: https://www.reddit.com/prefs/apps (type: script)
REDDIT_CLIENT_ID=your_client_id
REDDIT_CLIENT_SECRET=your_client_secret
REDDIT_USER_AGENT=windows:CompeteFlow/1.0 (by u/your_username)

CompeteFlow works without NewsAPI and Reddit β€” RSS feeds are always available as fallback.


Step 5 β€” Verify Setup

python test_setup.py

Expected output:

βœ…  Python 3.11.x (3.10+ required)
βœ…  crewai 0.80.0 installed and importable
βœ…  Ollama running at http://localhost:11434
βœ…  ChromaDB: write and query successful
βœ…  all-MiniLM-L6-v2 loaded in 2.3s
⚠️  NewsAPI: key not configured (optional)
⚠️  Reddit PRAW: credentials not configured (optional)
βœ…  SQLite working β€” pathlib.Path() pattern verified
βœ…  config.py loaded successfully

7 green βœ… = ready. The 2 optional ⚠️ items (NewsAPI, Reddit) can be added anytime.


Step 6 β€” Run the Dashboard

streamlit run app.py

Open http://localhost:8501 in your browser.

On first launch:

  • Notion, Airtable, and Coda are pre-loaded as demo competitors
  • Click πŸš€ Run Now on any competitor to start the first crew pipeline
  • Watch the terminal for the CrewAI agent reasoning output (verbose mode)
  • Battle card appears in the Reports tab when complete (~5-15 min on CPU)

Step 7 β€” (Optional) Test Individual Components

REM Test tools in isolation (no Crew, no Ollama LLM needed)
python tools\test_tools.py --no-ollama --no-network

REM Test with Ollama (classify_sentiment, extract_features)
python tools\test_tools.py --chroma

REM Test crew assembly without running (no Ollama needed)
python crew\competeflow_crew.py --build-only

REM Run full pipeline test with Notion as demo
python test_crew.py

πŸ“ Project Structure

competeflow/
β”‚
β”œβ”€β”€ app.py                     # Streamlit dashboard (5 pages)
β”œβ”€β”€ scheduler.py               # APScheduler automation engine
β”œβ”€β”€ config.py                  # Central config β€” all settings via pathlib.Path
β”œβ”€β”€ requirements.txt           # Pinned dependencies (Windows-tested)
β”œβ”€β”€ .env.example               # Environment variable template
β”œβ”€β”€ test_setup.py              # 9-check environment verifier
β”œβ”€β”€ test_crew.py               # End-to-end crew pipeline test
β”‚
β”œβ”€β”€ agents/
β”‚   └── crew_agents.py         # 4 CrewAI Agent definitions
β”‚
β”œβ”€β”€ tasks/
β”‚   └── crew_tasks.py          # 4 CrewAI Task definitions + context wiring
β”‚
β”œβ”€β”€ crew/
β”‚   └── competeflow_crew.py    # Crew assembly, kickoff, batch runner
β”‚
β”œβ”€β”€ tools/
β”‚   β”œβ”€β”€ scraper_tools.py       # @tool: scrape_website, extract_pricing, ...
β”‚   β”œβ”€β”€ news_tools.py          # @tool: fetch_news_api, classify_sentiment, ...
β”‚   β”œβ”€β”€ chroma_tools.py        # @tool: embed_and_store, retrieve_context, ...
β”‚   β”œβ”€β”€ report_tools.py        # @tool: generate_battle_card, export_report, ...
β”‚   └── test_tools.py          # Standalone tool test runner
β”‚
β”œβ”€β”€ storage/
β”‚   β”œβ”€β”€ database.py            # SQLite layer β€” 7 repos, 10-table schema
β”‚   └── chroma_store.py        # ChromaDB manager β€” semantic search, RAG context
β”‚
β”œβ”€β”€ data/                      # Created at runtime β€” gitignored
β”‚   β”œβ”€β”€ competeflow.db         # SQLite database
β”‚   β”œβ”€β”€ chroma_db/             # ChromaDB vector store
β”‚   └── snapshots/             # Raw website snapshots
β”‚
└── reports/                   # Generated battle cards β€” gitignored
    β”œβ”€β”€ notion/
    β”‚   β”œβ”€β”€ notion_battle_card.md
    β”‚   └── notion_exec_summary.md
    └── airtable/
        └── airtable_battle_card.md

πŸ“Š Example Output β€” Notion Battle Card

# Notion β€” Battle Card
*Generated: 2025-01-20 | Source: CompeteFlow Intelligence*

## Who They Are
Notion is an all-in-one connected workspace that replaces wikis, docs,
project management, and databases with a single block-based editor.
Serving 30M+ users across SMB and mid-market segments.

## Their Positioning
"The connected workspace where better, faster work happens."
Targets knowledge workers who want to consolidate fragmented tools.

## Pricing
| Tier       | Price           | Key Feature Limit        |
|------------|-----------------|--------------------------|
| Free       | $0              | Up to 10 guests          |
| Plus       | $10/user/month  | Unlimited blocks + guests|
| Business   | $15/user/month  | Advanced analytics, SAML |
| Enterprise | Custom          | Dedicated CSM, SLA       |
| Notion AI  | +$10/user/month | AI writing add-on        |

## Top Features
- Block-based editor (text, databases, kanban, calendar, gallery)
- Relational databases with formula and rollup support
- Collaborative wikis with permission inheritance
- Notion AI (writing assistant, summarisation, Q&A)
- 100+ native integrations + API
- Template gallery (10,000+ community templates)

## Their Strengths
- Extremely flexible β€” adapts to almost any workflow
- Massive template library lowers onboarding friction
- Strong brand and community (30M users, active Reddit)
- AI features integrated into existing pricing (not a separate product)

## Their Weaknesses
- Performance degrades with large databases (10k+ rows)
- No native time tracking or resource management
- API rate limits (3 req/sec) block enterprise automation use cases
- Complex for non-technical users β€” high setup overhead

## Recent Strategic Moves
- Launched Notion AI Q&A (ask questions across entire workspace)
- Expanded Enterprise tier with HIPAA compliance (targeting healthcare)
- Acquired Skiff (privacy-focused workspace) β€” signals E2E encryption roadmap

## How To Win Against Them
1. **Lead with performance:** "Unlike Notion, our database handles 500k+ rows
   without slowing down β€” benchmark test available"
2. **Lead with time tracking:** "Notion has no native time tracking β€” your team
   needs a third-party integration and another monthly bill"
3. **Lead with simplicity for ops teams:** "Notion's flexibility is also its
   weakness β€” our opinionated templates get ops teams running in a day, not a month"

## Objection Handling
| Prospect says | You say |
|---|---|
| "We already use Notion" | "What's your biggest pain point with it? Performance? We benchmark 10x faster on large databases." |
| "Notion is cheaper" | "Notion Plus is $10/user + $10 AI add-on = $20. Our Business plan is $18 all-in with AI included." |
| "Our team loves Notion's flexibility" | "Flexibility without guardrails creates chaos at scale. Our structured workflows prevent that." |

## Key Quotes to Use with Prospects
- "Notion is a blank canvas β€” great for one person, chaotic for a 50-person team."
- "Notion AI is an add-on. Our AI is built in at no extra cost."
- "We've seen 3 Notion migrations this quarter β€” all citing database performance."

πŸ”§ Configuration

All settings live in config.py and are loaded from .env. Key settings:

| Variable | Default | Description | |---|---|---| | OLLAMA_MODEL | mistral | LLM model for all agents | | OLLAMA_BASE_URL | http://localhost:11434 | Ollama server address | | EMBEDDING_MODEL | all-MiniLM-L6-v2 | sentence-transformers model | | CHUNK_SIZE | 500 | Characters per ChromaDB chunk | | TOP_K_RESULTS | 5 | RAG retrieval results | | SCHEDULE_FULL_RUN_DAY | monday | Day for weekly full run | | SCHEDULE_FULL_RUN_HOUR | 8 | Hour (UTC) for weekly run | | SCHEDULE_NEWS_HOUR | 9 | Hour (UTC) for daily news run | | CREW_VERBOSE | True | Show agent reasoning in terminal | | DEMO_COMPETITORS | Notion,Airtable,Coda | Pre-seeded competitors |


πŸ› Troubleshooting

OPENAI_API_KEY error on startup

AuthenticationError: No auth credentials found

Fix: Add OPENAI_API_KEY=NA to your .env file. CrewAI requires this variable to be set even when using local Ollama β€” it checks for presence, not validity.


Ollama timeout in CrewAI tools

httpx.ReadTimeout: timed out

Fix: Increase timeout in .env:

SCRAPE_TIMEOUT_SECONDS=60

Or set request_timeout=120.0 in the Ollama() constructor in config.py.


ChromaDB database is locked error

sqlite3.OperationalError: database is locked

Fix: This occurs when multiple processes hold ChromaDB connections simultaneously. CompeteFlow creates fresh clients per tool call to prevent this, but if you see it during development, close other Python processes accessing data/chroma_db/.


PowerShell activation blocked

venv\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled

Fix:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

crewai.LLM not found (older CrewAI version)

CompeteFlow's get_llm() in config.py auto-detects your CrewAI version and uses the correct LLM wrapper:

  • CrewAI β‰₯ 0.70: uses crewai.LLM(model="ollama/mistral")
  • CrewAI < 0.70: uses langchain_community.llms.Ollama(model="mistral")

No manual fix needed β€” check your version with pip show crewai.


First run is very slow

Expected. On first run, sentence-transformers downloads all-MiniLM-L6-v2 (~90MB) to C:\Users\<you>\.cache\huggingface\. Subsequent runs load from cache in ~2 seconds. Ollama also pulls the model on first use if not already pulled.


πŸ—ΊοΈ Roadmap

  • [ ] storage/database.py β€” migration runner for schema v2+
  • [ ] Hierarchical process mode with manager agent (Phase 2 upgrade)
  • [ ] Export battle cards to HTML + PDF
  • [ ] Email digest integration (weekly report via SMTP)
  • [ ] Docker compose.yml for non-Windows deployment
  • [ ] GitHub Actions workflow for automated test runs
  • [ ] test_crew.py with mock HTTP responses (offline CI)
  • [ ] Streamlit sharing deployment guide

🀝 Contributing

See CONTRIBUTING.md for development setup, coding standards, and how to add new agents, tools, or data sources.


πŸ“„ License

MIT License β€” see LICENSE.


πŸ™ Acknowledgements

  • CrewAI β€” the multi-agent framework that makes this possible without hundreds of lines of orchestration boilerplate
  • Ollama β€” local LLM inference that makes the whole stack free
  • ChromaDB β€” the easiest local vector store for RAG
  • sentence-transformers β€” local embeddings, no API needed
  • Streamlit β€” turns Python into a real dashboard in hours

Built as a portfolio project to demonstrate real-world agentic AI engineering with CrewAI, Ollama, ChromaDB, and Streamlit on Windows.

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-ashishsharmadev-competeflow/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/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 ReposUpdated 6h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation β€’ (~400 MCP servers for AI agents) β€’ AI Automation / AI Agent with MCPs β€’ AI Workflows & AI Agents β€’ MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW
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-ashishsharmadev-competeflow/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/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-10T00:54:13.863Z"
    }
  },
  "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",
    "category": "vendor",
    "label": "Vendor",
    "value": "Ashishsharmadev",
    "href": "https://github.com/AshishSharmaDev/competeflow",
    "sourceUrl": "https://github.com/AshishSharmaDev/competeflow",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-10-09T22:15:03.473Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-10-09T22:15:03.473Z",
    "isPublic": true
  },
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-ashishsharmadev-competeflow/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub Β· GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to competeflow and adjacent AI workflows.