{"id":"9fe2192d-d1e7-4336-8f8d-ba05739b9405","entityType":"agent","slug":"crewai-naveen-1-1-deep-research-ai-agent","name":"deep-research-ai-agent","canonicalUrl":"https://www.xpersona.co/agent/crewai-naveen-1-1-deep-research-ai-agent","canonicalPath":"/agent/crewai-naveen-1-1-deep-research-ai-agent","generatedAt":"2026-10-09T00:25:33.301Z","source":"GITHUB_OPENCLEW","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-05-31T06:18:14.917Z","emptyReason":null},"description":"An intelligent multi-agent research system powered by CrewAI and Google Gemini that performs comprehensive web research, analyzes information, and generates professional reports. The system uses coordinated AI agents to deliver thorough, well-structured research outputs. 🤖 Deep Research AI Agent An intelligent **multi-agent** research system powered by **LangChain**. A ReAct **Research Agent** autonomously searches the web via **Firecrawl MCP**, then **Summarization** and **Presentation** agents produce a professional PDF report — using **Ollama** (default) or **Google Gemini**. ✨ Features - **Three-agent workflow** — Research (autonomous + tools) → Summarizer → Presenter ($1) - **R","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.","installCommand":"git clone https://github.com/Naveen-1-1/deep-research-ai-agent.git","sourceUrl":"https://github.com/Naveen-1-1/deep-research-ai-agent","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/Naveen-1-1/deep-research-ai-agent","kind":"source"}],"safetyScore":66,"overallRank":30.4,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"An intelligent multi-agent research system powered by CrewAI and Google Gemini that performs comprehensive web research, analyzes information, and generates pro"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-05-31T06:18:14.917Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"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"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-05-31T06:18:14.917Z","emptyReason":"No source adoption metrics were available."},"stars":0,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-05-31T06:18:14.917Z","emptyReason":null},"lastUpdatedAt":"2026-05-31T06:18:14.917Z","lastCrawledAt":"2026-05-31T06:18:14.917Z","lastIndexedAt":null,"nextCrawlAt":"2026-06-07T06:18:14.917Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"git clone https://github.com/Naveen-1-1/deep-research-ai-agent.git","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","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."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_OPENCLEW","generatedAt":"2026-10-09T00:25:33.301Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-naveen-1-1-deep-research-ai-agent/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"high","updatedAt":"2026-05-31T06:18:14.917Z","emptyReason":null},"readme":"# 🤖 Deep Research AI Agent\n\nAn intelligent **multi-agent** research system powered by **LangChain**. A ReAct **Research Agent** autonomously searches the web via **Firecrawl MCP**, then **Summarization** and **Presentation** agents produce a professional PDF report — using **Ollama** (default) or **Google Gemini**.\n\n![Deep Research AI Agent UI](assets/ai-agent-research-ui.png)\n\n## ✨ Features\n\n- **Three-agent workflow** — Research (autonomous + tools) → Summarizer → Presenter ([`services/langchain_pipeline.py`](services/langchain_pipeline.py))\n- **ReAct research agent** — decides when and how to call `firecrawl_search` (no fixed search script)\n- **Single search tool** — Firecrawl MCP only ([`services/firecrawl_mcp.py`](services/firecrawl_mcp.py))\n- **Single LLM provider** — `LLM_PROVIDER=ollama` (default) or `gemini` ([`utils/llm_config.py`](utils/llm_config.py))\n- **Configurable research** — breadth and depth as guidance in the research agent prompt\n- **PDF reports** — downloadable ReportLab output with source links\n- **Log safety** — API keys redacted in logs; `LOG_LEVEL` for terminal verbosity\n\n## 🏗️ Architecture\n\n```\nUser Query (Streamlit)\n       ↓\nResearch Agent (ReAct) ──tool──► firecrawl_search → Firecrawl MCP (stdio)\n       ↓\nSummarization Agent (LCEL chain, no tools)\n       ↓\nPresentation Agent (LCEL chain, no tools)\n       ↓\nPDF + Streamlit preview\n```\n\n| Agent | Tools | Role |\n|-------|--------|------|\n| **Research** | `firecrawl_search` | Autonomous web research; chooses queries and follow-ups |\n| **Summarization** | None | Bullet summary from research notes |\n| **Presentation** | None | Final report (Introduction, Key Findings, Conclusion) |\n\n**Firecrawl MCP** spawns `npx -y firecrawl-mcp` over stdio. Requires **Node.js / `npx`** and `FIRECRAWL_KEY`.\n\n### LLM provider (one only)\n\nSet **`LLM_PROVIDER`** to **`ollama`** or **`gemini`**. All agents use the same model from [`utils/llm_config.py`](utils/llm_config.py).\n\n| `LLM_PROVIDER` | Required in `.env` |\n|----------------|-------------------|\n| **`ollama`** (default) | `OLLAMA_MODEL`, `OLLAMA_BASE_URL`, Ollama running locally |\n| **`gemini`** | `GOOGLE_API_KEY`, optional `GEMINI_MODEL` |\n\nCopy [`.env.example`](.env.example) to `.env` and configure **one** provider block.\n\n## 📋 Prerequisites\n\n- **Python 3.11–3.13**\n- **pip** and a virtual environment\n- **Firecrawl API key** — always required\n- **Node.js / `npx`** — required to run `firecrawl-mcp`\n- **Ollama** — when `LLM_PROVIDER=ollama`\n- **Google API key** — when `LLM_PROVIDER=gemini`\n\n## 🚀 Installation\n\n1. **Clone the repository**\n\n```bash\ngit clone <your-repo-url>\ncd deep-research-ai-agent\n```\n\n2. **Create and activate a virtual environment**\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate   # Windows: .venv\\Scripts\\activate\n```\n\n3. **Install dependencies**\n\n```bash\npython -m pip install -r requirements.txt\n```\n\n4. **Configure environment**\n\n```bash\ncp .env.example .env\n# Edit .env — set LLM_PROVIDER, keys, and model names\n```\n\n## ⚙️ Configuration\n\n### Ollama (default)\n\n```env\nLLM_PROVIDER=ollama\nOLLAMA_MODEL=qwen3:8b\nOLLAMA_BASE_URL=http://localhost:11434\nFIRECRAWL_KEY=your-firecrawl-api-key-here\nLOG_LEVEL=INFO\n```\n\nInstall [Ollama](https://ollama.com/) and pull your model: `ollama pull qwen3:8b`\n\n### Gemini (optional)\n\n```env\nLLM_PROVIDER=gemini\nGOOGLE_API_KEY=your-google-api-key-here\nGEMINI_MODEL=gemini-2.5-flash-lite\nFIRECRAWL_KEY=your-firecrawl-api-key-here\nLOG_LEVEL=INFO\n```\n\nOptional: `NPX_PATH=/full/path/to/npx` if `npx` is not on your `PATH`.\n\n### Getting API keys\n\n**Google AI (Gemini)** — [Google AI Studio](https://aistudio.google.com/apikey)\n\n**Firecrawl** — [firecrawl.dev](https://www.firecrawl.dev/) → API settings\n\n## 🎯 Usage\n\n### Start the app\n\n```bash\nstreamlit run main.py\n```\n\nOpens at `http://localhost:8501`\n\n### Run a research job\n\n1. Enter a **research query**\n2. Set **Search Breadth** (1–10, default **3**) and **Search Depth** (1–5, default **2**)\n3. Click **Run Deep Research**\n4. Watch agent progress in the terminal (`LOG_LEVEL=INFO`)\n5. Read the report, preview the PDF, and download\n\n**Breadth** and **depth** guide the Research Agent’s prompt (approximate angles and follow-up levels); the agent chooses concrete searches.\n\n## 📦 Project structure\n\n```\ndeep-research-ai-agent/\n├── main.py                      # Streamlit UI\n├── controllers/\n│   └── research_controller.py   # Orchestration, PDF assembly\n├── services/\n│   ├── langchain_pipeline.py    # ReAct research + summarize + present\n│   └── firecrawl_mcp.py         # MCP client\n├── models/\n│   └── pdf_generator.py         # ReportLab PDF\n├── utils/\n│   ├── llm_config.py            # LLM_PROVIDER → LangChain ChatModel\n│   ├── tool_names.py            # firecrawl_search constant\n│   ├── url_extract.py           # URL collection from search JSON\n│   ├── mcp_config.py            # find_npx()\n│   ├── markdown_cleaner.py\n│   └── log_sanitizer.py\n├── assets/                      # UI screenshot (optional)\n├── requirements.txt\n├── .env.example\n└── README.md\n```\n\n## 🛠️ Technology stack\n\n| Category | Technology |\n|----------|------------|\n| Agents | LangChain `create_agent` (ReAct research agent) |\n| Chains | LangChain LCEL (summarize, present) |\n| UI | [Streamlit](https://streamlit.io/) |\n| Local LLM | [Ollama](https://ollama.com/) via `langchain-ollama` |\n| Cloud LLM | [Google Gemini](https://ai.google.dev/) via `langchain-google-genai` |\n| Web search | [Firecrawl](https://www.firecrawl.dev/) via MCP |\n| PDF | [ReportLab](https://www.reportlab.com/) |\n\n## 🔍 How it works\n\n1. **Load config** — `.env` → [`llm_config.py`](utils/llm_config.py).\n2. **Research Agent** — ReAct loop calls `firecrawl_search` until it finishes notes (`recursion_limit` scales with breadth × depth).\n3. **Summarization Agent** — condenses research output into bullets.\n4. **Presentation Agent** — writes the final markdown report.\n5. **Deliver** — PDF + Streamlit preview with collected URLs.\n\n## 🐛 Troubleshooting\n\n**No logs in terminal**\n\n- Set `LOG_LEVEL=INFO` in `.env` and restart Streamlit.\n- Logs appear when you run a research job, not only at startup.\n\n**Research Agent empty output / tool-calling failures (Ollama)**\n\n- Use a larger model (`qwen3:8b`) or `LLM_PROVIDER=gemini`.\n- Smaller models may fail to call tools reliably.\n\n**`Firecrawl MCP requires npx`**\n\n- Install [Node.js](https://nodejs.org/) or set `NPX_PATH` in `.env`.\n\n**Incomplete report / missing URLs**\n\n- Try Gemini or reduce breadth/depth for shorter runs.\n\n## 📄 License\n\nMIT License — see [LICENSE](LICENSE). **Copyright (c) 2025 Naveen Shankar**\n\n## 🙏 Acknowledgments\n\n- [LangChain](https://www.langchain.com/)\n- [Ollama](https://ollama.com/) and [Google Gemini](https://ai.google.dev/)\n- [Firecrawl](https://www.firecrawl.dev/)\n- [Streamlit](https://streamlit.io/)\n","readmeExcerpt":"🤖 Deep Research AI Agent An intelligent **multi-agent** research system powered by **LangChain**. A ReAct **Research Agent** autonomously searches the web via **Firecrawl MCP**, then **Summarization** and **Presentation** agents produce a professional PDF report — using **Ollama** (default) or **Google Gemini**. ✨ Features - **Three-agent workflow** — Research (autonomous + tools) → Summarizer → Presenter ($1) - **R","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"User Query (Streamlit)\n       ↓\nResearch Agent (ReAct) ──tool──► firecrawl_search → Firecrawl MCP (stdio)\n       ↓\nSummarization Agent (LCEL chain, no tools)\n       ↓\nPresentation Agent (LCEL chain, no tools)\n       ↓\nPDF + Streamlit preview"},{"language":"bash","snippet":"git clone <your-repo-url>\ncd deep-research-ai-agent"},{"language":"bash","snippet":"python -m venv .venv\nsource .venv/bin/activate   # Windows: .venv\\Scripts\\activate"},{"language":"bash","snippet":"python -m pip install -r requirements.txt"},{"language":"bash","snippet":"cp .env.example .env\n# Edit .env — set LLM_PROVIDER, keys, and model names"},{"language":"env","snippet":"LLM_PROVIDER=ollama\nOLLAMA_MODEL=qwen3:8b\nOLLAMA_BASE_URL=http://localhost:11434\nFIRECRAWL_KEY=your-firecrawl-api-key-here\nLOG_LEVEL=INFO"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB OPENCLEW","editorialOverview":"An intelligent multi-agent research system powered by CrewAI and Google Gemini that performs comprehensive web research, analyzes information, and generates professional reports. The system uses coordinated AI agents to deliver thorough, well-structured research outputs. 🤖 Deep Research AI Agent An intelligent **multi-agent** research system powered by **LangChain**. A ReAct **Research Agent** autonomously searches the web via **Firecrawl MCP**, then **Summarization** and **Presentation** agents produce a professional PDF report — using **Ollama** (default) or **Google Gemini**. ✨ Features - **Three-agent workflow** — Research (autonomous + tools) → Summarizer → Presenter ($1) - **R","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":408,"uniquenessScore":63,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-05-31T06:18:14.917Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-05-31T06:18:14.917Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T00:25:33.301Z","emptyReason":null},"items":[{"id":"959108e7-5f7c-45ac-bea0-9ab67f017226","entityType":"agent","canonicalPath":"/agent/langchain-x1pay-langchain","slug":"langchain-x1pay-langchain","name":"@x1pay/langchain","description":"LangChain/LangGraph tools for AI agent x402 payments on X1","url":"https://www.npmjs.com/package/@x1pay/langchain","homepage":null,"source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:07.099Z","createdAt":"2026-05-23T06:52:58.553Z","downloads":null},{"id":"4f8f8f95-34f7-49a9-b516-391d1c355d6c","entityType":"agent","canonicalPath":"/agent/langchain-langchain-langgraph-swarm","slug":"langchain-langchain-langgraph-swarm","name":"@langchain/langgraph-swarm","description":"An implementation of a multi-agent swarm using LangGraph","url":"git+ssh://git@github.com/langchain-ai/langgraphjs.git","homepage":"https://github.com/langchain-ai/langgraphjs#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:03.792Z","createdAt":"2026-05-23T06:52:55.396Z","downloads":null},{"id":"e36fd59b-38d7-4e73-aa20-c1431a8f7434","entityType":"agent","canonicalPath":"/agent/langchain-langchain-langgraph-supervisor","slug":"langchain-langchain-langgraph-supervisor","name":"@langchain/langgraph-supervisor","description":"LangGraph Multi-Agent Supervisor","url":"git+ssh://git@github.com/langchain-ai/langgraphjs.git","homepage":"https://github.com/langchain-ai/langgraphjs#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:03.756Z","createdAt":"2026-05-23T06:52:55.353Z","downloads":null},{"id":"d1d0f93e-b722-4791-9bbf-2532470054c2","entityType":"agent","canonicalPath":"/agent/langchain-oceanbus-langchain","slug":"langchain-oceanbus-langchain","name":"oceanbus-langchain","description":"LangChain tools for OceanBus — give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.","url":"git+https://github.com/oceanbus/oceanbus.git","homepage":"https://github.com/oceanbus/oceanbus#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":["oceanbus","langchain","langchain-tools","agent-to-agent","ai-agent","communication","messaging","e2ee","structured-tool","yellow-pages","service-discovery","reputation","crewai"],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:02.595Z","createdAt":"2026-05-23T06:52:54.240Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_openclew","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}