{"id":"ac938dd2-1ff2-4c7b-81fe-c1616aa2d488","slug":"crewai-ashishpatel26-omnicache-ai","name":"omnicache-ai","description":"Unified multi-layer caching library for AI/agent pipelines — LangChain, LangGraph, AutoGen, CrewAI, Agno, A2A","canonicalUrl":"https://www.xpersona.co/skill/crewai-ashishpatel26-omnicache-ai","sourceUrl":"https://github.com/ashishpatel26/omnicache-ai","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"ashishpatel26","label":"Ashishpatel26","url":"https://github.com/ashishpatel26/omnicache-ai"},"protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-05-31T06:18:46.315Z","freshnessLabel":"May 31, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"May 31, 2026"},{"label":"Vendor","value":"Ashishpatel26"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"vendor","label":"Vendor","value":"Ashishpatel26","category":"vendor","href":"https://github.com/ashishpatel26/omnicache-ai","sourceUrl":"https://github.com/ashishpatel26/omnicache-ai","sourceType":"profile","confidence":"medium","observedAt":"2026-05-31T06:18:46.315Z","isPublic":true,"metadata":{}},{"factKey":"protocols","label":"Protocol compatibility","value":"OpenClaw","category":"compatibility","href":"https://www.xpersona.co/api/v1/agents/crewai-ashishpatel26-omnicache-ai/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashishpatel26-omnicache-ai/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-05-31T06:18:46.315Z","isPublic":true,"metadata":{}},{"factKey":"traction","label":"Adoption signal","value":"23 GitHub stars","category":"adoption","href":"https://github.com/ashishpatel26/omnicache-ai","sourceUrl":"https://github.com/ashishpatel26/omnicache-ai","sourceType":"profile","confidence":"medium","observedAt":"2026-05-31T06:18:46.315Z","isPublic":true,"metadata":{}},{"factKey":"handshake_status","label":"Handshake status","value":"UNKNOWN","category":"security","href":"https://www.xpersona.co/api/v1/agents/crewai-ashishpatel26-omnicache-ai/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashishpatel26-omnicache-ai/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true,"metadata":{}}],"highlights":["23 GitHub stars","Trust evidence available"],"agentCard":{"name":"omnicache-ai","description":"Unified multi-layer caching library for AI/agent pipelines — LangChain, LangGraph, AutoGen, CrewAI, Agno, A2A","source":"GITHUB_OPENCLEW","sourceId":"crewai:1187925751","repository":"https://github.com/ashishpatel26/omnicache-ai","documentation":"https://www.xpersona.co/skill/crewai-ashishpatel26-omnicache-ai/agent/crewai-ashishpatel26-omnicache-ai","protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"languages":["python"],"install":{"command":"git clone https://github.com/ashishpatel26/omnicache-ai.git","ecosystem":"git"},"examples":[{"kind":"example","language":"mermaid","snippet":"flowchart TD\n    User([\"👤 User / Application\"])\n\n    User -->|query| Adapters\n\n    subgraph Adapters[\"🔌 Framework Adapters\"]\n        direction LR\n        LC[\"LangChain\"]\n        LG[\"LangGraph\"]\n        AG[\"AutoGen\"]\n        CR[\"CrewAI\"]\n        AN[\"Agno\"]\n        A2[\"A2A\"]\n    end\n\n    Adapters -->|intercepted call| MW\n\n    subgraph MW[\"⚙️ Middleware\"]\n        direction LR\n        LLM_MW[\"LLMMiddleware\"]\n        EMB_MW[\"EmbeddingMiddleware\"]\n        RET_MW[\"RetrieverMiddleware\"]\n    end\n\n    MW -->|cache lookup| Layers\n\n    subgraph Layers[\"🗂️ Cache Layers (omnicache-ai)\"]\n        direction TB\n        RC[\"ResponseCache\\n(LLM output)\"]\n        EC[\"EmbeddingCache\\n(np.ndarray)\"]\n        REC[\"RetrievalCache\\n(documents)\"]\n        CC[\"ContextCache\\n(session turns)\"]\n        SC[\"SemanticCache\\n(similarity search)\"]\n    end\n\n    Layers -->|hit → return| User\n    Layers -->|miss → forward| Core\n\n    subgraph Core[\"🧠 Core Engine\"]\n        direction LR\n        CM[\"CacheManager\"]\n        KB[\"CacheKeyBuilder\\nnamespace:type:sha256\"]\n        IE[\"InvalidationEngine\\ntag-based eviction\"]\n        TP[\"TTLPolicy\\nper-layer TTLs\"]\n    end\n\n    Core <-->|read / write| Backends\n\n    subgraph Backends[\"💾 Storage Backends\"]\n        direction LR\n        MEM[\"InMemoryBackend\\n(LRU, thread-safe)\"]\n        DISK[\"DiskBackend\\n(diskcache)\"]\n        REDIS[\"RedisBackend\\n[redis]\"]\n        FAISS[\"FAISSBackend\\n[vector-faiss]\"]\n        CHROMA[\"ChromaBackend\\n[vector-chroma]\"]\n    end\n\n    Core -->|miss| LLM_CALL\n\n    subgraph LLM_CALL[\"🤖 Actual AI Work (on cache miss only)\"]\n        direction LR\n        LLM[\"LLM API\\ngpt-4o / claude / gemini\"]\n        EMB[\"Embedder\\ntext-embedding-3\"]\n        VDB[\"Vector DB\\npinecone / weaviate\"]\n        TOOLS[\"Tools / APIs\"]\n    end\n\n    LLM_CALL -->|result| Core\n    Core -->|store + return| User\n\n    style Layers fill:#1e3a5f,color:#fff,stroke:#3b82f6\n    style Backends fill:#1a3326,color:#fff,stroke:#22c55e\n    style Adapters fill:#3b1f5e,color:#fff,strok"},{"kind":"example","language":"mermaid","snippet":"flowchart LR\n    Q([\"Query\"])\n\n    Q --> S1\n    subgraph S1[\"① Semantic Layer\"]\n        SC[\"SemanticCache\\ncosine similarity ≥ 0.95\\n→ skip everything below\"]\n    end\n\n    S1 -->|miss| S2\n    subgraph S2[\"② Response Layer\"]\n        RC[\"ResponseCache\\nexact model+msgs+params\\nhash match\"]\n    end\n\n    S2 -->|miss| S3\n    subgraph S3[\"③ Retrieval Layer\"]\n        REC[\"RetrievalCache\\nquery + retriever + top-k\\nhash match\"]\n    end\n\n    S3 -->|miss| S4\n    subgraph S4[\"④ Embedding Layer\"]\n        EC[\"EmbeddingCache\\nmodel + text hash match\\nreturns np.ndarray\"]\n    end\n\n    S4 -->|miss| S5\n    subgraph S5[\"⑤ Context Layer\"]\n        CC[\"ContextCache\\nsession_id + turn_index\\nreturns message history\"]\n    end\n\n    S5 -->|all miss| LLM([\"🤖 LLM / API Call\"])\n\n    LLM -->|result| Store[\"Store in all\\nrelevant layers\"]\n    Store --> R([\"Response\"])\n\n    S1 -->|hit ⚡| R\n    S2 -->|hit ⚡| R\n    S3 -->|hit ⚡| R\n    S4 -->|hit ⚡| R\n    S5 -->|hit ⚡| R\n\n    style S1 fill:#4c1d95,color:#fff,stroke:#7c3aed\n    style S2 fill:#1e3a5f,color:#fff,stroke:#3b82f6\n    style S3 fill:#14532d,color:#fff,stroke:#22c55e\n    style S4 fill:#713f12,color:#fff,stroke:#f59e0b\n    style S5 fill:#7f1d1d,color:#fff,stroke:#ef4444"}]}}