{"id":"3daf3473-63d6-4b37-b6c8-11ab21d22531","entityType":"agent","slug":"crewai-sasilab-agentverse-crewai-tamil-meme","name":"AgentVerse-CrewAI-Tamil-Meme","canonicalUrl":"https://www.xpersona.co/agent/crewai-sasilab-agentverse-crewai-tamil-meme","canonicalPath":"/agent/crewai-sasilab-agentverse-crewai-tamil-meme","generatedAt":"2026-10-08T23:24:22.932Z","source":"GITHUB_OPENCLEW","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-05-31T06:18:12.524Z","emptyReason":null},"description":"🎭 3 AI agents roast your city's weather & pollution in sarcastic Tamil meme style! Built with CrewAI, Open-Meteo APIs (free), and Groq/Gemini/OpenAI/Ollama. Part of the AgentVerse series by @explainpannu. Social Impact Crew — Weather + Pollution + Tamil Meme Writer A 3-agent $1 crew that pulls live weather and air-quality data for any city and turns it into a sarcastic Tanglish meme. Part of **AgentVerse** by $1 — an educational series teaching AI agent frameworks through small social-impact projects. One episode = one framework + one real-world problem. Previous episode: $1 — a simple ReAct weather agent. --- What it","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 5/31/2026.","installCommand":"git clone https://github.com/sasilab/AgentVerse-CrewAI-Tamil-Meme.git","sourceUrl":"https://github.com/sasilab/AgentVerse-CrewAI-Tamil-Meme","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/sasilab/AgentVerse-CrewAI-Tamil-Meme","kind":"source"}],"safetyScore":66,"overallRank":34.4,"popularityScore":12,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"🎭 3 AI agents roast your city's weather & pollution in sarcastic Tamil meme style! Built with CrewAI, Open-Meteo APIs (free), and Groq/Gemini/OpenAI/Ollama. Pa"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-05-31T06:18:12.524Z","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-05-31T06:18:12.524Z","emptyReason":null},"stars":2,"forks":1,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"2 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-05-31T06:18:12.523Z","emptyReason":null},"lastUpdatedAt":"2026-05-31T06:18:12.524Z","lastCrawledAt":"2026-05-31T06:18:12.523Z","lastIndexedAt":null,"nextCrawlAt":"2026-06-07T06:18:12.523Z","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/sasilab/AgentVerse-CrewAI-Tamil-Meme.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-sasilab-agentverse-crewai-tamil-meme/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/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-08T23:24:22.931Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-sasilab-agentverse-crewai-tamil-meme/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"high","updatedAt":"2026-05-31T06:18:12.524Z","emptyReason":null},"readme":"# Social Impact Crew — Weather + Pollution + Tamil Meme Writer\n\nA 3-agent [CrewAI](https://docs.crewai.com/) crew that pulls live weather and\nair-quality data for any city and turns it into a sarcastic Tanglish meme.\n\nPart of **AgentVerse** by [@explainpannu](https://x.com/explainpannu) — an\neducational series teaching AI agent frameworks through small social-impact\nprojects. One episode = one framework + one real-world problem.\n\n> Previous episode: [BreezyBuddy](https://github.com/sasilab/BreezyBuddy) — a\n> simple ReAct weather agent.\n\n---\n\n## What it does\n\n```\nYou: \"Chennai\"\n  │\n  ▼\n┌──────────────────────┐\n│ Weather Reporter     │  → geocodes the city, fetches current weather\n└──────────┬───────────┘\n           │ (lat/lon + summary)\n           ▼\n┌──────────────────────┐\n│ Pollution Analyst    │  → fetches AQI, PM2.5, PM10, NO2, O3\n└──────────┬───────────┘\n           │ (air-quality briefing)\n           ▼\n┌──────────────────────┐\n│ Tamil Meme Writer    │  → writes a 4-6 line Tanglish meme\n└──────────────────────┘\n```\n\nAll data comes from **Open-Meteo** (free, no API key). The only key you need\nis for the LLM.\n\n## Tech stack\n\n- **Framework:** CrewAI (latest)\n- **LLM:** Bring-your-own-key — Groq / Gemini / OpenAI / Ollama, auto-detected from `.env`\n- **Data APIs:** Open-Meteo (weather, air-quality, geocoding) + ipinfo.io (location)\n- **Python:** 3.10 – 3.12\n\n## Features\n\n- **Intent detection** — two-layer classifier (regex fast-path + LLM fallback)\n  routes each message to the right path: city query → full crew, casual\n  chitchat → direct LLM, settings command → nudge. Stops \"hi\" from kicking off\n  a 3-agent run and stops Tamil chitchat (\"enne chellam\") from fuzzy-matching\n  random villages.\n- **Safety guardrails** — rule-based AQI override fires *before* the LLM: when\n  `european_aqi >= 100`, a hardcoded health alert is returned and the meme\n  writer never gets to joke about hazardous air.\n- **Emotion + consent override** — if you sound sick, tired, sad, anxious, or\n  say \"leave me alone\", personality drops away and the reply is warm, brief,\n  and nudge-free. Health and consent override personality.\n- **Prompt-injection protection** — soft regex sanitiser neutralises common\n  \"ignore previous instructions\" / \"you are now\" / \"reveal system prompt\"\n  phrasings before they reach the model. Defence-in-depth, not a hard boundary.\n- **6 personalities × 4 languages** — Sarcastic, Wholesome, Dad-jokes,\n  Stoic-philosopher, Chaotic-genZ, Aunty-mode × English / Tanglish / Tamil /\n  Hindi. Swap voices live from the Settings panel; no restart, no code edits.\n- **BYOK via Settings panel (or .env)** — drop any one of `GROQ_API_KEY`,\n  `GEMINI_API_KEY`, `OPENAI_API_KEY` into `.env`, or paste a key into the\n  frontend Settings panel and it's used immediately (no restart). Ollama works\n  with no key. Preference order: Groq → Gemini → OpenAI → Ollama.\n- **Background AQI polling** — the frontend periodically calls `/api/run` to\n  refresh the AQI pill so the badge stays current without user interaction.\n- **Push notifications** — in-tab Notification API + service worker fire a\n  local alert when the AQI crosses a threshold. No VAPID keys, no server-side\n  push endpoint required.\n- **City auto-detect** — on CLI startup, your city is guessed from your public\n  IP (via [ipinfo.io](https://ipinfo.io), no key needed). Press Enter to\n  accept, or type any other city to override. Pass a city on the CLI to skip\n  the prompt entirely.\n\n## Quickstart\n\n```bash\n# 1. Clone & enter\ngit clone <this-repo>\ncd social_impact_crew\n\n# 2. Virtual env\npython -m venv .venv\n# Windows PowerShell:\n.\\.venv\\Scripts\\Activate.ps1\n# macOS / Linux:\nsource .venv/bin/activate\n\n# 3. Install\npip install -e .\n\n# 4. Add your LLM key\ncp .env.example .env\n# then edit .env and paste your GROQ_API_KEY (get one free at https://console.groq.com/keys)\n\n# 5. Run\npython -m social_impact_crew.main              # asks for a city\npython -m social_impact_crew.main Bengaluru    # or pass it on the CLI\n```\n\nYou'll get verbose CrewAI logs as each agent works, and the final meme\nprinted at the bottom.\n\n## Switching the LLM\n\nYou don't need to pick a provider explicitly — just put your key in `.env` and\nthe app auto-detects it. All four supported providers:\n\n| Provider | Free? | Env var to set | Default model |\n|---|---|---|---|\n| Groq | yes | `GROQ_API_KEY` | `groq/llama-3.3-70b-versatile` |\n| Gemini | yes | `GEMINI_API_KEY` | `gemini/gemini-2.5-flash` |\n| OpenAI | no | `OPENAI_API_KEY` | `gpt-4o-mini` |\n| Ollama | yes (local) | *(none — just run `ollama serve`)* | `ollama/llama3.2` |\n\nIf you want to pin a specific model, set `MODEL=<provider>/<model>` in `.env`.\nThat always wins over auto-detection. Format follows [LiteLLM's `provider/model` convention](https://docs.litellm.ai/docs/providers).\n\n## Project layout\n\n```\nsocial_impact_crew/\n├── pyproject.toml\n├── .env.example\n├── architecture.md             # Mermaid diagram + locked API contract\n└── src/social_impact_crew/\n    ├── main.py                 # CLI entry point + IP geolocation + OpenLIT\n    ├── api.py                  # FastAPI wrapper — POST /api/run + /api/chat\n    ├── crew.py                 # @CrewBase wiring\n    ├── llm.py                  # provider auto-detection (BYOK) + runtime overrides\n    ├── intent.py               # two-layer intent classifier (regex + LLM fallback)\n    ├── personality.py          # 6 personalities × 4 languages voice blocks\n    ├── preferences.py          # JSON-file user prefs (async lock + atomic write)\n    ├── safety.py               # AQI safety override + prompt-injection sanitiser\n    ├── config/\n    │   ├── agents.yaml         # role / goal / backstory per agent\n    │   └── tasks.yaml          # description / expected_output / context\n    └── tools/\n        └── custom_tool.py      # GeocodeTool, WeatherTool, PollutionTool\n                                # + ContextVar side-channel for API capture\n```\n\n## Running as an API\n\n```bash\nrun_api                # serves on http://127.0.0.1:8000\n# POST http://127.0.0.1:8000/api/run   {\"city\": \"Chennai\"}\n# POST http://127.0.0.1:8000/api/chat  {\"message\": \"hi\"}\n# /api/run returns {city, coords, weather, pollution, aqi_level, meme}\n```\n\n## Frontend\n\nThe AgentVerse PWA frontend lives in its own repo:\n\n**→ [github.com/sasilab/AgentVerse-Frontend](https://github.com/sasilab/AgentVerse-Frontend)**\n\nIt's a single static PWA reused across every AgentVerse episode. To connect it\nto this backend:\n\n1. Start this backend: `run_api` (serves on `http://127.0.0.1:8000`).\n2. Clone & serve the frontend per its README.\n3. Open the Settings panel in the PWA and point the API base URL at\n   `http://127.0.0.1:8000`. Paste your LLM key, pick a personality and\n   language, and you're done.\n\nThe `POST /api/run` contract is stable across every AgentVerse episode, so the\nsame frontend works against any episode backend.\n\n## Observability\n\n`openlit.init()` is called at the top of `main.py` and `api.py`. By default\nit ships traces/metrics to `http://127.0.0.1:4318` (OTLP). To see them, run any\nOTLP collector (Jaeger, Grafana Tempo, OpenLIT UI). No collector running = silent\nno-op, nothing breaks.\n\n## Why these design choices\n\n- **Geocoding as a tool** (not hardcoded coords) so the meme works for *any*\n  city you throw at it.\n- **YAML configs** for agents and tasks so non-coders can tweak personalities\n  and task prompts without touching Python.\n- **Sequential process** because the meme literally depends on the upstream\n  data — no point in running these in parallel.\n- **Tools only where needed** — the meme writer has no tools because its job\n  is pure creative writing over upstream context.\n\n## License\n\nMIT. Built for learning — fork it, remix it, make your own episode.\n","readmeExcerpt":"Social Impact Crew — Weather + Pollution + Tamil Meme Writer A 3-agent $1 crew that pulls live weather and air-quality data for any city and turns it into a sarcastic Tanglish meme. Part of **AgentVerse** by $1 — an educational series teaching AI agent frameworks through small social-impact projects. One episode = one framework + one real-world problem. Previous episode: $1 — a simple ReAct weather agent. --- What it","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"You: \"Chennai\"\n  │\n  ▼\n┌──────────────────────┐\n│ Weather Reporter     │  → geocodes the city, fetches current weather\n└──────────┬───────────┘\n           │ (lat/lon + summary)\n           ▼\n┌──────────────────────┐\n│ Pollution Analyst    │  → fetches AQI, PM2.5, PM10, NO2, O3\n└──────────┬───────────┘\n           │ (air-quality briefing)\n           ▼\n┌──────────────────────┐\n│ Tamil Meme Writer    │  → writes a 4-6 line Tanglish meme\n└──────────────────────┘"},{"language":"bash","snippet":"# 1. Clone & enter\ngit clone <this-repo>\ncd social_impact_crew\n\n# 2. Virtual env\npython -m venv .venv\n# Windows PowerShell:\n.\\.venv\\Scripts\\Activate.ps1\n# macOS / Linux:\nsource .venv/bin/activate\n\n# 3. Install\npip install -e .\n\n# 4. Add your LLM key\ncp .env.example .env\n# then edit .env and paste your GROQ_API_KEY (get one free at https://console.groq.com/keys)\n\n# 5. Run\npython -m social_impact_crew.main              # asks for a city\npython -m social_impact_crew.main Bengaluru    # or pass it on the CLI"},{"language":"text","snippet":"social_impact_crew/\n├── pyproject.toml\n├── .env.example\n├── architecture.md             # Mermaid diagram + locked API contract\n└── src/social_impact_crew/\n    ├── main.py                 # CLI entry point + IP geolocation + OpenLIT\n    ├── api.py                  # FastAPI wrapper — POST /api/run + /api/chat\n    ├── crew.py                 # @CrewBase wiring\n    ├── llm.py                  # provider auto-detection (BYOK) + runtime overrides\n    ├── intent.py               # two-layer intent classifier (regex + LLM fallback)\n    ├── personality.py          # 6 personalities × 4 languages voice blocks\n    ├── preferences.py          # JSON-file user prefs (async lock + atomic write)\n    ├── safety.py               # AQI safety override + prompt-injection sanitiser\n    ├── config/\n    │   ├── agents.yaml         # role / goal / backstory per agent\n    │   └── tasks.yaml          # description / expected_output / context\n    └── tools/\n        └── custom_tool.py      # GeocodeTool, WeatherTool, PollutionTool\n                                # + ContextVar side-channel for API capture"},{"language":"bash","snippet":"run_api                # serves on http://127.0.0.1:8000\n# POST http://127.0.0.1:8000/api/run   {\"city\": \"Chennai\"}\n# POST http://127.0.0.1:8000/api/chat  {\"message\": \"hi\"}\n# /api/run returns {city, coords, weather, pollution, aqi_level, meme}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB OPENCLEW","editorialOverview":"🎭 3 AI agents roast your city's weather & pollution in sarcastic Tamil meme style! Built with CrewAI, Open-Meteo APIs (free), and Groq/Gemini/OpenAI/Ollama. Part of the AgentVerse series by @explainpannu. Social Impact Crew — Weather + Pollution + Tamil Meme Writer A 3-agent $1 crew that pulls live weather and air-quality data for any city and turns it into a sarcastic Tanglish meme. Part of **AgentVerse** by $1 — an educational series teaching AI agent frameworks through small social-impact projects. One episode = one framework + one real-world problem. Previous episode: $1 — a simple ReAct weather agent. --- What it","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":416,"uniquenessScore":63,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-05-31T06:18:12.524Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-05-31T06:18:12.524Z","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-08T23:24:22.932Z","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"}]}}}