mirror of
https://github.com/awizemann/scarf.git
synced 2026-05-10 10:36:35 +00:00
6c96fcfa43
Adds a new "Web Tools" Settings tab (between Browser and Voice) with two distinct shapes that share the same chrome: - Pre-v0.13: a single "Backend" picker writing the legacy `web_tools.backend` key (so v0.12 users still configure web tools). - v0.13+: two pickers — Search backend writes `web_tools.search.backend` (SearXNG appears here only — Hermes registers it as a search-only dispatch), Extract backend writes `web_tools.extract.backend`. Capability gate: `hasWebToolsBackendSplit` chooses which shape renders. The tab itself is always visible — pre-v0.13 users would otherwise lose access to the legacy combined-backend picker. Model layer: - `HermesConfig.webToolsBackend` / `webToolsSearchBackend` / `webToolsExtractBackend` — three fields, each round-tripping its own YAML key. Defaults: `duckduckgo` / `duckduckgo` / `reader`. - YAML parser reads all three keys via the existing `str(...)` helper. Pre-v0.13 hosts populate only `webToolsBackend`; the split keys default to the same backend so the picker shows the same value the user already had. TODO markers (WS-7-Q6/Q7) flag the inline backend lists + legacy fallback semantics — verify against `~/.hermes/hermes-agent/ hermes_cli/web_tools.py` during integration. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>