Agent-First HTTP v0.8.0: Every Build Says Exactly What It Is
v0.8.0 makes `afhttp --version` a structured event an agent can branch on — `name`, `display_name`, `version`, and a `build` field carrying the exact commit SHA the binary was built from, so a bug report or a capability check pins the precise tree, not just `0.8.0`. Under the hood it moves onto agent-first-data 0.22 and its protocol-v1 CLI contract, folds in the retired agent-first-config crate, and refreshes the stealth backends (chrome-for-testing 151, camoufox 152). The embedded skill moves to the standard `SKILL.md` layout and installs to Hermes alongside Codex, Claude Code, and opencode. And the README is now the single canonical guide — coverage map, host/driver roles, and worked examples end to end.
The last few releases were about reaching hard pages and being honest about what came back. v0.8.0 is quieter and points inward: make it trivial to know exactly what you’re running, and keep the machinery underneath current. When an agent files a bug, or a supervisor checks a fleet of hosts, “afhttp 0.8.0” isn’t enough — you want the exact build.
--version is a structured event that pins the build
afhttp --version no longer prints afhttp 0.8.0 as a line of text an agent has
to scrape. It comes back as an AFDATA protocol-v1 event like every other command,
and it carries the commit the binary was built from:
afhttp --version
{
"kind": "result",
"result": {
"code": "version",
"name": "afhttp",
"display_name": "Agent-First HTTP",
"version": "0.8.0",
"build": "a1b2c3d"
},
"trace": {}
}
The build field is the short SHA of the source tree, stamped in at compile time
by build.rs. Build from a local checkout and it identifies your exact tree;
install the published crate from a source tarball with no .git reachable and it
falls back to "unknown" — honestly, rather than pretending. The upshot: a
version check is now something an agent branches on, and a bug report pins the
precise commit instead of a version number that spans dozens of builds.
afdata 0.22, and one fewer crate to think about
afhttp rides on agent-first-data for its protocol envelopes, redaction, and field
conventions. v0.8.0 moves onto afdata 0.22 and its L1–L8 API surface — the
redaction policy, output style, and infallible event builders — so afhttp’s
output stays lockstep with the shared contract every spore in the kit speaks.
The retired agent-first-config crate is gone too, folded back into afdata, so
there’s one dependency where there used to be two. None of this changes what a
fetch returns; it keeps the plumbing under it consistent.
Fresher engines for the sites that fight back
The stealth backends only work if they keep pace with the browsers they imitate.
v0.8.0 bumps the pinned direct-download engines — chrome-for-testing to 151
and camoufox to 152 beta — and re-verifies both container images build with
them. The full spectrum behind --browser is unchanged: chromium,
fingerprint-chromium, camoufox, lightpanda, edge, brave. They’re just current.
The skill installs to one more host
The embedded Agent Skill — the behavior rules for when to escalate --render,
when to reach for takeover, how to read the artifacts — moves to the standard
skills/agent-first-http/SKILL.md layout and adds Hermes as an install
target alongside Codex, Claude Code, and opencode:
afhttp skill install
afhttp skill status
One guide, not a scattered set
The README is now the canonical, top-to-bottom guide: a coverage map (plain HTTP,
browser-backed fetch, deep network capture, raw CDP, human takeover, host tools),
the two-role split between afhttp host and the driver commands, and worked
examples for every one of them — a one-shot fetch, a long-running host with a
remote fetch, the raw CDP escape hatch, health and capabilities checks, a human
takeover handoff, and profile management. The standalone overview doc it used to
point at is gone; there’s one place to look now.
brew install agentfirstkit/tap/afhttp # macOS / Linux
scoop bucket add agentfirstkit https://github.com/agentfirstkit/scoop-bucket
scoop install afhttp # Windows
cargo install agent-first-http # any platform