Overview
General-purpose web search via DuckDuckGo. No API key required, no cookie. Serves as the always-on broad default for English and mixed-language queries where more specialized channels may not cover the topic.
When to Choose It
- First-line web discovery before specialized channels
- Queries where platform-specific coverage (github, arxiv, HN) is unlikely to help
- Mixed-domain topics that need broad source variety
How To Search (Planned)
text_search — calls the ddgs PyPI package (renamed from duckduckgo-search). Sync API wrapped in asyncio.to_thread. Returns {title, href, body} hits mapped to Evidence with 500-char snippet truncation.
Known Quirks
- DDGS occasionally returns empty results during rate limit; channel returns
[]and logs warn without crashing pipeline. - Result URLs may redirect; we keep the original href (no unwrap).
Quality Bar
- Evidence items have non-empty title and url.
- No crash on empty or malformed API response.
- Source channel field matches the channel name.