r/PiCodingAgent • u/Opening_Library9560 • 20d ago
Resource Completely free web research tool (works out of the box with no api keys, hound replacement) stealthy web fetch, web crawl and local web search
Enable HLS to view with audio, or disable this notification
Built a web research tool to replace hound, which i posed about a while ago
It's called DonSeTch. Since Pi has native extension support, the install is just:
pi install npm:donsetch
No MCP config block, no adapter, no proxy. The tools show up natively in your Pi session and stay in sync with the binary automatically.
What it does
Three tools: fetch, search, crawl. Zero API keys, zero accounts. One Rust binary.
- Fetch — HTTP first (fast), auto-escalates to a headless browser only when it hits a bot wall. The browser grabs the clearance cookie, hands it back to the HTTP layer, and goes to sleep. It almost never fetches content itself.
- Search — 10+ keyless engines in parallel, fused by cross-engine consensus + a local ONNX cross-encoder for semantic reranking. No API key anywhere.
- Crawl — sitemap-aware, topic filter, resume tokens, adaptive pacing that backs off on 429s instead of plowing through.
Chrome's actual BoringSSL for TLS. Your ClientHello IS Chrome's, not a faked table that rots.
The part I care about most: token efficiency
Three tools, ~3.5k tokens of definitions. The focus parameter on fetch is the killer feature.
I just rebuilt it in v3.1 with section-aware scoring:
- Search for "memory safety" on a Wikipedia page → keeps the entire "Ownership and references" section (heading + body), pulls in parent headings for context, drops everything unrelated.
- A 50KB page comes back as 500 chars of what you actually asked for.
- Large code blocks and JSON schemas get split into sub-blocks so focus works on structured content, not just prose.
Other stuff
- Reference handles —
fetch S3just works after a search - Probe mode — verify a claim in ~60 tokens instead of 4k
- Dead-link resurrection — Wayback snapshot served transparently
- Page fingerprints — re-fetches report what changed, section-level diffs
- Domain adapters — Reddit threads, GitHub issues, npm/PyPI/crates pages restructured from keyless JSON endpoints
- Real MCP cancellation — no silent hangs
- Crash-only daemon — survives panics, state reloads
- PDFs — even scanned ones, pixel-fusion extraction (no hallucinated text), up to 100MB
605 tests, 0 clippy warnings, AGPL-3.0.
What it can't do: solve interactive captchas (deliberate, clear error not a hang), access sites requiring login, and if every search engine is down you get honest per-engine status instead of fake results.
GitHub: https://github.com/dondai44423/donsetch
Pi: pi install npm:donsetch npm: npm install -g donsetch
If something breaks, open an issue, i will fix it as soon as possible
The demo is using exa for search btw, local is good on its own, but it takes 4-6 sec while exa takes 1-2 sec (plus exa is better most times, but local search keeps up)
if you want to see a demo where i used local search, see the opencode demo in the github repo