webctl CLI
webctl searches the web for an agent, scores results with Jev and returns only useful chunks to save context.
- 166 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Queries, search goals and page text go to search providers and Jev.
- The tool downloads pages found in results.
Install
- Works in
Manual install
brew install dorkitude/webctl/webctlHomebrew for macOS and Linux; apt, `npm install -g webctl` and `go install` also exist.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Queries, search goals and page text go to search providers and Jev.
- The tool downloads pages found in results.
This is third-party code. Review the repository files before installing.
What it does
The `webctl` CLI queries up to three search providers, fuses the results and passes them with the query and the goal to the Jev service. Jev scores each result from 0 to 10 with a default cut of 6. The agent receives a short list without noise. `--scrape` downloads the best pages and `--filter-chunks` splits the text into chunks and keeps only the relevant ones. This saves context on long PDFs, Reddit and StackOverflow threads and large articles. Without a Jev key the free Exa, Parallel, Keenable, You.com, Firecrawl and DuckDuckGo endpoints work, but throttled by IP. The author recommends Brave Search with a key.
Who it is for. People who run Claude Code or Codex on web-search tasks and count tokens.
Good fit when
- The agent searches for fresh news or docs and does not need the full page text.
- You want only the right chunks from a long PDF or a discussion thread.
- Search runs through your own SearXNG or a Brave key and results need filtering.
- You compare several providers on one query.
Not a fit when
- You need deep work on a single page: the same author ships Skimmer for that.
- Queries must not go to the third-party Jev service.
- You need stable search without a key: free endpoints throttle by IP.
Example request
Use webctl to find the score of the latest Giants game and print only the relevant chunks.Limitations
Scoring and filtering run through Jev and need a key from typesafe.ai; without one search works on free endpoints and hits IP limits quickly. Queries and goals go to third-party services. A model decides relevance, so a useful result may be dropped; change the cut with `--min-score`. Free endpoints carry no availability guarantee: at an IP limit webctl backs off on a cooldown ladder and results thin out. Pages behind a login, with a captcha or heavy JavaScript extract poorly, and long documents are split into chunks of 2000 characters.
How to disable. Remove the binary with your package manager, for example `brew uninstall webctl`, and the cache directory `~/.cache/webctl`.
FAQ
Is a key required?
No, search works without a key on free endpoints, but throttled by IP. Jev scoring and a search key such as Brave give a noticeably better result.
How do I install it?
Use Homebrew `brew install dorkitude/webctl/webctl`, apt, `npm install -g webctl` or `go install github.com/dorkitude/webctl/cmd/webctl@latest`.
How do I use a single provider?
Pass `-p`, for example `webctl search "q" -p exa`. The `--multi` flag enables every available provider.
How do I keep only useful results?
The `--min-score` and `--min-results` flags set the score cut and a minimum of results. `--no-filter` turns Jev off, so no key is needed.
How is it different from Skimmer?
webctl finds sources, while Skimmer by the same author applies the same filtering to material you already have: a page, file, directory or list.
Discussion
No questions or reviews yet.
Related
CLI toolsAn MCP server and CLI that crawls sites: a small model picks links and passages so the agent reads only the answer.
Skill instead of WebFetch reads a page and returns only the blocks that answer the question, verbatim with heading paths.
One binary for web search, code search, library docs and page scraping, with JSON output built for agents
Three search skills: four-source search scored by intent, deep thread tracing and clean Markdown extraction from pages.
The Firecrawl command-line client with agent skills: web search, scraping, crawling, URL mapping and page interaction
Local-first Rust tool for web extraction: scrape, crawl and structured data for LLMs, with a CLI, REST API and MCP server
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| webctl (this card) | no | 166 | ||
| Firecrawl CLI | no | 684 | Firecrawl returns pages and site maps; webctl scores results and returns only relevant chunks | |
| open-webSearch | no | not required | 1,903 | also searches without keys; webctl adds Jev scoring and page chunk filtering |
README in short
The README explains the pipeline: search, fusion, Jev scoring, a cut, optional scraping with chunk filtering. It continues with installs through Homebrew, apt, npm and go, provider setup, filtering flags and diagrams. The benchmarks folder holds runs on forty-plus queries.