claude-webcache
claude-webcache
Межсессионный кэш WebFetch для Claude Code.
Встроенный в Claude Code WebFetch кэширует результаты на 15 минут в рамках одной сессии. claude-webcache расширяет этот функционал на все сессии, бессрочно (TTL 7 дней, настраивается).
Open new session -> your past fetches are still there.
Cache hit -> instant.
Cache miss -> same as built-in WebFetch.Зачем это нужно
Каждый раз, когда вы повторно запрашиваете одни и те же URL в разных сессиях — документацию, справочники API, страницы исследований — вы каждый раз тратите ресурсы на полную загрузку. 15-минутный кэш внутри сессии очищается до начала вашего следующего спринта. claude-webcache сохраняет результаты загрузок, чтобы во второй сессии данные считывались из кэша.

Установка
Вариант 1 — Плагин Claude Code (рекомендуется)
Одна строка в вашем терминале:
claude plugin marketplace add theYahia/claude-webcache && claude plugin install claude-webcache@theyahiaЗатем добавьте шаблон использования в ваш ~/.claude/CLAUDE.md (см. Шаблон использования).
💡 Почему подкоманды CLI, а не
/plugin installв TUI? Поток TUI в настоящее время проходит через бэкендremoteMarketplaceClientв Claude Code, в котором есть открытая ошибка на стороне сервера, отклоняющая все сторонние источники плагинов с сообщениемFailed to install: This plugin uses a source type your Claude Code version does not support.См. anthropics/claude-code#41653 и около 20 связанных открытых проблем. Указанные выше подкоманды CLI используютNativeMarketplaceReaderлокально и не подвержены этой ошибке.**Резервный вариант (если даже подкоманды CLI не работают в вашей системе):
git clone https://github.com/theYahia/claude-webcache && claude --plugin-dir ./claude-webcache/pluginЭто полностью обходит конвейер маркетплейса.
Вариант 2 — Глобальный npm
npm i -g @theyahia/claude-webcacheТребуется Node.js 22.5+ (используется встроенный node:sqlite — без нативных зависимостей).
Затем зарегистрируйте вручную в ~/.claude/settings.json (замените путь на результат выполнения 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" }
]
}
]
}
}Вариант 3 — Клонирование (для контрибьюторов)
См. CONTRIBUTING.md.
Шаблон использования
Добавьте в ваш ~/.claude/CLAUDE.md, чтобы Claude направлял веб-запросы через кэш:
## 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.Это всё. Тот же URL + тот же промпт в любой будущей сессии = мгновенное считывание из кэша.
Инструменты (MCP)
Инструмент | Аргументы | Возвращает |
|
| кэшированный текст или |
|
|
|
| -- |
|
|
| недавние URL (сначала самые новые) |
Хранилище
SQLite в ~/.webcache/cache.db (режим WAL, безопасно для конкурентного доступа). Ключ кэша = SHA256(url + "|" + prompt).
Поле | Тип |
| TEXT PRIMARY KEY |
| TEXT |
| TEXT |
| TEXT |
| INTEGER (мс эпохи) |
| INTEGER |
| INTEGER |
Хук SessionStart
При каждой новой сессии хук выводит одну строку статистики:
webcache: 142 pages cached, 38 hits, last fetch 3h agoПропускает вывод, если кэш пуст.
TTL
По умолчанию 7 дней. Истекшие записи удаляются при следующем чтении того же ключа. Выполните ручную очистку, подключив src/cache.js и вызвав purgeExpired().
Ограничения
Ключ кэша включает промпт -> разные промпты для одного и того же URL являются отдельными записями. Используйте согласованные промпты (например, всегда
"extract title and main content"), чтобы максимизировать частоту попаданий.Вывод — это то, что возвращает WebFetch (уже обобщено моделью). Кэш не обрабатывает его повторно.
Нет семантического поиска, нет эмбеддингов. Только точное совпадение
(url, prompt).
Лицензия
MIT — см. 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