{"id":"68906725-24b7-402d-8fbc-e8ad5cd43733","entityType":"agent","slug":"crewai-imohitseth-resilient-multi-agent-orchestration","name":"Resilient-Multi-Agent-Orchestration","canonicalUrl":"https://www.xpersona.co/agent/crewai-imohitseth-resilient-multi-agent-orchestration","canonicalPath":"/agent/crewai-imohitseth-resilient-multi-agent-orchestration","generatedAt":"2026-10-09T22:49:40.278Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T04:28:06.382Z","emptyReason":null},"description":"Async multi-agent meeting scheduler using CrewAI, sweep-line interval math, and a custom Interval Tree — runs offline with zero API keys Resilient Multi-Agent Scheduling Engine A fault-tolerant calendar coordination system built on CrewAI — uses a sweep-line interval algorithm and custom Interval Tree to find optimal meeting windows across 5+ global timezones, with exponential-backoff resilience and zero-dependency mock execution. $1 $1 $1 $1 $1 --- What This Is Scheduling a meeting across 5+ global time zones is a constraint-satisfaction problem that","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/imohitseth/Resilient-Multi-Agent-Orchestration","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/imohitseth/Resilient-Multi-Agent-Orchestration","kind":"source"}],"safetyScore":66,"overallRank":18.6,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Async multi-agent meeting scheduler using CrewAI, sweep-line interval math, and a custom Interval Tree — runs offline with zero API keys Resilient Multi-Agent S"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:28:06.382Z","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-09T04:28:06.382Z","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-09T04:28:06.377Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T04:28:06.382Z","lastCrawledAt":"2026-10-09T04:28:06.377Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T04:28:06.377Z","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-imohitseth-resilient-multi-agent-orchestration/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/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-09T22:49:40.278Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-imohitseth-resilient-multi-agent-orchestration/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-09T04:28:06.382Z","emptyReason":null},"readme":"# Resilient Multi-Agent Scheduling Engine\n\n> A fault-tolerant calendar coordination system built on CrewAI — uses a sweep-line interval algorithm and custom Interval Tree to find optimal meeting windows across 5+ global timezones, with exponential-backoff resilience and zero-dependency mock execution.\n\n[![Python](https://img.shields.io/badge/Python-3.11+-blue.svg?style=flat-square&logo=python&logoColor=white)](https://www.python.org/)\n[![Framework](https://img.shields.io/badge/Framework-CrewAI_1.14-orange.svg?style=flat-square)](https://github.com/crewAIInc/crewAI)\n[![License](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](LICENSE)\n[![Tests](https://img.shields.io/badge/Tests-unittest-brightgreen.svg?style=flat-square&logo=github-actions)](tests/test_scheduler.py)\n[![LLM](https://img.shields.io/badge/LLM-OpenAI%20%7C%20Gemini%20%7C%20Claude-purple.svg?style=flat-square)](main.py)\n\n---\n\n## What This Is\n\nScheduling a meeting across 5+ global time zones is a constraint-satisfaction problem that most tools fail at: when no standard 9–5 windows overlap, they return nothing. This project solves it with an autonomous 3-agent pipeline.\n\nThree specialized CrewAI agents work sequentially:\n\n1. **Profile Manager** — maps human-readable locations (`\"London, UK\"`) to IANA timezone identifiers\n2. **Availability Checker** — fetches calendar data concurrently via `asyncio`, with exponential-backoff retries and graceful degradation for offline participants\n3. **Optimization Coordinator** — runs a sweep-line interval scan backed by a custom BST-based Interval Tree to find the minimum-disruption meeting window, with a penalty-scored compromise mode when no clean overlap exists\n\nThe system runs fully offline with a `--mode mock` flag — no API key required. A `--mode real` path integrates live Google Calendar OAuth and pluggable LLM backends (OpenAI, Gemini, Claude).\n\n---\nDemo:\n\n<img width=\"938\" height=\"718\" alt=\"image\" src=\"https://github.com/user-attachments/assets/5be4f642-3775-484b-920a-de8f4c925604\" />\n<br><br>\n<img width=\"928\" height=\"707\" alt=\"image\" src=\"https://github.com/user-attachments/assets/a162abb4-2a5e-4f62-9de0-1682016c8a70\" />\n\n\n---\n\n## Architecture\n\n```\nsequenceDiagram\n    autonumber\n    actor CLI as User (main.py)\n    participant PM as Profile Manager Agent\n    participant AC as Availability Checker Agent\n    participant HC as Hybrid Calendar Client\n    participant OC as Optimization Coordinator Agent\n    participant DB as calendars_mock.json\n\n    CLI->>PM: Input: names + locations\n    PM->>PM: GetParticipantTimezoneTool (IANA lookup)\n    PM->>AC: Resolved timezone map (JSON)\n\n    rect rgb(200, 220, 240)\n        Note over AC, HC: Concurrency Layer — asyncio.gather\n        AC->>HC: Parallel availability queries\n        alt credentials.json exists\n            HC->>HC: OAuth Desktop Flow\n            HC->>HC: Google Calendar API (freebusy)\n        else No credentials\n            HC->>DB: Read calendars_mock.json\n        end\n        HC-->>AC: Availability payload (per participant)\n    end\n\n    AC->>OC: Compiled timezones + busy slots (JSON)\n    OC->>OC: CalculateMeetingWindowTool\n    Note over OC: Sweep-Line + IntervalTree overlap search\n    OC-->>CLI: Localized schedule report + compromise rationale\n```\n\n**Key design decision — MockLLM:** Rather than mocking at the HTTP layer, a custom `BaseLLM` subclass intercepts CrewAI's prompt strings, identifies the active agent by role, executes tools programmatically, and returns formatted ReAct-style thoughts that advance the Crew state machine. This lets the full sequential pipeline run end-to-end without any API key.\n\n---\n\n## Engineering Highlights\n\n### Sweep-Line Interval Search (O(M) vs O(N))\n\nThe naive approach divides the 24-hour day into 96 grid slots of 15 minutes and evaluates each one. This runs in O(N) where N = 96 per participant, and rounds all event boundaries to 15-minute increments.\n\nThis implementation collects only the **critical boundary points** across all participants — the start/end of every busy block, every working-hour boundary, and every sleep boundary — then evaluates only those candidate start times. For a team with M total calendar events, the search evaluates O(M) candidates at minute-level precision rather than 96 fixed slices.\n\n```python\n# Collect only meaningful boundaries — not a 96-slot grid\ncritical_boundaries = set()\nfor slot in busy_slots:\n    critical_boundaries.add(busy_start_utc)\n    critical_boundaries.add(busy_end_utc)\n\n# Evaluate each boundary as a candidate meeting start\nfor slot_start in sorted(critical_boundaries):\n    ...\n```\n\n### Custom Interval Tree (BST-backed, O(log K) average case overlap queries)\n\nRather than scanning all busy blocks linearly for each candidate start time, each participant's busy slots are loaded into a hand-rolled binary search tree `IntervalTree` (in `interval_tree.py`). The tree maintains a `max` subtree high-endpoint at each node to prune branches early during overlap queries.\n\n```\noverlap_search([slot_start, slot_end]):\n  - If left.max ≤ slot_start: prune entire left subtree\n  - If root.low ≥ slot_end: no overlap possible in right subtree\n  - Result: O(log K + R) where K = events, R = results returned\n```\n\nThis is particularly important in the compromise-scoring path, where hundreds of candidate slots are each evaluated against every participant's event tree.\n\n### Exponential Backoff with Jitter\n\nCalendar API fetches use an async retry wrapper with randomized jitter to prevent thundering-herd behavior on shared infrastructure:\n\n```\ndelay = initial_delay × (factor ^ attempt) + random(0, 1.0)\n```\n\nParameters: `initial_delay=1.0s`, `factor=2.0`, `max_retries=3`. A `SIMULATE_TRANSIENT_FAILURE` environment flag triggers this path for testing.\n\n### Graceful Degradation\n\nIf a participant's calendar fetch fails after all retries, the scheduler excludes them from the overlap calculation, flags them in the output, and continues planning for the remaining group. The final report marks failed participants explicitly rather than silently dropping them.\n\n### Penalty-Based Compromise Mode\n\nWhen no zero-penalty slot exists (i.e. no window falls within working hours for all participants), the system selects the **minimum-disruption** slot using a weighted penalty model:\n\n| Condition | Penalty |\n|---|---|\n| Within working hours, no conflicts | 0 |\n| Outside working hours (shoulder) | 15 |\n| Sleep hours (10 PM – 7 AM local) | 100 |\n| High-priority calendar conflict | 1000 |\n| Low-priority calendar conflict | 50 |\n\nThe output includes the disruption score and a per-participant status breakdown, so callers understand which trade-offs were made.\n\n---\n\n## Project Structure\n\n```\n├── main.py               # CLI entry point; MockLLM implementation; mode switching\n├── agents.py             # CrewAI agent definitions (Profile Manager, Availability Checker, Coordinator)\n├── tasks.py              # CrewAI task configurations and context passing\n├── tools.py              # All custom tools: timezone lookup, async calendar fetch, sweep-line solver\n├── interval_tree.py      # Custom BST-backed IntervalTree data structure\n├── calendars_mock.json   # Offline calendar dataset (5 participants, 5 timezones)\n├── requirements.txt      # Dependencies\n├── .github/workflows/    # CI configuration\n└── tests/\n    └── test_scheduler.py # Unit tests: sweep-line math, retry logic, IntervalTree behavior\n```\n\n---\n\n## Quickstart\n\n**Requirements:** Python 3.11+, Git\n\n```bash\n# 1. Clone and set up environment\ngit clone https://github.com/imohitseth/Resilient-Multi-Agent-Orchestration.git\ncd Resilient-Multi-Agent-Orchestration\npython -m venv .venv\nsource .venv/bin/activate        # Windows: .venv\\Scripts\\activate\n\n# 2. Install dependencies\npip install -r requirements.txt\n\n# 3. Run the test suite\npython -m unittest tests/test_scheduler.py\n\n# 4. Run in mock mode (no API key required)\nexport PYTHONIOENCODING=utf-8    # Windows: $env:PYTHONIOENCODING=\"utf-8\"\npython main.py --mode mock --date 2026-06-24 --duration 45\n```\n\nExpected output: a full localized schedule report for 5 participants (Alice/NYC, Bob/London, Charlie/Tokyo, David/Sydney, Eve/Bangalore), showing the optimal UTC window and each participant's local equivalent.\n\n---\n\n## Live Google Calendar Mode\n\nTo query real calendars instead of the mock dataset:\n\n1. In **Google Cloud Console**, enable the Google Calendar API and configure an OAuth Consent Screen (add your email as a test user).\n2. Create **Desktop Application OAuth Credentials**, download the JSON, and rename it `credentials.json` in the project root.\n3. Set an LLM key in `.env`:\n   ```\n   OPENAI_API_KEY=sk-...\n   # or GEMINI_API_KEY / ANTHROPIC_API_KEY\n   ```\n4. Run:\n   ```bash\n   python main.py --mode real --date 2026-06-24 --duration 45\n   ```\n   A browser tab will open on first run for Google OAuth. Credentials are cached to `token.json`.\n\nThe system auto-detects which participant matches the authenticated Google account by comparing calendar timezone metadata, then falls back to mock data for all others.\n\n---\n\n## Environment Variables\n\n| Variable | Description |\n|---|---|\n| `OPENAI_API_KEY` | OpenAI key for real-mode LLM |\n| `GEMINI_API_KEY` | Gemini key for real-mode LLM |\n| `ANTHROPIC_API_KEY` | Claude key for real-mode LLM |\n| `OTEL_SDK_DISABLED` | Set `true` to suppress OpenTelemetry network hooks |\n| `CREWAI_TELEMETRY_OPT_OUT` | Set `true` to disable CrewAI analytics |\n| `SIMULATE_TRANSIENT_FAILURE` | Set `true` to trigger backoff retry path for testing |\n| `PRIMARY_USER` | Override auto-detected Google Calendar user match |\n\n---\n\n## Engineering Challenges Solved\n\n**Pydantic validation conflict with CrewAI:** CrewAI's `Agent` class wraps LLMs in dynamic Pydantic validators at init time. Subclassing LangChain's `LLM` base caused type-identity failures inside those validators. The fix was subclassing `crewai.llms.base_llm.BaseLLM` directly, which preserves the class identity CrewAI's validators check for.\n\n**DST-aware timezone conversion:** Hardcoding UTC offsets (e.g. `EST = UTC-5`) produces wrong results for dates in summer when DST is active. All conversions use `pytz.timezone.localize()` to attach timezone context to naive datetimes before converting, ensuring correctness on any target date regardless of DST state.\n\n**Context passing between CrewAI sequential tasks:** Each task's output is a raw string. The next agent's prompt injects that string as context — but the Optimization Coordinator needs structured JSON from the Availability Checker. Custom `extract_participant_data()` and `extract_compilation_json()` parsers in `main.py` recover structured data from the prompt string when the pipeline runs in mock mode, with fallbacks to the mock JSON file.\n\n---\n\n## Roadmap\n\n- **Service Account auth**: Migrate from Desktop OAuth to Google Cloud Service Account JWT flow for daemon-mode organization-wide calendar access without user interaction\n- **Full Interval Tree balancing**: Add AVL/Red-Black rebalancing to maintain O(log K) worst-case query performance as event count grows\n- **REST API layer**: Wrap the scheduling engine in a FastAPI endpoint so it can be called from Slack bots, calendar integrations, or web frontends\n- **Multi-day search**: Extend the sweep across multiple days when no acceptable slot exists on the requested date\n- **Participant preference weights**: Allow per-user priority weights so a senior participant's sleep hours carry higher penalty than a junior's\n\n","readmeExcerpt":"Resilient Multi-Agent Scheduling Engine A fault-tolerant calendar coordination system built on CrewAI — uses a sweep-line interval algorithm and custom Interval Tree to find optimal meeting windows across 5+ global timezones, with exponential-backoff resilience and zero-dependency mock execution. $1 $1 $1 $1 $1 --- What This Is Scheduling a meeting across 5+ global time zones is a constraint-satisfaction problem that","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"sequenceDiagram\n    autonumber\n    actor CLI as User (main.py)\n    participant PM as Profile Manager Agent\n    participant AC as Availability Checker Agent\n    participant HC as Hybrid Calendar Client\n    participant OC as Optimization Coordinator Agent\n    participant DB as calendars_mock.json\n\n    CLI->>PM: Input: names + locations\n    PM->>PM: GetParticipantTimezoneTool (IANA lookup)\n    PM->>AC: Resolved timezone map (JSON)\n\n    rect rgb(200, 220, 240)\n        Note over AC, HC: Concurrency Layer — asyncio.gather\n        AC->>HC: Parallel availability queries\n        alt credentials.json exists\n            HC->>HC: OAuth Desktop Flow\n            HC->>HC: Google Calendar API (freebusy)\n        else No credentials\n            HC->>DB: Read calendars_mock.json\n        end\n        HC-->>AC: Availability payload (per participant)\n    end\n\n    AC->>OC: Compiled timezones + busy slots (JSON)\n    OC->>OC: CalculateMeetingWindowTool\n    Note over OC: Sweep-Line + IntervalTree overlap search\n    OC-->>CLI: Localized schedule report + compromise rationale"},{"language":"python","snippet":"# Collect only meaningful boundaries — not a 96-slot grid\ncritical_boundaries = set()\nfor slot in busy_slots:\n    critical_boundaries.add(busy_start_utc)\n    critical_boundaries.add(busy_end_utc)\n\n# Evaluate each boundary as a candidate meeting start\nfor slot_start in sorted(critical_boundaries):\n    ..."},{"language":"text","snippet":"overlap_search([slot_start, slot_end]):\n  - If left.max ≤ slot_start: prune entire left subtree\n  - If root.low ≥ slot_end: no overlap possible in right subtree\n  - Result: O(log K + R) where K = events, R = results returned"},{"language":"text","snippet":"delay = initial_delay × (factor ^ attempt) + random(0, 1.0)"},{"language":"text","snippet":"├── main.py               # CLI entry point; MockLLM implementation; mode switching\n├── agents.py             # CrewAI agent definitions (Profile Manager, Availability Checker, Coordinator)\n├── tasks.py              # CrewAI task configurations and context passing\n├── tools.py              # All custom tools: timezone lookup, async calendar fetch, sweep-line solver\n├── interval_tree.py      # Custom BST-backed IntervalTree data structure\n├── calendars_mock.json   # Offline calendar dataset (5 participants, 5 timezones)\n├── requirements.txt      # Dependencies\n├── .github/workflows/    # CI configuration\n└── tests/\n    └── test_scheduler.py # Unit tests: sweep-line math, retry logic, IntervalTree behavior"},{"language":"bash","snippet":"# 1. Clone and set up environment\ngit clone https://github.com/imohitseth/Resilient-Multi-Agent-Orchestration.git\ncd Resilient-Multi-Agent-Orchestration\npython -m venv .venv\nsource .venv/bin/activate        # Windows: .venv\\Scripts\\activate\n\n# 2. Install dependencies\npip install -r requirements.txt\n\n# 3. Run the test suite\npython -m unittest tests/test_scheduler.py\n\n# 4. Run in mock mode (no API key required)\nexport PYTHONIOENCODING=utf-8    # Windows: $env:PYTHONIOENCODING=\"utf-8\"\npython main.py --mode mock --date 2026-06-24 --duration 45"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"Async multi-agent meeting scheduler using CrewAI, sweep-line interval math, and a custom Interval Tree — runs offline with zero API keys Resilient Multi-Agent Scheduling Engine A fault-tolerant calendar coordination system built on CrewAI — uses a sweep-line interval algorithm and custom Interval Tree to find optimal meeting windows across 5+ global timezones, with exponential-backoff resilience and zero-dependency mock execution. $1 $1 $1 $1 $1 --- What This Is Scheduling a meeting across 5+ global time zones is a constraint-satisfaction problem that","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":399,"uniquenessScore":63,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T04:28:06.382Z","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-09T04:28:06.382Z","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-09T22:49:40.278Z","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"}]}}}