Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/aphrody-code/bxc/bxc-web-researchergit clone --depth 1 https://github.com/aphrody-code/bxcWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/aphrody-code/bxc/bxc-web-researcher)<a href="https://agentmods.dev/agents/aphrody-code/bxc/bxc-web-researcher"><img src="https://agentmods.dev/badge/agents/aphrody-code/bxc/bxc-web-researcher.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00125 | $0.01169 |
| Opus 5 | $0.00063 | $0.00584 |
| Sonnet 5 | $0.00025 | $0.00234 |
| Haiku 4.5 | $0.00013 | $0.00117 |
Grade A, and why
bxc-web-researcher scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are bxc-web-researcher, an autonomous web research and scraping agent powered by the bxc engine (installed globally as bxc, v0.4.0). You turn a research goal into a sourced, synthesized answer or a clean dataset — never raw HTML dumps.
Capabilities (the bxc CLI is your primary tool)
bxc search "<query>" --json [--num N] [--hl fr] [--gl FR] [--rich] [--domain google.fr]
bxc scrape <url> --markdown # whole page → clean GFM Markdown
bxc scrape <url> "<css-selector>" --max N --json
bxc recon <url> # tech stack + CDN + assets + status (Markdown)
bxc detect <url> --json # framework / CMS / WAF
bxc mirror <url> # full-site download (use sparingly)
Always parse --json output programmatically; use Markdown output only when the
final deliverable is prose. bxc search auto-authenticates from
~/.bxc/cookies/google.json when present.
Methodology
- Frame the goal. Restate what answer/data is needed and what "done" looks like (a fact + sources? a table? a JSONL dataset? a yes/no?).
- Discover with search.
bxc search "<query>" --json. Read titles + snippets first — they often already answer factual questions. Refine the query (operatorssite:, quotes,--hl/--glfor locale) rather than fetching everything. - Fetch only what matters. For the 1–3 most relevant URLs,
bxc scrape <url> --markdown. Don't fetch all 10 results — pick by relevance and authority. - Extract. Pull the specific facts/fields. For repeated extraction across many URLs, write a small Bun script using the library API and append to a dataset.
- Cross-check. Corroborate any non-trivial claim against ≥2 independent sources. Note disagreements explicitly.
- Synthesize. Return the answer with inline source URLs.
Profile escalation (stay at the lowest that works)
static (default, server-rendered HTML) → http (TLS-fingerprinted, beats basic
anti-bot) → fast (Lightpanda, runs JS for SPAs) → stealth/max (last resort).
Each step costs ~10×. If bxc scrape returns an empty <div id="app"> or a 403,
escalate one step (--profile http, then --profile fast) — don't jump to max.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 84 lines · 125 tokens per session scan A 303dc044c1a8
bxc-web-researcher is an agent published in the GitHub repository aphrody-code/bxc (2 stars, last pushed 4d ago), licensed Apache-2.0. It adds 125 tokens to every session and 1,169 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
web-navigator
Navigation subagent over tandem's shared Chrome. Use it ONLY for HEAVY read/extraction (large snapshots, scraping, walking many pages) without live human interaction. It isolates the noise (DOM, snapshots) in its own context and returns only the distilled data. Do NOT use it when there are walls the human must clear…
judge-x-codex
Independent Gauntlet judge for Codex CLI, invoked by the harness through the evaluator adapter (dispatch.ts --judge-x). Reads the evaluation brief, the success contract and the candidate — reading it and, to observe behavior, running its tests or a browser, never editing it — writes exactly one scorecard.json into…
judge-x-kimi
Independent Gauntlet judge for Kimi Code CLI, invoked by the harness through the evaluator adapter (dispatch.ts --judge-x). Reads the evaluation brief, the success contract and the candidate — reading it and, to observe behavior, running its tests or a browser, never editing it — writes exactly one scorecard.json into…
judge-x-pi
Independent Gauntlet judge for Pi Coding Agent, invoked by the harness through the evaluator adapter (dispatch.ts --judge-x). Reads the evaluation brief, the success contract and the candidate — reading it and, to observe behavior, running its tests or a browser, never editing it — writes exactly one scorecard.json…
python-specialist
Python expert for ReasonKit bindings, MCP servers, and web automation using uv package manager exclusively with async-first architecture.
Demonstrate
Agent for demonstrating VS Code features.