Files
openspec-lab/openspec/specs/web-extract-tavily/spec.md
T

1.5 KiB

web-extract-tavily Specification

Purpose

TBD - created by archiving change tavily-proxy-setup. Update Purpose after archive.

Requirements

Requirement: Tavily Extract Backend

The system MUST use Tavily as the web_extract backend, reachable via the local proxy at http://127.0.0.1:8971.

Scenario: Extract works

  • GIVEN the Hermes web tool calls web_extract
  • WHEN the URL is a normal web page
  • THEN the page content is returned as markdown
  • AND the request goes through the local proxy to the Tavily API over SOCKS5

Scenario: Proxy is down

  • GIVEN the tavily-proxy.service is stopped
  • WHEN web_extract is called
  • THEN the call fails with a connection error (not a silent wrong result)

Requirement: Proxy Auto-Start

The system MUST start tavily-proxy.service automatically at boot and restart it on failure.

Scenario: Boot

  • GIVEN the host boots
  • WHEN systemd starts
  • THEN tavily-proxy.service is active
  • AND it listens on 127.0.0.1:8971

Scenario: Proxy crash

  • GIVEN the proxy process exits unexpectedly
  • WHEN systemd detects failure
  • THEN the service restarts automatically

Requirement: Tunnel Dependency

The proxy MUST depend on the SOCKS5 tunnel (telegram-tunnel.service); it must not start before the tunnel is up, and must restart if the tunnel is unavailable.

Scenario: Tunnel down

  • GIVEN telegram-tunnel.service is inactive
  • WHEN tavily-proxy.service is requested
  • THEN the proxy stays stopped (or retries) until the tunnel is back