## Why Облачная веб-экстракция (Tavily API) зависит от внешнего сервиса и туннеля: если Tavily вводит планы, меняет лимиты или туннель падает — Hermes теряет web_extract. Нужен полностью локальный экстрактор страниц, который работает без облачного API и без туннеля, с тем же интерфейсом для Hermes. ## What Changes - Добавляется локальная экстракция в tavily_extract_proxy.py: режим `--local` (trafilatura) / `--local-socks` - Один и тот же эндпоинт POST /extract отдаёт контент локально, сохраняя Tavily-совместимый JSON (results[].url/title/raw_content) - Устанавливается библиотека trafilatura в venv Hermes - (пока) сохраняется forward-режим как основной; local-режим — как опция переключения ## Capabilities ### New Capabilities - `web-extract-local`: Локальная экстракция страниц через trafilatura с Tavily-совместимым интерфейсом ### Modified Capabilities - `web-extract-tavily` — добавляется реализация local-режима (не меняет требования: прокси-режим остаётся) ## Impact - /opt/hermes/.hermes/scripts/tavily_extract_proxy.py — добавлен local-режим - venv Hermes — установлен trafilatura (2.2.0)