Langcache Semantic Caching for OpenClaw
by @manvinder01
This skill should be used when the user asks to "enable semantic caching", "cache LLM responses", "reduce API costs", "speed up AI responses", "configure LangCache", "search the semantic cache", "store responses in cache", or mentions Redis LangCache, semantic similarity caching, or LLM response caching. Provides integration with Redis LangCache managed service for semantic caching of prompts and responses.
clawhub install openclaw-langcacheπ About This Skill
name: langcache description: This skill should be used when the user asks to "enable semantic caching", "cache LLM responses", "reduce API costs", "speed up AI responses", "configure LangCache", "search the semantic cache", "store responses in cache", or mentions Redis LangCache, semantic similarity caching, or LLM response caching. Provides integration with Redis LangCache managed service for semantic caching of prompts and responses. version: 1.0.0 tools: Read, Bash, WebFetch
Redis LangCache Semantic Caching
This skill integrates Redis LangCache, a fully-managed semantic caching service, into OpenClaw workflows. LangCache stores LLM prompts and responses, returning cached results for semantically similar queries to reduce costs and latency.
Prerequisites
Before using LangCache, ensure the following environment variables are configured:
LANGCACHE_HOST=
LANGCACHE_CACHE_ID=
LANGCACHE_API_KEY=
Store these in ~/.openclaw/secrets.env or configure them in the OpenClaw settings.
Core Operations
Search for Cached Response
Before calling an LLM, check if a semantically similar response exists:
./scripts/langcache.sh search "What is semantic caching?"
With similarity threshold (0.0-1.0, higher = stricter match):
./scripts/langcache.sh search "What is semantic caching?" --threshold 0.95
With attribute filtering:
./scripts/langcache.sh search "What is semantic caching?" --attr "model=gpt-5"
Store New Response
After receiving an LLM response, cache it for future use:
./scripts/langcache.sh store "What is semantic caching?" "Semantic caching stores responses based on meaning similarity..."
With attributes for filtering/organization:
./scripts/langcache.sh store "prompt" "response" --attr "model=gpt-5" --attr "user_id=123"
Delete Cached Entries
By entry ID:
./scripts/langcache.sh delete --id ""
By attributes:
./scripts/langcache.sh delete --attr "user_id=123"
Flush Cache
Clear all entries (use with caution):
./scripts/langcache.sh flush
Integration Pattern
The recommended pattern for integrating LangCache into agent workflows:
1. Receive user prompt
2. Search LangCache for similar cached response
3. If cache hit (similarity >= threshold):
- Return cached response immediately
- Log cache hit for observability
4. If cache miss:
- Call LLM API
- Store prompt + response in LangCache
- Return LLM response
Default Caching Policy
This policy is enforced automatically. All cache operations MUST respect these rules.
CACHEABLE (white-list)
| Category | Examples | Threshold |
|----------|----------|-----------|
| Factual Q&A | "What is X?", "How does Y work?" | 0.90 |
| Definitions / docs / help text | API docs, command help, explanations | 0.90 |
| Command explanations | "What does git rebase do?" | 0.92 |
| Reusable reply templates | "polite no", "follow-up", "scheduling", "intro" | 0.88 |
| Style transforms | "make this warmer/shorter/firmer" | 0.85 |
| Generic communication scripts | negotiation templates, professional responses | 0.88 |
NEVER CACHE (hard blocks)
These patterns are blocked at the code level - cache operations will refuse to store them.
| Category | Patterns to Detect | Reason | |----------|-------------------|--------| | Temporal info | today, tomorrow, this week, deadline, ETA, "in X minutes", appointments, schedules | Stale immediately | | Credentials | API keys, tokens, passwords, OTP, 2FA codes, secrets | Security risk | | Identifiers | phone numbers, emails, addresses, account IDs, order numbers, message IDs, chat IDs, JIDs | Privacy / PII | | Personal context | names + relationships, private history, "who said what", specific conversations | Privacy / context-dependent |
Detection Patterns
The following regex patterns trigger a hard block:
# Temporal
\b(today|tomorrow|tonight|yesterday)\b
\b(this|next|last)\s+(week|month|year|monday|tuesday|...)\b
\b(in\s+\d+\s+(minutes?|hours?|days?))\b
\b(deadline|eta|appointment|schedule[d]?)\bCredentials
\b(api[_-]?key|token|password|secret|otp|2fa)\b
\b(bearer|auth[orization]*)\s+\S+Identifiers
\b\d{10,}\b # phone numbers, long IDs
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+ # emails
\b(order|account|message|chat)[_-]?id\bPersonal context
\b(my\s+(wife|husband|partner|friend|boss|mom|dad|brother|sister))\b
\b(said\s+to\s+me|told\s+me|between\s+us)\b
Attribute Strategies
Use attributes to partition the cache:
model: LLM model used (useful when switching models)category: factual, template, style, commandskill: Which skill generated the responseversion: API or prompt versionSearch Strategies
LangCache supports two search strategies:
Combine both for hybrid search:
./scripts/langcache.sh search "prompt" --strategy "exact,semantic"
Observability
Monitor cache performance:
References
Examples
π‘ Examples
βοΈ Configuration
Before using LangCache, ensure the following environment variables are configured:
LANGCACHE_HOST=
LANGCACHE_CACHE_ID=
LANGCACHE_API_KEY=
Store these in ~/.openclaw/secrets.env or configure them in the OpenClaw settings.