Skip to content
Agentmart
Submit a tool

web-cache

Local semantic web cache for AI agents — cache web_search and web_extract results locally with embeddings, reducing API costs and enabling offline operation.

Skill by lukemcqueen

IndexedMIT★ 4
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/lukemcqueen-web-cache

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Local semantic web cache for AI agents — cache web_search and web_extract results locally with embeddings, reducing API costs and enabling offline operation.

Use cases: backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/web-cache

What's inside

Skill name
web-cache
Description
Local semantic web cache for AI agents — cache web_search and web_extract results locally with embeddings, reducing API costs and enabling offline operation.
License
MIT
Instructions
153 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (3)

  • SKILL.md
  • web_cache.py
  • web_cache.sh

SKILL.md (first lines)

# Web Cache — Local Semantic Cache for Agent Web Results

## Overview

`web_cache` is a transparent cache that sits between you and the web. It stores `web_search` and `web_extract` results in a local SQLite database with vector embeddings (via Ollama nomic-embed-text:v1.5), so you can check the cache **before** making expensive web calls.

Over time, the cache becomes a rich "local internet" — you can answer most common queries from cached knowledge alone, even when offline.

## Installation

Installed automatically by `install.sh` step 10 into `~/.hermes/web-cache/`.

Requires: `sqlite-vec`, `requests` (installed in a venv at `~/.hermes/web-cache/.venv/`)

## Usage Protocol — How to Use This in Every Session

### 1. Before `web_search(query)` — Check Cache First

```python
# Step 1: Check cache
cache_result = terminal("""
    web_cache search "your search query here"
""")

# Step 2: Parse the result
import json
cache_data = json.loads(cache_result["output"])

if cache_data.get("cached"):
    hits = cache_data["hits"]
    # Use cached results — skip the web call entirely
    # Each hit has: query, summary, urls, similarity, source
else:
    # Cache miss — proceed with web_search as normal
    web_results = web_search("your search query here")
    
    # Then store the results for next time:
    terminal(f"""
        echo '{json.dumps(web_results)}' | web_cache store "your search query here" -
    """)
```

### 2. Before `web_extract(url)` — Check URL Cache First

```python
# Step 1: Check URL cache
cache_result = terminal(f"""
    web_cache extract {url}
""")

cache_data = json.loads(cache_result["output"])

if cache_data.get("cached"):
    # Use cached content — skip the web call
    content = cache_data["content"]
else:
    # Cache miss — proceed with web_extract as normal
    content = web_extract(url)
    
    # Then store for next time:
    terminal(f"""
        echo '{json.dumps(content)}' | web_cache store-extract {url} -
    """)
```

### 3. Automated Mode

For quick lookups, use `auto` and `auto-extract`:
```bash
# Returns cached results or empty miss
web_cache auto "query"
web_cache auto-extract "https://example.com"
```

These never make web calls — they only check the cache.

## Offline Operation

When you have no internet connection:
1. The cache is your only source of truth
2. Use `web_cache search <query>` — if the answer was cached before, you get it
3. Use `web_cache extract <url>` — if the page was cached before, you get it
4. No internet? No problem — the cache just returns misses for unknown queries

**Pro tip:** Before going offline, run a broad search session to populate the cache with content you'll need. Or import a cache export from another machine.

## Cache Sync (Multi-Machine)

To share cache between machines:
```bash
# On machine A: export
web_cache export ~/web-cache-export.tar.gz

# Transfer the file (AirDrop, USB, SSH, etc.)

# On machine B: import
web_cache import ~/web-cache-export.tar.gz
```

This merges — doesn't overwrite — so both machines accumulate knowledge.

## Maintenance

```bash
# View cache stats
web_cache stats

# Prune old entries when over 200MB limit
web_cache prune

# Manual backup
web_cache backup ~/backups/

# Export portable archive
web_cache export ~/backups/web-cache-YYYY-MM-DD.tar.gz
```

Cron jobs handle nightly pruning and backup automatically.

From lukemcqueen/hermes-cortex, MIT.

More from lukemcqueen/hermes-cortex

Signals

Stars
4
Forks
1
Open issues
1
Last commit (this folder)
Jul 12, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from lukemcqueen

Cite this page

web-cache skill. Agent Mart. https://agentmart.dev/skills/lukemcqueen-web-cache (last updated 2026-10-24)