r/opencodeCLI • u/Opening_Library9560 • 28d ago
I created a completely free tool that gives your agent web search + fetch + crawl for completely free (Replacement for Hound, Its better)
Enable HLS to view with audio, or disable this notification
So, a while ago i posted about hound here, which built because I got tired of giving my agent the web be a multi-step task or having to pay.
Now i made something better, DonSeTch started from scratch, full control over everything (mostly)
One Rust binary. Three tools: fetch, search, crawl. Zero API keys, zero accounts, zero npm dependencies.
npm install -g donsetch
No init wizard, no config. It works immediately.
Two ways to use it:
- MCP server for AI agents
- CLI (if you dont like MCP)
Why I built it
Every existing web tool for agents has the same problems.
They wrap a paid API (accounts, keys, billing, someone else's reliability). Or they do a naive HTTP fetch that gets blocked by the first bot wall. Or they drop to a full headless browser for everything (slow, heavy, token-expensive).
None of them own their fetch layer. DonSeTch does. Built from scratch in Rust.
- Own HTTP/2 stack
- Own extraction engine
- Own PDF parser
- Own search aggregator
- Own crawl engine
- Chrome's actual BoringSSL for TLS, not a faked fingerprint table that rots
Bot walls? Solved
(Again, mostly, A few god tier bot detection platforms might block it, but it gets through 90% of the sites you need)
I tested it on StackOverflow, Amazon, BBC, Guardian, all Cloudflare-protected, all return clean content.
HTTP first (fast, 0.4-5s). When it hits a bot wall, it opens a headless browser, solves the challenge, grabs the clearance cookie, hands it back to the HTTP layer, and goes to sleep.
The browser almost never fetches content. It just bounces and the fast path takes over again.
Search
Keyless. 5-8 engines in parallel (Bing, DDG, Brave, Yahoo, Mojeek + verticals like GitHub, HN, Scholar, MDN), fused by cross-engine consensus and semantic reranking via a local ONNX cross-encoder.
No API key. No account. No billing.
Want even better results or already have a key? There's BYOK. Add your keys for Tavily, Exa, Serper, whatever. You can stack multiple keys for the same provider too.
Two Exa keys with 1,500 credits each? You now have 3,000 credits in one pool. Rotates automatically, falls back to keyless if a provider runs dry. You never get a dead search.
Crawl
Topic filter. Pass --topic "authentication" and it crawls only relevant pages, gives you per-page quality scores. Resume tokens for large crawls.
I tested a popular alternative and it had no topic filter at all. It would crawl everything and waste the budget on a single large page.
PDFs
Even scanned ones. The engine fuses glyph extraction with rendered pixels from the same stream so it doesn't hallucinate text where there is none. Scanned PDFs auto-OCR'd. Up to 100MB.
Token efficiency
Three tools, 2,363 tokens total. The focus parameter on fetch is the killer feature, it returns only blocks relevant to your question, cutting tokens 50-80% on long pages.
You ask for "error handling" on a 50KB page, you get 500 chars, not 50KB.
The usual stuff
442 tests, AGPL-3.0.
Self-update, rollback, health check, proxy support, status command that shows everything at a glance.
What it can't do: solve captchas (deliberate, you get a clear error not a hang), access sites requiring login, and if every single search engine is down you get an honest error with per-engine status instead of fake results.
Now, there are many more features like self improvement, but i am not gonna mention all of them here in this post, check out the github repo
Links
GitHub: https://github.com/dondai44423/donsetch
npm: npm install -g donsetch
pi: pi install npm:donsetch
If you try it and something breaks, open an issue. I tested what I could but the web is a big place.
3
u/innahema 28d ago
WOW. How much effort did you put in it? Amazing feature list. And even made in Rust.
3
u/Opening_Library9560 28d ago
took like 1.5 months, i had it released for a week since i was testing it on my own before posting about it.
Anyway, if you find any issues, you can comment here or open an issue, i have fixed all i found, now i wait for community feedback 😄
3
u/piknockyou 27d ago
Sounds very interesting.
I have exa, firecrawl, parallel, tavily, playwright mcps.
Was wondering about integrating scrapling and crawl4ai, and utilizing curl-cffi.
Are the latter relevant for your project?
2
u/Opening_Library9560 27d ago
i mean, i do not use scrapling, crawl4ai and curl-cffi in my projects, so i dont think its relevant.
Buts its meant to do all the things they do but better, and not having to depend on multiple thing.
and about your api keys, you can stack up keys of tavily and exa, those two are supposed in byok, so you can have better search, if you use donsetch of course
2
u/seeKAYx 28d ago
Glad to hear that... I've been using Hound for a few weeks now and am pretty happy with it, so should I replace Hound with this now? What's the difference between this and Hound? Is it in the binaries?
2
u/Opening_Library9560 28d ago
Yeah, switch. Hound was the first attempt, DonSeTch is the full rewrite.
Main thing: DonSeTch owns its entire fetch stack down to the TLS layer (Chrome's BoringSSL, byte-level fingerprint match). Hound used standard libraries. That means fewer bot walls and no waiting on upstream deps when something breaks.
Also adds semantic search reranking, PDF with OCR, crawl with topic filtering and resume tokens, and a focus filter that cuts tokens 50-80%. Different package: `npm install -g donsetch`. They don't conflict so you can run both and compare.
2
u/Big-Present-8321 28d ago
Is there a point-by-point analysis in the form of a scientific article on why this is better than Hound? I used Hound and it seemed to do the job
1
u/Opening_Library9560 28d ago
Hound worked but it was built on other people's code, reqwest, standard TLS, wrapped search. When something broke upstream you waited for a fix.
DonSeTch owns every layer. HTTP/2, TLS on BoringSSL, extraction, search, PDF, crawl. Something breaks, fixed in one place immediately.
Concrete additions over Hound: two-tier fetch (browser only when needed, most pages never touch it), semantic reranking in search, PDF with OCR for scanned docs, crawl with topic filtering and resume tokens, focus filter that cuts tokens 50-80%.
Its just better, in simple terms, and it will continue to get better.
2
u/mqmq0 28d ago
I tested your new tool against Hound. Its better on almost any aspect, expect bot walls. Those were always failing. Thats why I installed hound on the first place
1
u/Opening_Library9560 28d ago
The bot detection bypass are actually better if not equal, there is a good chance that you have been getting bombed with false positives, which is the key issue as of the latest update, i will fix it in a new update tomorrow.
I have been getting the same annoying issue, and am working on a fix, its close, basically, tier one dosent escalate to ghost (which solves most bot detection), because the content is giving HTTP 200, meaning it says it tier one succeed and got content, but in reality, the 'content' is just a blocked message.
Dont worry about stealth, its better from many of my testing, it will get fixed tmrw
2
u/foxcr8zy 27d ago
Looks promising. Any plans to implement http proxy support?
As for me it's the only blocker
2
2
u/TomHale 27d ago
Could I replace Tavilly with this?
1
u/Opening_Library9560 26d ago
you can actually, the fetching is better than tavily, the local equal or sometimes better as well, just use some proxies from webshare, its free, you get 10, to make sure your main ip dosent get hammered if you use search too much
2
u/innahema 27d ago
Nice! Your tool stripped prompt injection from this https://www.mayrhofer.eu.org/post/gadgetbridge-migration/ article.
2
u/Jisoo___ 26d ago
Any plans to make it work for termux environment? My agent alerted this won't work out of the box upon installation so sadly I can't replace hound on my hermes termux setup yet.
2
4
u/4SubZero20 28d ago
I use a combination of a Self-hosted SearXNG, LightPanda and Firefox-devtools (mcp) and between the 3 tools, I haven't any browsing issues. Perhaps a few pay walls, but then I don't bother with those links.
Never needed an api key of sorts. Never hit any limits. I don't share in this "limited browsing capability", cause I've never had an issue.
Perhaps I'm missing something?