{"id":"fbc53c54-1a7e-4fc2-bced-14b8e573d9ca","entityType":"agent","slug":"crewai-risx3-ai-research-assistant-crewai","name":"ai-research-assistant-crewai","canonicalUrl":"https://www.xpersona.co/agent/crewai-risx3-ai-research-assistant-crewai","canonicalPath":"/agent/crewai-risx3-ai-research-assistant-crewai","generatedAt":"2026-10-10T07:39:28.640Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T21:09:32.164Z","emptyReason":null},"description":"A multi-agent RAG pipeline that produces structured research notes, citations, and summaries — powered by local LLMs via Ollama, orchestrated with CrewAI. AI Research Assistant (CrewAI) A multi-agent RAG pipeline that produces structured research notes, citations, and summaries — powered by local LLMs via Ollama, orchestrated with CrewAI. Architecture Each agent is powered by an Ollama LLM. Retrieved content comes from a persistent ChromaDB vector store (local documents) and DuckDuckGo web search. Results are saved as JSON files in output/. Interfaces | Interface | Com","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/risx3/ai-research-assistant-crewai","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/risx3/ai-research-assistant-crewai","kind":"source"}],"safetyScore":66,"overallRank":18.2,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"A multi-agent RAG pipeline that produces structured research notes, citations, and summaries — powered by local LLMs via Ollama, orchestrated with CrewAI. AI Re"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:09:32.164Z","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-10-09T21:09:32.164Z","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-10-09T21:09:31.967Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T21:09:32.164Z","lastCrawledAt":"2026-10-09T21:09:31.967Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T21:09:31.967Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"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-risx3-ai-research-assistant-crewai/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/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-10T07:39:28.639Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-risx3-ai-research-assistant-crewai/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 REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T21:09:32.164Z","emptyReason":null},"readme":"# AI Research Assistant (CrewAI)\n\nA multi-agent RAG pipeline that produces structured research notes, citations, and summaries — powered by local LLMs via Ollama, orchestrated with CrewAI.\n\n## Architecture\n\n```\nUser Query\n    │\n    ▼\n┌──────────────────────────┐\n│      CrewAI Crew         │\n│   (Sequential Process)   │\n│                          │\n│  ┌──────────────────┐   │\n│  │  QueryPlanner    │   │  Decomposes query into sub-queries + search keywords\n│  └────────┬─────────┘   │\n│           │              │\n│  ┌────────▼─────────┐   │\n│  │    Retriever     │   │  Searches ChromaDB (vector store) + DuckDuckGo web\n│  └────────┬─────────┘   │\n│           │              │\n│  ┌────────▼─────────┐   │\n│  │   Summarizer     │   │  Synthesizes retrieved chunks → structured notes\n│  └────────┬─────────┘   │\n│           │              │\n│  ┌────────▼─────────┐   │\n│  │     Critic       │   │  Evaluates completeness, gaps, confidence\n│  └────────┬─────────┘   │\n└───────────┼──────────────┘\n            │\n     Research Report\n     ├── Executive Summary\n     ├── Research Notes (with key points)\n     ├── Citations (source + URL + relevance score)\n     └── Critique (strengths, gaps, recommendations)\n```\n\nEach agent is powered by an Ollama LLM. Retrieved content comes from a persistent ChromaDB vector store (local documents) and DuckDuckGo web search. Results are saved as JSON files in `output/`.\n\n## Interfaces\n\n| Interface | Command | Best for |\n|-----------|---------|----------|\n| Web UI (Streamlit) | `uv run research-ui` | Interactive use, document upload, history browsing |\n| CLI | `uv run research research \"...\"` | Scripting, quick queries |\n\n## Requirements\n\n- Python 3.11+\n- [uv](https://github.com/astral-sh/uv) package manager\n- [Ollama](https://ollama.com) running locally\n\n## Setup\n\n### 1. Install uv\n\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n### 2. Install Ollama & pull models\n\n```bash\n# Install Ollama: https://ollama.com/download\n\n# Start the server\nollama serve\n\n# Pull the LLM (default: llama3.2)\nollama pull llama3.2\n\n# Pull the embedding model\nollama pull nomic-embed-text\n```\n\n### 3. Install dependencies\n\n```bash\nuv sync\n```\n\n### 4. (Optional) Configure via .env\n\n```bash\ncp .env.example .env\n# Edit .env to change models, enable/disable web search, etc.\n```\n\n## Usage\n\n### Web UI\n\n```bash\nuv run research-ui\n# Opens http://localhost:8501\n```\n\nThe sidebar lets you switch Ollama models, toggle web search, upload documents to index, and browse past reports.\n\n### CLI\n\n```bash\n# Run a research query\nuv run research research \"What are the key differences between RAG and fine-tuning for LLMs?\"\n\n# Skip saving the JSON output file\nuv run research research \"...\" --no-save\n\n# Disable web search\nuv run research research \"...\" --no-web\n\n# Use a specific Ollama model\nuv run research research \"...\" --model llama3.1:8b\n\n# Index local documents before researching\nuv run research index --dir ./data/documents\n\n# Show active configuration\nuv run research config\n```\n\n### Index local documents\n\nDrop PDF, TXT, or MD files into `data/documents/`, then:\n\n```bash\nuv run research index\n```\n\nThe Retriever agent will search your indexed documents alongside web results on every subsequent query.\n\n## Configuration\n\nAll settings can be overridden via environment variables or a `.env` file:\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `OLLAMA_MODEL` | `llama3.2` | LLM used for all agents |\n| `EMBEDDING_MODEL` | `nomic-embed-text` | Embedding model for vector search |\n| `OLLAMA_BASE_URL` | `http://localhost:11434` | Ollama server URL |\n| `WEB_SEARCH_ENABLED` | `true` | Enable DuckDuckGo web search |\n| `MAX_RETRIEVAL_DOCS` | `5` | Max vector store results per query |\n| `CHUNK_SIZE` | `512` | Words per document chunk |\n| `CHUNK_OVERLAP` | `64` | Overlapping words between chunks |\n| `WEB_SEARCH_MAX_RESULTS` | `5` | Max web results per search |\n\n## Output\n\nEach research run produces:\n\n- **Web UI** — interactive report with tabs for Summary, Notes, Citations, Critique, and raw JSON download\n- **Console output (CLI)** — Rich-formatted panels and a citations table\n- **JSON file** — saved to `output/<query>_<timestamp>.json`\n\n### Output schema\n\n```json\n{\n  \"query\": \"...\",\n  \"query_plan\": {\n    \"sub_queries\": [\"...\", \"...\"],\n    \"search_keywords\": [\"...\", \"...\"],\n    \"reasoning\": \"...\"\n  },\n  \"notes\": [\n    {\n      \"topic\": \"...\",\n      \"content\": \"...\",\n      \"key_points\": [\"...\", \"...\"],\n      \"confidence\": 0.82,\n      \"citations\": [\n        { \"source\": \"...\", \"url\": \"...\", \"excerpt\": \"...\", \"relevance_score\": 0.91 }\n      ]\n    }\n  ],\n  \"summary\": \"...\",\n  \"critique\": {\n    \"strengths\": [\"...\"],\n    \"weaknesses\": [\"...\"],\n    \"missing_aspects\": [\"...\"],\n    \"confidence_score\": 0.75,\n    \"recommendation\": \"...\"\n  },\n  \"generated_at\": \"2026-04-28T23:15:00\"\n}\n```\n\n## Project Structure\n\n```\nai-research-assistant-crewai/\n├── app.py                              # Streamlit web UI\n├── src/research_assistant/\n│   ├── agents/\n│   │   ├── query_planner.py           # Agent: decomposes query into sub-queries\n│   │   ├── retriever.py               # Agent: fetches from ChromaDB + DuckDuckGo\n│   │   ├── summarizer.py              # Agent: synthesizes notes per sub-query\n│   │   └── critic.py                  # Agent: evaluates research quality\n│   ├── tasks/\n│   │   └── research_tasks.py          # Task definitions with prompts + context wiring\n│   ├── crew/\n│   │   └── research_crew.py           # CrewAI Crew + output parsing + JSON saving\n│   ├── models/\n│   │   └── research_output.py         # Pydantic models for all output types\n│   ├── tools/\n│   │   ├── vector_store_tool.py       # CrewAI tool: ChromaDB search\n│   │   ├── web_search_tool.py         # CrewAI tool: DuckDuckGo search\n│   │   └── document_indexer.py        # Utility: index local files into ChromaDB\n│   ├── utils/\n│   │   └── vector_store.py            # ChromaDB wrapper with chunking\n│   ├── config.py                      # Settings via pydantic-settings + .env\n│   ├── main.py                        # CLI entry point (Typer)\n│   └── ui_launcher.py                 # Launches Streamlit via uv script\n├── data/\n│   ├── chroma/                        # ChromaDB persistence\n│   └── documents/                     # Drop PDFs / TXTs / MDs here to index\n├── output/                            # JSON research outputs\n├── pyproject.toml\n└── .env.example\n```\n\n## LangGraph vs CrewAI\n\n| Aspect | LangGraph version | CrewAI version |\n|--------|-------------------|----------------|\n| Orchestration | StateGraph with TypedDict state | Sequential Crew with task context |\n| Execution | Deterministic node functions | LLM-driven autonomous agents |\n| Persistence | SQLite checkpointer (resumable threads) | JSON file outputs |\n| Retrieval | Explicit calls in node code | Agents decide when/how to use tools |\n\n## Development\n\n```bash\n# Lint\nuv run ruff check src/ app.py\n\n# Auto-fix lint issues\nuv run ruff check --fix src/ app.py\n```\n","readmeExcerpt":"AI Research Assistant (CrewAI) A multi-agent RAG pipeline that produces structured research notes, citations, and summaries — powered by local LLMs via Ollama, orchestrated with CrewAI. Architecture Each agent is powered by an Ollama LLM. Retrieved content comes from a persistent ChromaDB vector store (local documents) and DuckDuckGo web search. Results are saved as JSON files in output/. Interfaces | Interface | Com","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"User Query\n    │\n    ▼\n┌──────────────────────────┐\n│      CrewAI Crew         │\n│   (Sequential Process)   │\n│                          │\n│  ┌──────────────────┐   │\n│  │  QueryPlanner    │   │  Decomposes query into sub-queries + search keywords\n│  └────────┬─────────┘   │\n│           │              │\n│  ┌────────▼─────────┐   │\n│  │    Retriever     │   │  Searches ChromaDB (vector store) + DuckDuckGo web\n│  └────────┬─────────┘   │\n│           │              │\n│  ┌────────▼─────────┐   │\n│  │   Summarizer     │   │  Synthesizes retrieved chunks → structured notes\n│  └────────┬─────────┘   │\n│           │              │\n│  ┌────────▼─────────┐   │\n│  │     Critic       │   │  Evaluates completeness, gaps, confidence\n│  └────────┬─────────┘   │\n└───────────┼──────────────┘\n            │\n     Research Report\n     ├── Executive Summary\n     ├── Research Notes (with key points)\n     ├── Citations (source + URL + relevance score)\n     └── Critique (strengths, gaps, recommendations)"},{"language":"bash","snippet":"curl -LsSf https://astral.sh/uv/install.sh | sh"},{"language":"bash","snippet":"curl -LsSf https://astral.sh/uv/install.sh | sh"},{"language":"bash","snippet":"# Install Ollama: https://ollama.com/download\n\n# Start the server\nollama serve\n\n# Pull the LLM (default: llama3.2)\nollama pull llama3.2\n\n# Pull the embedding model\nollama pull nomic-embed-text"},{"language":"bash","snippet":"uv sync"},{"language":"bash","snippet":"cp .env.example .env\n# Edit .env to change models, enable/disable web search, etc."}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"A multi-agent RAG pipeline that produces structured research notes, citations, and summaries — powered by local LLMs via Ollama, orchestrated with CrewAI. AI Research Assistant (CrewAI) A multi-agent RAG pipeline that produces structured research notes, citations, and summaries — powered by local LLMs via Ollama, orchestrated with CrewAI. Architecture Each agent is powered by an Ollama LLM. Retrieved content comes from a persistent ChromaDB vector store (local documents) and DuckDuckGo web search. Results are saved as JSON files in output/. Interfaces | Interface | Com","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":405,"uniquenessScore":61,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T21:09:32.164Z","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-10-09T21:09:32.164Z","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-10T07:39:28.640Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"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!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"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","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}