Pi Web Access 0.26.0 adds XCrawl as a new explicit search option and makes recent search and extraction paths less fragile. XCrawl results now keep source links usable even when the API returns redirect-style links. Local models that squeeze multiple searches into one JSON-looking query string now get separate searches instead of empty results. HTML fallback extraction is also quieter when a page cannot be processed cleanly.
Highlights:
web_searchnow includes XCrawl as an explicit search provider.- XCrawl results now produce safer clickable links, including relative redirect links from the API.
- Local models can send multiple web-search queries as a JSON string and still get separate searches.
- HTML fallback extraction is quieter and more accurate when Defuddle cannot process a page.
Full changelog:
Highlights
web_searchnow includes XCrawl as an explicit search provider.- XCrawl results now produce safer clickable links, including relative redirect links from the API.
- Local models can send multiple web-search queries as a JSON string and still get separate searches.
- HTML fallback extraction is quieter and more accurate when Defuddle cannot process a page.
Added
- Added XCrawl as an explicit-only search provider (
provider: "xcrawl") withxcrawlApiKey/XCRAWL_API_KEYcredentials, client-side domain filtering, fallback titles, and retriable provider-timeout errors. Thanks to @zeroicey for #312 and #313.
Changed
- Refined the XCrawl provider docs, parser shape, availability metadata, and focused tests.
Fixed
- Expanded JSON-array strings supplied in the singular
web_searchqueryfield into independent searches, with a clear no-query error for empty arrays. Thanks to @alex-rs for #317 and @zeroicey for PR #319. - Kept Defuddle selector-processing failures out of the Pi console and stopped treating the raw page body as a successful extraction. Thanks to @riabiy for #315.
- Resolved API-origin-relative XCrawl result links to absolute URLs and rejected blank result links instead of emitting fabricated source URLs. Thanks to @zeroicey for #318.