Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Divide the search. Conquer the results.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Private, on-device search routing.
divid3 is a meta-search router that runs entirely in your browser. It uses a small local ML model to read your intent, then sends you to whichever search engine you've decided handles that kind of query best — without a server, an account, or a middleman.Read the full README ↗Private, on-device search routing.
divid3 is a meta-search router that runs entirely in your browser. It uses a small local ML model to read your intent, then sends you to whichever search engine you've decided handles that kind of query best — without a server, an account, or a middleman.
Try the hosted instance at divid3.com
all-MiniLM-L6-v2 model embeds your query and picks the best-matching destination from your configured set.!yt, !eb, !m, …) that always win over the semantic router.github.com) and localhost:3000 route directly. Low-memory phones get a deterministic keyword router instead of the model.?q= URLs. No 4-second countdown. On mobile and on any link with a query string (e.g. browser-bar searches), the router shows you the top match plus the ranked alternatives and waits for you to tap. Desktop typing still routes immediately because the live score chips already let you click any destination.divid3 is built for people who want a search bar they actually trust — even when the destination itself isn't end-to-end private. The threat model is:
scripts/generate_search_embeddings.py) — there is no remote inference./api/route to intercept.scripts/search_phrases.json and it's gone everywhere, including from the on-device classifier.You're welcome to ship a fork that points only at Kagi, Brave, SearXNG, your own engine, or anything else. Same code, your engines.
!yt, !eb, etc. Always wins.github.com) and localhost:port detection.near me, pictures of, music video, used, …) add a small, capped boost on top (0.03 per keyword point, max 5 points), so an unambiguous cue isn't outvoted by a fuzzy semantic neighbor.?lite=1), a deterministic weighted-keyword scorer takes over.Routing quality is measured by scripts/eval_routing.py against a held-out benchmark of 582 labeled real-world queries (scripts/routing_benchmark.json — the validator enforces that no benchmark query is ever copied into the training phrases):
| Router | Accuracy |
|---|---|
| Semantic (top-3 cosine + keyword boost) | 98.8% |
Keyword (?lite=1) | 98.1% |
Run it yourself after any corpus edit:
python3 scripts/eval_routing.py # full report + misroute analysis
python3 scripts/eval_routing.py --query "best ramen" # probe a single query
The misroute report names the exact phrase that "won" each wrong routing, which makes corpus debugging mechanical: find the hijacking phrase, sharpen or remove it, re-run.
The router decides what kind of search a query is. Destinations (footer link, or press D) lets each person choose which site that kind opens. The defaults are below: every one works without an account, and they're spread across different companies rather than one. Every route offers alternatives such as ChatGPT, Claude, Lumo, Duck.ai or Perplexity for AI answers, X, Reddit, Bluesky or Google News for news, DuckDuckGo, Brave, Startpage or Google for web, Google Maps or Apple Maps for maps, and Amazon, Walmart, Target, Best Buy, Costco or Facebook Marketplace for shopping. Picks are saved in the browser's localStorage, never sent anywhere, and only when they differ from the defaults. The full list lives in destinations in scripts/search_phrases.json.
This is the beginning of the README. Read the rest at the original. Read the full README ↗