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
CLI

Extended access

Why this level

  • Queries, search goals and page text go to search providers and Jev.
  • The tool downloads pages found in results.
All reasons and checks

dorkitude/webctl

Install

Manual install

brew install dorkitude/webctl/webctl

Homebrew for macOS and Linux; apt, `npm install -g webctl` and `go install` also exist.

Access and checks

How we review

Extended 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.

CLI tools

An MCP server and CLI that crawls sites: a small model picks links and passages so the agent reads only the answer.

MCP serverExtended access89Repository stars

Skill instead of WebFetch reads a page and returns only the blocks that answer the question, verbatim with heading paths.

SkillExtended access55Repository stars

One binary for web search, code search, library docs and page scraping, with JSON output built for agents

CLIExtended access748Repository stars

Three search skills: four-source search scored by intent, deep thread tracing and clean Markdown extraction from pages.

SkillExtended access438Repository stars
Editors’ pick

The Firecrawl command-line client with agent skills: web search, scraping, crawling, URL mapping and page interaction

CLIExtended access684Repository stars

Local-first Rust tool for web extraction: scrape, crawl and structured data for LLMs, with a CLI, REST API and MCP server

CLIExtended access2.4KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
webctl (this card)no166
Firecrawl CLIno684Firecrawl returns pages and site maps; webctl scores results and returns only relevant chunks
open-webSearchnonot required1,903also 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.

README badge

Report a problem