claude-webcache
claude-webcache
Caché WebFetch entre sesiones para Claude Code.
El WebFetch integrado de Claude Code almacena los resultados en caché durante 15 minutos dentro de una misma sesión. claude-webcache extiende esto entre sesiones, indefinidamente (TTL de 7 días, configurable).
Open new session -> your past fetches are still there.
Cache hit -> instant.
Cache miss -> same as built-in WebFetch.Por qué
Cada vez que vuelves a obtener las mismas URLs entre sesiones (documentos, referencias de API, páginas de investigación), pagas el coste total de la obtención cada vez. La caché de 15 minutos dentro de la sesión se elimina antes de tu próximo sprint. claude-webcache mantiene las obtenciones para que la segunda sesión acceda a la caché en su lugar.

Instalación
Opción 1 -- Plugin de Claude Code (recomendado)
Una línea, en tu terminal:
claude plugin marketplace add theYahia/claude-webcache && claude plugin install claude-webcache@theyahiaLuego añade el patrón de uso a tu ~/.claude/CLAUDE.md (consulta Patrón de uso).
💡 ¿Por qué subcomandos de CLI y no el
/plugin installde la TUI? El flujo de la TUI actualmente se dirige a través del backendremoteMarketplaceClientde Claude Code, que tiene un error abierto en el lado del servidor que rechaza todas las fuentes de plugins de terceros conFailed to install: This plugin uses a source type your Claude Code version does not support.Consulta anthropics/claude-code#41653 y unas 20 incidencias abiertas relacionadas. Los subcomandos de CLI anteriores utilizanNativeMarketplaceReaderlocalmente y no se ven afectados.**Alternativa (si incluso los subcomandos de CLI fallan en tu configuración):
git clone https://github.com/theYahia/claude-webcache && claude --plugin-dir ./claude-webcache/pluginEsto evita el pipeline del marketplace por completo.
Opción 2 -- npm global
npm i -g @theyahia/claude-webcacheRequiere Node.js 22.5+ (utiliza node:sqlite integrado, sin dependencias nativas).
Luego regístralo manualmente en ~/.claude/settings.json (reemplaza la ruta con el resultado de 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" }
]
}
]
}
}Opción 3 -- clonar (colaboradores)
Consulta CONTRIBUTING.md.
Patrón de uso
Añádelo a tu ~/.claude/CLAUDE.md para que Claude dirija las obtenciones web a través de la caché:
## 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.Eso es todo. Misma URL + mismo prompt en cualquier sesión futura = acierto de caché instantáneo.
Herramientas (MCP)
Herramienta | Argumentos | Devuelve |
|
| texto en caché, o |
|
|
|
| -- |
|
|
| URLs recientes (las más recientes primero) |
Almacenamiento
SQLite en ~/.webcache/cache.db (modo WAL, seguro para concurrencia). Clave de caché = SHA256(url + "|" + prompt).
Campo | Tipo |
| TEXT PRIMARY KEY |
| TEXT |
| TEXT |
| TEXT |
| INTEGER (ms epoch) |
| INTEGER |
| INTEGER |
Hook SessionStart
En cada sesión nueva, el hook inyecta una estadística de una línea:
webcache: 142 pages cached, 38 hits, last fetch 3h agoOmite la inyección si la caché está vacía.
TTL
Por defecto 7 días. Las entradas caducadas se eliminan en la siguiente lectura de la misma clave. Ejecuta una purga manual requiriendo src/cache.js y llamando a purgeExpired().
Límites
La clave de caché incluye el prompt -> diferentes prompts en la misma URL son entradas separadas. Elige prompts consistentes (p. ej., siempre "extraer título y contenido principal") para maximizar la tasa de aciertos.
La salida es lo que devuelva WebFetch (ya resumido por el modelo). La caché no lo vuelve a procesar.
Sin búsqueda semántica, sin embeddings. Solo coincidencia exacta de
(url, prompt).
Licencia
MIT -- consulta 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