claude-webcache
claude-webcache
Sitzungsübergreifender WebFetch-Cache für Claude Code.
Der integrierte WebFetch von Claude Code speichert Ergebnisse für 15 Minuten innerhalb einer einzelnen Sitzung. claude-webcache erweitert dies sitzungsübergreifend und dauerhaft (TTL 7 Tage, konfigurierbar).
Open new session -> your past fetches are still there.
Cache hit -> instant.
Cache miss -> same as built-in WebFetch.Warum
Jedes Mal, wenn Sie dieselben URLs über verschiedene Sitzungen hinweg erneut abrufen – Dokumentationen, API-Referenzen, Rechercheseiten – zahlen Sie jedes Mal die vollen Abrufkosten. Der 15-minütige In-Session-Cache wird vor Ihrem nächsten Sprint gelöscht. claude-webcache behält Abrufe bei, sodass die zweite Sitzung stattdessen auf den Cache zugreift.

Installation
Option 1 -- Claude Code Plugin (empfohlen)
Eine Zeile in Ihrem Terminal:
claude plugin marketplace add theYahia/claude-webcache && claude plugin install claude-webcache@theyahiaFügen Sie dann das Nutzungsmuster zu Ihrer ~/.claude/CLAUDE.md hinzu (siehe Nutzungsmuster).
💡 Warum CLI-Unterbefehle und nicht das TUI
/plugin install? Der TUI-Ablauf leitet derzeit über dasremoteMarketplaceClient-Backend von Claude Code, das einen offenen serverseitigen Fehler aufweist, der alle Drittanbieter-Plugin-Quellen mitFailed to install: This plugin uses a source type your Claude Code version does not support.ablehnt. Siehe anthropics/claude-code#41653 und ca. 20 verwandte offene Probleme. Die oben genannten CLI-Unterbefehle verwenden lokalNativeMarketplaceReaderund sind davon nicht betroffen.Fallback (falls selbst CLI-Unterbefehle bei Ihrer Einrichtung fehlschlagen):
git clone https://github.com/theYahia/claude-webcache && claude --plugin-dir ./claude-webcache/pluginDies umgeht die Marketplace-Pipeline vollständig.
Option 2 -- npm global
npm i -g @theyahia/claude-webcacheErfordert Node.js 22.5+ (verwendet das integrierte node:sqlite – keine nativen Abhängigkeiten).
Registrieren Sie es dann manuell in ~/.claude/settings.json (ersetzen Sie den Pfad durch das Ergebnis von npm root -g):
{
"mcpServers": {
"claude-webcache": {
"command": "node",
"args": ["/path/from/npm-root-g/claude-webcache/scripts/mcp-server.cjs"]
}
},
"hooks": {
"SessionStart": [
{
"matcher": "startup|clear|compact",
"hooks": [
{ "type": "command", "command": "node /path/from/npm-root-g/claude-webcache/scripts/hook-stats.cjs" }
]
}
]
}
}Option 3 -- Klonen (Mitwirkende)
Siehe CONTRIBUTING.md.
Nutzungsmuster
Fügen Sie dies zu Ihrer ~/.claude/CLAUDE.md hinzu, damit Claude Web-Abrufe über den Cache leitet:
## WebFetch caching (claude-webcache)
Before calling WebFetch, call `cached_fetch(url, prompt)` first.
- If it returns text -> use that, do NOT call WebFetch.
- If it returns `[CACHE_MISS] <url>` -> call WebFetch as normal, then call `cache_store(url, prompt, output)` with the result.Das ist alles. Dieselbe URL + derselbe Prompt in jeder zukünftigen Sitzung = sofortiger Cache-Treffer.
Tools (MCP)
Tool | Argumente | Rückgabe |
|
| zwischengespeicherter Text oder |
|
|
|
| -- |
|
|
| kürzliche URLs (neueste zuerst) |
Speicherung
SQLite unter ~/.webcache/cache.db (WAL-Modus, sicher bei gleichzeitigem Zugriff). Cache-Schlüssel = SHA256(url + "|" + prompt).
Feld | Typ |
| TEXT PRIMARY KEY |
| TEXT |
| TEXT |
| TEXT |
| INTEGER (ms Epoche) |
| INTEGER |
| INTEGER |
SessionStart-Hook
Bei jeder neuen Sitzung fügt der Hook eine einzeilige Statistik ein:
webcache: 142 pages cached, 38 hits, last fetch 3h agoÜberspringt die Einfügung, wenn der Cache leer ist.
TTL
Standardmäßig 7 Tage. Abgelaufene Einträge werden beim nächsten Lesen desselben Schlüssels gelöscht. Führen Sie eine manuelle Bereinigung durch, indem Sie src/cache.js importieren und purgeExpired() aufrufen.
Grenzen
Der Cache-Schlüssel enthält den Prompt -> verschiedene Prompts für dieselbe URL sind separate Einträge. Wählen Sie konsistente Prompts (z. B. immer
"extract title and main content"), um die Trefferquote zu maximieren.Die Ausgabe ist das, was WebFetch zurückgibt (bereits vom Modell zusammengefasst). Der Cache verarbeitet sie nicht erneut.
Keine semantische Suche, keine Embeddings. Nur exakte
(url, prompt)-Übereinstimmungen.
Lizenz
MIT -- siehe LICENSE.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/theYahia/claude-webcache'
If you have feedback or need assistance with the MCP directory API, please join our Discord server