Quickstart

Install webctx, configure provider keys, and run the first search, read-link, and map-site commands.

What webctx does

webctx is a pure Go command-line tool for getting web context into agent workflows without opening a browser manually.

It has three user-facing commands:

webctx search "go http client retry patterns"
webctx read-link https://github.com/amxv/webctx/blob/main/README.md
webctx map-site https://docs.firecrawl.dev

The output is plain text or markdown, so it can be pasted directly into ChatGPT, Codex, Claude Code, terminal agents, scripts, notes, or issue comments.

Install from npm

The npm package installs a platform-specific native binary when a matching GitHub Release asset exists:

npm i -g webctx
webctx --help
webctx --version

If a release asset is not available for the current platform, the postinstall script falls back to a local Go build when Go is installed and the package includes source files.

Build from source

git clone https://github.com/amxv/webctx.git
cd webctx
make build
./dist/webctx --help

For local installation from the repository:

make install-local
webctx --help

Add credentials

Search uses Brave, Tavily, and Exa. Link reading and site mapping use Firecrawl when fast markdown paths are not enough.

Create a .env.local file where webctx can find it:

BRAVE_API_KEY=brave_demo_key
TAVILY_API_KEY=tavily_demo_key
EXA_API_KEY=exa_demo_key
FIRECRAWL_API_KEY=firecrawl_demo_key

webctx checks environment variables first, then .env.local, then macOS Keychain.

First commands

Run a normal federated search:

webctx search "next.js server components"

Exclude noisy domains:

webctx search "react hooks" --exclude youtube.com,vimeo.com

Force an Exa include-text search for a short keyword phrase:

webctx search "drizzle orm" --keyword "migration guide"

Read a page into markdown:

webctx read-link https://github.com/amxv/webctx/blob/main/CONTRIBUTORS.md

Map a site:

webctx map-site https://docs.firecrawl.dev