Repository navigation
Changes
Bing relevance fix, reliable result limits, extraction cleanup, and a README for agent builders.
Highlights
- Bing: the query is typed into the homepage search box, then paging and date filters load in the same tab. This reduces the unrelated results reported in #69. On by default (
bing.search_box: true). - Google: the organic
limitis enforced after URL resolution and deduplication. Ads and answer rows don't count toward it. - DuckDuckGo:
y.jsad links are typedadand no longer take organic ranks (#59, #60). Image search honorslimit. - Logging:
app.save_log: false(--save_log=false,OPENSERP_APP_SAVE_LOG=false) stops writing./logs.txt. Logs still go to stderr (#56, #61). - Inline extraction:
extract=Nreads organic results only. Ads and answer rows are never fetched, so extraction no longer registers ad clicks. - Extraction API: an unparsable body on
/extractreturns 400 instead of being ignored. Raw fetches stop reading at the byte limit. - Docs: README rewritten around agent use - MCP setup for Claude Code, Codex, Cursor and Claude Desktop, Open WebUI, SDK snippets, a Claude Code skill in
skills/openserp-search, and theduck/ddgaliases (#64).
Upgrade notes
- Bing web searches make one extra homepage navigation (~0.5s). If the search form fails, the request returns an error instead of falling back to a direct URL. Set
bing.search_box: falseorOPENSERP_BING_SEARCH_BOX=falseto use direct/searchURLs again; they can return unrelated results. limitcounts organic results. Ads and answer rows can be additional.extract=Ncan return fewer extracted results than before when top results are ads or answer rows.- Clients sending an unparsable body to
/extractnow get 400.
Thanks to @910User and @lemts for the Bing reports, and @hasandenizuk for #60 and #61.
Full Changelog: v0.8.15...v0.8.17