{"id":"3bbd69ca-27fd-490b-ae47-70266c8900d8","entityType":"agent","slug":"crewai-yujata22-crewai-ticket-triage-evaluator","name":"crewai-ticket-triage-evaluator","canonicalUrl":"https://www.xpersona.co/agent/crewai-yujata22-crewai-ticket-triage-evaluator","canonicalPath":"/agent/crewai-yujata22-crewai-ticket-triage-evaluator","generatedAt":"2026-10-10T08:05:56.354Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T15:16:46.763Z","emptyReason":null},"description":"Multi-agent ticket triage using CrewAI, evaluated against a single-LLM baseline for quality, latency and cost. CrewAI Ticket Triage Evaluator A local, policy-grounded LLM evaluation project that compares a **single-model baseline** with a **role-based CrewAI workflow** for technical ticket triage. The system predicts ticket category, priority, SLA, owning team, RACI assignment, confidence, missing information, and whether human review is required. Both architectures use the same local Ollama model so the comparison isolates t","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/Yujata22/crewai-ticket-triage-evaluator","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/Yujata22/crewai-ticket-triage-evaluator","kind":"source"}],"safetyScore":66,"overallRank":21.4,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Multi-agent ticket triage using CrewAI, evaluated against a single-LLM baseline for quality, latency and cost. CrewAI Ticket Triage Evaluator A local, policy-gr"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T15:16:46.763Z","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-09T15:16:46.763Z","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-09T15:16:46.761Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T15:16:46.763Z","lastCrawledAt":"2026-10-09T15:16:46.761Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T15:16:46.761Z","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-yujata22-crewai-ticket-triage-evaluator/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/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-10T08:05:56.353Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-yujata22-crewai-ticket-triage-evaluator/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-09T15:16:46.763Z","emptyReason":null},"readme":"# CrewAI Ticket Triage Evaluator\n\nA local, policy-grounded LLM evaluation project that compares a **single-model baseline** with a **role-based CrewAI workflow** for technical ticket triage.\n\nThe system predicts ticket category, priority, SLA, owning team, RACI assignment, confidence, missing information, and whether human review is required. Both architectures use the same local Ollama model so the comparison isolates the effect of orchestration.\n\n![CrewAI ticket triage architecture](docs/architecture.svg)\n\n## Project status\n\n- Local inference through Ollama and Qwen3 4B\n- Strict Pydantic input and output schemas\n- Single-LLM baseline\n- Three-agent sequential CrewAI workflow\n- Synthetic labeled evaluation dataset\n- Accuracy, validity, latency, and model-call evaluation\n- Professional Streamlit evaluation dashboard\n- Unit tests and Ruff checks\n- GitHub issue-ingestion adapter reserved for the live-data demonstration\n\n## Problem statement\n\nEngineering organizations often use tickets to document almost every task. This creates visibility, but ticket volume alone does not create operational clarity. Tickets may still lack:\n\n- A clear point of contact\n- Evidence-based priority\n- A target SLA or ETA\n- An accountable service owner\n- Appropriate Responsible, Accountable, Consulted, and Informed assignments\n- A consistent escalation or human-review decision\n\nThis project asks:\n\n> Can a role-based CrewAI workflow produce more accurate and governable ticket-triage recommendations than a single LLM call, and is any improvement worth the additional latency and model-call cost?\n\n## STAR framework\n\n### Situation\n\nIn high-volume engineering environments, tickets can become a proxy for work volume instead of a reliable mechanism for routing and prioritization. Even small tasks may become tickets, while the owning team, accountable role, priority, SLA, and dependency path remain ambiguous.\n\nThat ambiguity introduces triage delays, duplicate ownership, incorrect escalation, and unclear stakeholder expectations.\n\n### Task\n\nBuild a reproducible LLM evaluation system that:\n\n1. Normalizes technical tickets into a strict schema.\n2. Applies shared priority, SLA, service-ownership, and RACI policies.\n3. Compares a single-LLM baseline against a specialized multi-agent workflow.\n4. Measures decision quality, structured-output reliability, latency, and architecture cost.\n5. Presents the results in a portfolio-ready dashboard.\n\n### Action\n\nI implemented:\n\n- A strict Pydantic schema for ticket inputs, labeled ground truth, RACI assignments, and model recommendations.\n- A policy layer containing P0-P3 definitions, target SLAs, service ownership, aliases, and RACI rules.\n- A single-LLM baseline that produces one complete structured recommendation from one model call.\n- A CrewAI sequential workflow with three role-based agents:\n  - **Incident Impact Analyst** for category, priority, SLA, impact, and missing information.\n  - **Service Ownership and RACI Analyst** for owning team and governance assignments.\n  - **Triage Quality Reviewer** for reconciliation, policy validation, and final structured output.\n- A shared local LLM configuration so both architectures use Ollama and Qwen3 4B under the same conditions.\n- A labeled synthetic dataset representing incidents, bugs, access requests, service requests, operational tasks, documentation issues, and questions.\n- An evaluation runner that records field-level correctness, core accuracy, RACI accuracy, exact match, output validity, latency, model calls, and local API cost.\n- A dark-themed Streamlit dashboard with architecture comparison, ticket-level inspection, and a production decision lens.\n- Automated tests with Pytest and static checks with Ruff.\n\n### Result\n\nThe project now provides an end-to-end local evaluation loop:\n\n```text\nTicket → baseline and CrewAI predictions → labeled comparison → JSON results → dashboard\n```\n\nThe local prototype has **$0 API cost** because inference runs through Ollama. The architectural trade-off is explicit: the baseline uses one model call per ticket, while the CrewAI workflow uses three specialist calls per ticket.\n\nThis makes the decision measurable rather than ideological: use multi-agent orchestration only when improvements in accuracy, governance, or explainability justify the additional latency and production inference cost.\n\n## Architecture comparison\n\n| Dimension | Single-LLM baseline | CrewAI workflow |\n|---|---:|---:|\n| Model calls per ticket | 1 | 3 |\n| Roles | One generalist | Impact, ownership/RACI, reviewer |\n| Local API cost | $0 | $0 |\n| Expected latency | Lower | Higher |\n| Policy review | One pass | Specialist analysis plus review |\n| Best fit | Simple, structured tickets | Ambiguous, cross-functional tickets |\n\n## Why CrewAI?\n\nCrewAI fits this problem because the business process is naturally expressed as collaboration between named roles. The value being tested is not merely calling an LLM multiple times; it is separating responsibility for impact analysis, ownership governance, and final quality review.\n\nCrewAI makes those roles, goals, backstories, tasks, context handoffs, and sequential execution explicit and readable.\n\n## Why not LangGraph for this implementation?\n\nLangGraph is strong when the primary challenge is explicit state management, conditional routing, retries, loops, interrupts, resumability, and complex branching.\n\nThis prototype has a short, sequential, role-driven workflow. CrewAI expresses that requirement with less orchestration code. A production version could use LangGraph or CrewAI Flows if it required long-running state, complex retry paths, human approval checkpoints, or resumable processing.\n\nThe decision is therefore based on workflow shape, not on one framework being universally better.\n\n## Evaluation methodology\n\nBoth systems receive:\n\n- The same normalized ticket\n- The same priority and SLA policy\n- The same service-ownership policy\n- The same RACI rules\n- The same Ollama model\n- The same temperature configuration\n\nThe evaluation measures:\n\n- Category correctness\n- Priority correctness\n- SLA correctness\n- Owning-team correctness\n- Responsible and Accountable correctness\n- Consulted and Informed set correctness\n- Core accuracy\n- RACI accuracy\n- Overall field accuracy\n- Exact match\n- Structured-output validity\n- Response latency\n- Model calls per ticket\n- Local API cost\n\nThe default command runs a two-ticket smoke benchmark. This is suitable for demonstrating the pipeline, not for claiming statistical significance. Run the full labeled dataset before making stronger quality conclusions.\n\n## Technology stack\n\n| Area | Technology |\n|---|---|\n| Language | Python 3.11+ |\n| Environment and dependency management | uv |\n| Agent orchestration | CrewAI |\n| Local model runtime | Ollama |\n| Model | Qwen3 4B |\n| Validation | Pydantic |\n| Evaluation data | Synthetic labeled JSON |\n| Analysis | pandas |\n| Dashboard | Streamlit |\n| Testing | Pytest |\n| Linting | Ruff |\n\n## Quick start on macOS\n\n### Prerequisites\n\n- macOS 14 or newer\n- Apple Silicon recommended\n- Python 3.11+\n- uv\n- Ollama\n\n### Install the project\n\n```bash\ngit clone https://github.com/Yujata22/crewai-ticket-triage-evaluator.git\ncd crewai-ticket-triage-evaluator\nuv sync\ncp .env.example .env\n```\n\n### Install and test the local model\n\n```bash\nollama pull qwen3:4b\nollama run qwen3:4b \"Reply with: local model ready\"\n```\n\n### Environment configuration\n\n```env\nPYTHONPATH=src\nLLM_PROVIDER=ollama\nOLLAMA_MODEL=qwen3:4b\nOLLAMA_BASE_URL=http://localhost:11434\nLLM_TEMPERATURE=0\n\nGITHUB_TOKEN=\nGITHUB_OWNER=streamlit\nGITHUB_REPO=streamlit\nGITHUB_ISSUE_LIMIT=20\n```\n\nNever commit `.env` or a real GitHub token.\n\n## Run the evaluation\n\nTwo-ticket smoke benchmark:\n\n```bash\nuv run --env-file .env python \\\n  -m ticket_triage.evaluation.runner --limit 2\n```\n\nFull synthetic dataset:\n\n```bash\nuv run --env-file .env python \\\n  -m ticket_triage.evaluation.runner --limit 5\n```\n\nResults are written to:\n\n```text\ndata/results/evaluation_results.json\n```\n\n## Run the dashboard\n\n```bash\nuv run --env-file .env streamlit run app.py\n```\n\nThe dashboard includes:\n\n- Architecture-level accuracy comparison\n- Average latency comparison\n- Structured-output success rate\n- Model-call amplification\n- Predicted versus expected ticket details\n- A production deployment and cost interpretation\n\n## Run quality checks\n\n```bash\nuv run ruff check .\nuv run pytest -q\n```\n\n## Repository structure\n\n```text\n.\n├── app.py\n├── data\n│   ├── live\n│   ├── results\n│   └── synthetic\n│       └── tickets.json\n├── docs\n│   ├── architecture.png\n│   └── architecture.svg\n├── src\n│   └── ticket_triage\n│       ├── baseline.py\n│       ├── config.py\n│       ├── data_loader.py\n│       ├── llm_client.py\n│       ├── llm_config.py\n│       ├── schemas.py\n│       ├── crew\n│       │   ├── agents.py\n│       │   ├── tasks.py\n│       │   └── workflow.py\n│       ├── evaluation\n│       │   ├── metrics.py\n│       │   └── runner.py\n│       └── ingestion\n│           └── github.py\n└── tests\n```\n\n## Dataset strategy\n\nThe labeled synthetic dataset is the source of truth for quantitative evaluation because each ticket has an expected category, priority, owner, RACI assignment, and SLA.\n\nLive GitHub issues are valuable for demonstrations and distribution-shift checks, but they normally do not contain reliable ground-truth priority, ownership, or RACI labels. They should therefore be reviewed manually or labeled before being included in an accuracy benchmark.\n\n## Cost interpretation\n\nThe local experiment records an API cost of $0, but local inference is not economically free. It still uses laptop memory, compute, storage, time, and electricity.\n\nIn a hosted production environment, cost would include:\n\n- Input and output tokens\n- Number of model calls\n- Model tier\n- Retry and validation calls\n- Compute or API charges\n- Storage and observability\n- Human-review time\n- Operations and maintenance\n\nBecause CrewAI currently makes three calls for every baseline call, its hosted inference cost would generally be higher before accounting for longer context handoffs. The dashboard makes this multiplier visible.\n\n## Production evolution\n\nA production implementation could add:\n\n- Jira, ServiceNow, GitHub, Slack, or email ingestion\n- An API and queue for asynchronous ticket processing\n- Retries, timeouts, idempotency, and dead-letter handling\n- Hosted or privately deployed model gateways\n- Human approval for low-confidence or ambiguous tickets\n- PostgreSQL or a warehouse for evaluation history\n- Tracing, quality monitoring, cost monitoring, and drift detection\n- Authentication, authorization, secrets management, and audit logs\n- Containerized deployment and autoscaling where justified\n\nKubernetes is not required for this local prototype. It becomes relevant only when deployment scale, availability, isolation, or operational standards justify the additional complexity.\n\n## Limitations\n\n- The current labeled dataset is intentionally small.\n- Qwen3 4B prioritizes local cost and accessibility over frontier-model quality.\n- Exact RACI matching can penalize semantically equivalent stakeholder names.\n- Local latency depends on the developer machine and current resource usage.\n- Live GitHub issues require manual or trusted labels for quantitative accuracy evaluation.\n- A multi-agent workflow can amplify an incorrect assumption if review prompts are weak.\n\n## Next steps\n\n- Complete and test live GitHub issue ingestion.\n- Expand the labeled dataset with ambiguous and adversarial cases.\n- Add semantic ownership scoring and calibration metrics.\n- Capture exact token usage from the model runtime.\n- Add repeated runs to measure output stability.\n- Add human-review feedback and error analysis.\n- Compare multiple local and hosted models under the same evaluation harness.\n\n## Responsible use\n\nThis system recommends triage decisions; it should not automatically assign critical production incidents without appropriate validation and human oversight. Low-confidence predictions, missing business-impact data, and ambiguous ownership should be routed for review.\n","readmeExcerpt":"CrewAI Ticket Triage Evaluator A local, policy-grounded LLM evaluation project that compares a **single-model baseline** with a **role-based CrewAI workflow** for technical ticket triage. The system predicts ticket category, priority, SLA, owning team, RACI assignment, confidence, missing information, and whether human review is required. Both architectures use the same local Ollama model so the comparison isolates t","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Ticket → baseline and CrewAI predictions → labeled comparison → JSON results → dashboard"},{"language":"bash","snippet":"git clone https://github.com/Yujata22/crewai-ticket-triage-evaluator.git\ncd crewai-ticket-triage-evaluator\nuv sync\ncp .env.example .env"},{"language":"bash","snippet":"ollama pull qwen3:4b\nollama run qwen3:4b \"Reply with: local model ready\""},{"language":"env","snippet":"PYTHONPATH=src\nLLM_PROVIDER=ollama\nOLLAMA_MODEL=qwen3:4b\nOLLAMA_BASE_URL=http://localhost:11434\nLLM_TEMPERATURE=0\n\nGITHUB_TOKEN=\nGITHUB_OWNER=streamlit\nGITHUB_REPO=streamlit\nGITHUB_ISSUE_LIMIT=20"},{"language":"bash","snippet":"uv run --env-file .env python \\\n  -m ticket_triage.evaluation.runner --limit 2"},{"language":"bash","snippet":"uv run --env-file .env python \\\n  -m ticket_triage.evaluation.runner --limit 5"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"Multi-agent ticket triage using CrewAI, evaluated against a single-LLM baseline for quality, latency and cost. CrewAI Ticket Triage Evaluator A local, policy-grounded LLM evaluation project that compares a **single-model baseline** with a **role-based CrewAI workflow** for technical ticket triage. The system predicts ticket category, priority, SLA, owning team, RACI assignment, confidence, missing information, and whether human review is required. Both architectures use the same local Ollama model so the comparison isolates t","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":397,"uniquenessScore":63,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T15:16:46.763Z","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-09T15:16:46.763Z","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-10T08:05:56.354Z","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"}]}}}