{"id":"41ec5320-dd84-4001-ae9a-480289b8e4fd","entityType":"agent","slug":"crewai-clement-okolo-multiagent-recommender","name":"MultiAgent-Recommender","canonicalUrl":"https://www.xpersona.co/agent/crewai-clement-okolo-multiagent-recommender","canonicalPath":"/agent/crewai-clement-okolo-multiagent-recommender","generatedAt":"2026-10-09T00:02:37.119Z","source":"GITHUB_OPENCLEW","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-06-01T00:30:41.913Z","emptyReason":null},"description":"🎬 Conversational recommender system powered by a three-specialized-agent CrewAI pipeline (Preference Analyst → Movie Matcher → Recommendation Generator), powered by Vector search, Groq LLM, and LangGraph. 🎬 MultiAgent Recommender System A conversational recommendation system powered by a **three-agent AI crew** that collaborates in real-time to deliver personalised film suggestions. Built with $1, $1, $1, and $1. --- Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- Overview The MultiAgent Movie Recommender accepts a natural language query (e.g. *\"feel-good comedies\"*, *\"mind-bending s","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 6/1/2026.","installCommand":"git clone https://github.com/Clement-Okolo/MultiAgent-Recommender.git","sourceUrl":"https://github.com/Clement-Okolo/MultiAgent-Recommender","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/Clement-Okolo/MultiAgent-Recommender","kind":"source"}],"safetyScore":66,"overallRank":21,"popularityScore":8,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"🎬 Conversational recommender system powered by a three-specialized-agent CrewAI pipeline (Preference Analyst → Movie Matcher → Recommendation Generator), power"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:41.913Z","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":"GITHUB OPENCLEW","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:41.913Z","emptyReason":null},"stars":1,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"1 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:41.913Z","emptyReason":null},"lastUpdatedAt":"2026-06-01T00:30:41.913Z","lastCrawledAt":"2026-06-01T00:30:41.913Z","lastIndexedAt":null,"nextCrawlAt":"2026-06-08T00:30:41.913Z","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/Clement-Okolo/MultiAgent-Recommender.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-clement-okolo-multiagent-recommender/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/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:02:37.119Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-clement-okolo-multiagent-recommender/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-06-01T00:30:41.913Z","emptyReason":null},"readme":"# 🎬 MultiAgent Recommender System\n\nA conversational recommendation system powered by a **three-agent AI crew** that collaborates in real-time to deliver personalised film suggestions. Built with [CrewAI](https://docs.crewai.com/), [GroqCloud](https://console.groq.com/), [Redis](https://redis.io/), and [Streamlit](https://streamlit.io/).\n\n---\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Architecture](#architecture)\n- [Agent Pipeline](#agent-pipeline)\n- [Tech Stack](#tech-stack)\n- [Project Structure](#project-structure)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Running the App](#running-the-app)\n- [Using the Notebook](#using-the-notebook)\n- [How It Works](#how-it-works)\n- [Dataset](#dataset)\n\n---\n\n## Overview\n\nThe MultiAgent Movie Recommender accepts a natural language query (e.g. *\"feel-good comedies\"*, *\"mind-bending sci-fi\"*) and passes it through a sequential pipeline of three specialised AI agents. Each agent has a distinct role — analysing preferences, matching candidate films, and generating a personalised reply — before the final recommendation is streamed back to the user through a polished chat interface.\n\nChat context is persisted in **Redis** so the system remembers earlier messages within a session, enabling follow-up queries like *\"something similar but more recent\"*.\n\n---\n\n## Architecture\n\n```\nUser Input (Streamlit Chat)\n        │\n        ▼\n┌═══════════════════════════════════════════════════════════════╗\n║               Workflow Graph (LangGraph)                      ║\n║                                                               ║\n║                                                               ║\n║                                                               ║\n║                                                               ║\n║        ┌─────────────────────────────────────────┐            ║\n║        │  Node: \"run_crew\"                        │           ║\n║        │                                          │           ║\n║        │  ┌───────────────────────────────────┐  │           ║\n║        │  │    Agent Orchestration (CrewAI)   │  │           ║\n║        │  │                                   │  │           ║\n║        │  │  ┌─────────────┐  ┌────────────┐  │  │           ║\n║        │  │  │ Preference  │─▶│  Movie     │  │  │           ║\n║        │  │  │ Analyst     │  │  Matcher   │  │  │           ║\n║        │  │  │ (Agent 1)   │  │  (Agent 2) │  │  │           ║\n║        │  │  └─────────────┘  └─────┬──────┘  │  │           ║\n║        │  │                         │         │  │           ║\n║        │  │               ┌─────────▼──────┐  │  │           ║\n║        │  │               │ Recommendation │  │  │           ║\n║        │  │               │ Generator      │  │  │           ║\n║        │  │               │ (Agent 3)      │  │  │           ║\n║        │  │               └─────────┬──────┘  │  │           ║\n║        │  └─────────────────────────┼─────────┘  │           ║\n║        └─────────────────────────────────────────┘           ║\n║                                     │  result                 ║\n║                                    END                        ║\n╚═══════════════════════════════════════════════════════════════╝\n                                     │\n                    ┌────────────────▼────────────────┐\n                    │      Redis (Cloud / Local)       │\n                    │  • Vector DB (embeddings)     │\n                    │  • LLM Cache                     │\n                    │  • Chat Message History          │\n                    └─────────────────────────────────┘\n```\n\n---\n\n## Agent Pipeline\n\n| # | Agent | Role | Key Responsibility |\n|---|-------|------|--------------------|\n| 1 | **Preference Analyst** | Understands the user | Parses the query + chat history to build a detailed taste profile (genres, themes, mood) |\n| 2 | **Movie Matcher** | Searches the catalogue | Uses semantic similarity search against the Redis vector store to surface the best candidate films |\n| 3 | **Recommendation Generator** | Crafts the reply | Ranks candidates by relevance and writes a personalised, conversational recommendation with reasons |\n\nAll three agents share the **Movie Database Lookup** tool — a CrewAI `@tool` that performs vector similarity search over the 3,000-title MovieLens index stored in Redis.\n\n---\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| **LLM** | Groq — `llama-3.3-70b-versatile` |\n| **Agent orchestration** | CrewAI |\n| **Workflow graph** | LangGraph (`StateGraph`) |\n| **Embeddings** | HuggingFace Inference API — `sentence-transformers/all-MiniLM-L6-v2` |\n| **Vector DB** | Redis (via `langchain-redis`) |\n| **Chat memory** | `RedisChatMessageHistory` (langchain-redis) |\n| **UI** | Streamlit |\n| **LLM proxy** | `litellm` (CrewAI dependency) |\n| **Dataset** | MovieLens `ml-latest-small` |\n\n---\n\n## Project Structure\n\n```\nmultiagent/\n├── streamlit_app.py        # Streamlit web application (main entry point)\n├── multiagent.ipynb        # Jupyter notebook (exploration & prototyping)\n├── credentials.py          # API keys and Redis connection details\n├── requirements.txt        # Python dependencies\n├── ml-latest-small/        # MovieLens dataset\n   ├── movies.csv\n\n```\n\n---\n\n## Prerequisites\n\n- **Python 3.10+**\n- A free [Groq API key](https://console.groq.com/)\n- A free [HuggingFace account & token](https://huggingface.co/settings/tokens)\n- A **Redis** instance — [Redis Cloud](https://redis.com/try-free/)\n\n---\n\n## Installation\n\n```bash\n# 1. Clone / download the project\ncd multiagent\n\n# 2. Create a virtual environment (recommended)\npython -m venv .venv\n.venv\\Scripts\\activate          # Windows\n# source .venv/Scripts/activate     # macOS / Linux\n\n# 3. Install dependencies\npip install -r requirements.txt\n```\n\n---\n\n## Configuration\n\nCreate a file called `credentials.py` in the `multiagent/` directory:\n\n```python\n# credentials.py\nGROQ_API_KEY   = \"gsk_...\"          # Groq API key\nHF_TOKEN       = \"hf_...\"           # HuggingFace token\n\nREDIS_HOST     = \"your-redis-host\"  # e.g. redis-12345.c1.us-east-1-1.ec2.cloud.redislabs.com\nREDIS_PORT     = 12345              # your Redis port (integer)\nREDIS_PASSWORD = \"your-password\"    # Redis password\nREDIS_URL      = f\"redis://default:{REDIS_PASSWORD}@{REDIS_HOST}:{REDIS_PORT}\"\n```\n\n---\n\n## Running the App\n\n```bash\nstreamlit run streamlit_app.py\n```\n\nThe app will open at `http://localhost:8501`.\n\nOn first run it will:\n1. Connect to Redis and verify the connection.\n2. Download the `sentence-transformers/all-MiniLM-L6-v2` embedding model via the HuggingFace Inference API.\n3. Read `ml-latest-small/movies.csv`, embed the first 3,000 titles, and index them in Redis.\n4. Initialise the three CrewAI agents and the Groq LLM.\n\nSubsequent runs re-use the cached resources (Streamlit `@st.cache_resource`), so startup is much faster.\n\n---\n\n## Using the Notebook\n\nOpen `multiagent.ipynb` in VS Code or JupyterLab to explore the system interactively:\n\n```bash\njupyter lab multiagent.ipynb\n```\n\nThe notebook walks through:\n\n1. Installing / verifying package versions\n2. Connecting to Redis\n3. Loading and embedding the MovieLens dataset\n4. Defining the three agents and their tasks\n5. Assembling the `Crew`\n6. Wrapping the crew in a **LangGraph** `StateGraph`\n7. Running an interactive terminal-based recommendation loop\n\n---\n\n## How It Works\n\n### 1. Vector Store Indexing\n\nThe first 3,000 movie titles from `movies.csv` are embedded with `sentence-transformers/all-MiniLM-L6-v2` (via the HuggingFace Inference API — no local GPU required) and stored in a Redis `SearchIndex` under the key `movie_recommendations`.\n\n### 2. User Query\n\nThe user types a free-form request in the Streamlit chat input, or clicks one of eight pre-built suggestion chips (e.g. *\"🚀 Sci-fi adventures\"*).\n\n### 3. Agent Execution\n\n```\nkickoff(inputs={\"user_input\": \"...\", \"chat_history\": [...]})\n```\n\nCrewAI runs the three agents **sequentially**:\n\n- **Preference Analyst** examines the query and recent chat turns to extract genres, themes, and mood signals.\n- **Movie Matcher** invokes the `Movie Database Lookup` tool (Redis similarity search) and surfaces the top candidates.\n- **Recommendation Generator** ranks those candidates and returns a conversational reply with a reason for each pick.\n\n### 4. Live Agent Visibility\n\nWhile the crew is running, the Streamlit UI shows an inline live progress view with:\n- A **green block** for each completed agent task (first 400 characters of output).\n- A **blue block** for the current agent step / tool call (first 300 characters).\n\nOnce the crew finishes, the live cards are replaced by a collapsed **🧠 Agent reasoning** expander showing the full output of every completed task.\n\n### 5. Redis Memory\n\nEvery user message and AI reply is appended to `RedisChatMessageHistory`. On the next query the full history is serialised and sent to the crew so the agents can maintain conversational context.\n\n---\n\n## Dataset\n\n[MovieLens Small](https://grouplens.org/datasets/movielens/latest/) by GroupLens Research:\n\n| File | Description |\n|------|-------------|\n| `movies.csv` | 9,742 movies with title and genres |\n| `ratings.csv` | 100,836 ratings from 610 users |\n| `tags.csv` | User-applied tags |\n| `links.csv` | TMDb / IMDb identifiers |\n\nOnly the first 3,000 rows of `movies.csv` are indexed into the vector store to stay within Redis free-tier memory limits. You can adjust this in your code:\n\n```python\nsample_df = movies_df.head(3000)   # ← change to index more titles if your Redis plan allows\n```\n","readmeExcerpt":"🎬 MultiAgent Recommender System A conversational recommendation system powered by a **three-agent AI crew** that collaborates in real-time to deliver personalised film suggestions. Built with $1, $1, $1, and $1. --- Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- Overview The MultiAgent Movie Recommender accepts a natural language query (e.g. *\"feel-good comedies\"*, *\"mind-bending s","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"User Input (Streamlit Chat)\n        │\n        ▼\n┌═══════════════════════════════════════════════════════════════╗\n║               Workflow Graph (LangGraph)                      ║\n║                                                               ║\n║                                                               ║\n║                                                               ║\n║                                                               ║\n║        ┌─────────────────────────────────────────┐            ║\n║        │  Node: \"run_crew\"                        │           ║\n║        │                                          │           ║\n║        │  ┌───────────────────────────────────┐  │           ║\n║        │  │    Agent Orchestration (CrewAI)   │  │           ║\n║        │  │                                   │  │           ║\n║        │  │  ┌─────────────┐  ┌────────────┐  │  │           ║\n║        │  │  │ Preference  │─▶│  Movie     │  │  │           ║\n║        │  │  │ Analyst     │  │  Matcher   │  │  │           ║\n║        │  │  │ (Agent 1)   │  │  (Agent 2) │  │  │           ║\n║        │  │  └─────────────┘  └─────┬──────┘  │  │           ║\n║        │  │                         │         │  │           ║\n║        │  │               ┌─────────▼──────┐  │  │           ║\n║        │  │               │ Recommendation │  │  │           ║\n║        │  │               │ Generator      │  │  │           ║\n║        │  │               │ (Agent 3)      │  │  │           ║\n║        │  │               └─────────┬──────┘  │  │           ║\n║        │  └─────────────────────────┼─────────┘  │           ║\n║        └─────────────────────────────────────────┘           ║\n║                                     │  result                 ║\n║                                    END                        ║\n╚═══════════════════════════════════════════════════════════════╝\n                                     │\n                    ┌────────────────▼────────────────┐\n                    │    "},{"language":"text","snippet":"multiagent/\n├── streamlit_app.py        # Streamlit web application (main entry point)\n├── multiagent.ipynb        # Jupyter notebook (exploration & prototyping)\n├── credentials.py          # API keys and Redis connection details\n├── requirements.txt        # Python dependencies\n├── ml-latest-small/        # MovieLens dataset\n   ├── movies.csv"},{"language":"bash","snippet":"# 1. Clone / download the project\ncd multiagent\n\n# 2. Create a virtual environment (recommended)\npython -m venv .venv\n.venv\\Scripts\\activate          # Windows\n# source .venv/Scripts/activate     # macOS / Linux\n\n# 3. Install dependencies\npip install -r requirements.txt"},{"language":"python","snippet":"# credentials.py\nGROQ_API_KEY   = \"gsk_...\"          # Groq API key\nHF_TOKEN       = \"hf_...\"           # HuggingFace token\n\nREDIS_HOST     = \"your-redis-host\"  # e.g. redis-12345.c1.us-east-1-1.ec2.cloud.redislabs.com\nREDIS_PORT     = 12345              # your Redis port (integer)\nREDIS_PASSWORD = \"your-password\"    # Redis password\nREDIS_URL      = f\"redis://default:{REDIS_PASSWORD}@{REDIS_HOST}:{REDIS_PORT}\""},{"language":"bash","snippet":"streamlit run streamlit_app.py"},{"language":"bash","snippet":"jupyter lab multiagent.ipynb"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB OPENCLEW","editorialOverview":"🎬 Conversational recommender system powered by a three-specialized-agent CrewAI pipeline (Preference Analyst → Movie Matcher → Recommendation Generator), powered by Vector search, Groq LLM, and LangGraph. 🎬 MultiAgent Recommender System A conversational recommendation system powered by a **three-agent AI crew** that collaborates in real-time to deliver personalised film suggestions. Built with $1, $1, $1, and $1. --- Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- Overview The MultiAgent Movie Recommender accepts a natural language query (e.g. *\"feel-good comedies\"*, *\"mind-bending s","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":369,"uniquenessScore":68,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-06-01T00:30:41.913Z","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-06-01T00:30:41.913Z","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:02:37.119Z","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"}]}}}