Source Repository URL
https://github.com/linmy666/madcop
Why this repo was selected
- Active desktop agent with a real
web_search tool and recent activity.
- Search is a core user-facing capability here, so You.com fits naturally as an optional engine.
- The integration stays opt-in through
YDC_API_KEY, leaving the existing search chain unchanged when the variable is absent.
- The code path is small: one helper, one engine hook, a README note, and focused tests.
Candidate evaluation summary
linmy666/madcop: selected. Best fit because web_search already exists and is designed to route through multiple engines.
joshuaswarren/remnic: active and well-structured, but its search layer is for memory retrieval rather than live web search.
Oolab-labs/patchwork-os: active, but its primary abstractions are approvals and connectors, not a direct web-search surface.
Proposed integration type
Optional web-search engine inside the existing web_search tool.
Planned env vars and setup
YDC_API_KEY enables the You.com path
- No other config changes are required
- Existing DuckDuckGo / Bing / DDG-lite / Baidu fallback behavior remains intact when the key is absent
Expected usage example
When YDC_API_KEY is present, web_search tries You.com first and falls through to the existing engines if You.com returns nothing or errors.
Validation plan
- Add a You.com search helper and route it in the existing engine chain
- Add focused tests for the happy path and fallback behavior
- Run the repo's Python unit tests for the web tool
- Confirm the default behavior stays unchanged without
YDC_API_KEY
Links
Fallback/error behavior
- If You.com fails, the tool logs the failure and continues to the existing engines.
- If
YDC_API_KEY is missing, the tool behaves exactly as before.
- You.com requests send the standard integration User-Agent (
youdotcom-integration/linmy666-madcop).
Status Checklist
Source Repository URL
https://github.com/linmy666/madcop
Why this repo was selected
web_searchtool and recent activity.YDC_API_KEY, leaving the existing search chain unchanged when the variable is absent.Candidate evaluation summary
linmy666/madcop: selected. Best fit becauseweb_searchalready exists and is designed to route through multiple engines.joshuaswarren/remnic: active and well-structured, but its search layer is for memory retrieval rather than live web search.Oolab-labs/patchwork-os: active, but its primary abstractions are approvals and connectors, not a direct web-search surface.Proposed integration type
Optional web-search engine inside the existing
web_searchtool.Planned env vars and setup
YDC_API_KEYenables the You.com pathExpected usage example
When
YDC_API_KEYis present,web_searchtries You.com first and falls through to the existing engines if You.com returns nothing or errors.Validation plan
YDC_API_KEYLinks
uv sync --extra devanduv run pytest tests/tools/test_web.pypassedFallback/error behavior
YDC_API_KEYis missing, the tool behaves exactly as before.youdotcom-integration/linmy666-madcop).Status Checklist