AGENTS.md@backend/packages/harness/deerflow/community/serper · git:20261003.7bb3624 · 2026-10-03 · sha256 b4a770f4d7bef620
AGENTS.md@backend/packages/harness/deerflow/community/serper git:20261003.7bb3624A
Immutable. This exact content never changes and is served at /api/v1/blob/b4a770f4d7bef620.
# Serper provider `tools.py` owns web/image search. Keep model-facing arguments unchanged. Web-only `include_domains`/`exclude_domains` use at most 10 domain-only entries per list; normalize case, one trailing dot and IDNA, reject invalid configuration before transport, log validation errors without config/query values, and enforce exact-host/dot-subdomain matching with deny precedence. Google `site:` query operators are best-effort; local URL-host filtering is mandatory even for queries containing operators. Never truncate restrictions, refill results, or relax scope. The composed query limit is 500 characters; report the cleaned original query and actual filtered count, including zero. Image search and unconfigured web behavior retain their existing contracts. This is source selection, not a fetch policy or factuality check. Tests: `backend/tests/test_serper_domain_filters.py` and `test_serper_tools.py`. Mock HTTP; live Serper semantics remain unverified. See `backend/docs/CONFIGURATION.md#serper-source-filters` for the operator contract.