001Search + Scrape
Web search across six backends. Scrape any URL to clean markdown. Combine both in one call with --scrape, or federate backends with --multi.
002Agent-Native Output
YAML frontmatter + markdown body — the same format as cymbal. Agents scan metadata first, read content when needed. --json available as escape hatch.
003Operator Configures, Agent Consumes
Set your backend and API keys once in ~/.config/ketch/config.json. Agents call ketch search without knowing the infrastructure.
004Page Cache
Scraped pages cached locally with TTL-based expiry. Re-fetching the same URL serves from cache until the TTL lapses. Cache follows platform conventions.
005Zero Dependencies
Single Go binary, CGO_ENABLED=0, cross-compiles everywhere. No daemon, no database, no runtime dependencies. Install and run.
006Multiple Backends
Brave, DuckDuckGo, SearXNG, Exa, Firecrawl, or Keenable for web search; Grep, Sourcegraph, or GitHub for code; Context7 for docs. Switch backends with one config change.