Files
openspec-lab/openspec/changes/archive/2026-09-06-local-extractor/proposal.md
T

23 lines
1.6 KiB
Markdown

## 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)