frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: A verification browser for AI agents – 13ms windows, one-call checks

https://github.com/hongnoul/hwatu
9•hongnoul_•1h ago

Comments

hongnoul_•1h ago
Author here. I built this because I got tired of my coding agent claiming a page was "pixel-perfect" when it had never rendered it.

hwatu is a warm WebKitGTK daemon plus a thin client, split the way emacs/emacsclient are. The daemon owns the engine, a compiled adblock ruleset, and a prewarmed WebView that has already loaded about:blank, so its web process and GPU compositor path are hot before any request arrives. Opening a window is: take the warm view, put it in a GtkWindow, start the navigation, warm the next view during idle time. Median 13 ms for a focused window, 14 ms headless, measured over 20 runs (scripts/bench-spawn.sh).

The part I actually care about is verification, not automation. The agent-facing primitives are things like:

- `hwatu check <url> --eval <js> --shot`: open headless, wait for load, eval, screenshot, close, one command, one JSON reply, ~35-39 ms median warm. Same pass through a kept-warm Playwright server with a fresh client per check (the shape every shell-driven agent has) is 341 ms, mostly Node startup and WebSocket connect.

- `hwatu diff --id 2 --other 1`: pixel match percent + diff regions + heatmap between two live windows. A score an agent can climb, not a golden-file pass/fail. We ran an agent against a clone of stripe.com and watched it go 85.1% -> 98.8% match.

- `hwatu motion`: animations as numbers (duration, easing, velocity), and `seek`/`clock` to pin all animations at time t so two screenshots are byte-identical.

- `hwatu focus <id>`: headless is a window property, not a launch mode. When the agent hits a CAPTCHA or a judgment call, focus materializes the same live session (cookies, scroll, half-filled form) in your tiling WM. You act, it takes back over.

Honest caveats, since HN will find them anyway: Linux-only (Wayland best), renders WebKit not Chromium so you still want a Playwright matrix in CI for engine bugs, Playwright wins cold start (190 vs 435 ms, paid once per boot) and memory, and the click/type events are synthetic JS events today (isTrusted false, cross-origin iframes unreachable); trusted GTK-level input is on the roadmap.

It speaks MCP (`hwatu mcp`, stdio, no SDK, translates tool calls onto the same Unix-socket protocol), plain CLI, or one newline-delimited JSON line over the socket. One static binary (~624 KB client, 1.1 MB daemon) plus your distro's webkitgtk-6.0; no Node, no 170 MB browser download.

All benchmark methodology and every caveat: https://github.com/hongnoul/hwatu/blob/main/docs/benchmarks....

Happy to answer anything about the WebKitGTK internals, the prewarm pool, or where the milliseconds go.

KOReader

https://koreader.rocks/
417•Cider9986•4h ago•136 comments

Handbook.md shows that long policy documents do not reliably govern agents

https://arxiv.org/abs/2607.25398
135•spIrr•2h ago•85 comments

Show HN: Open-source engine running Gemma 4 26B in 2 GB RAM on any M-series Mac

https://github.com/drumih/turbo-fieldfare
61•gitpusher42•35m ago•10 comments

The Scientific Literature Is Poisonous to LLMs

https://www.reinvent.science/p/the-scientific-literature-is-poisonous
20•surprisetalk•17m ago•3 comments

Shipping Godot VR and Porting to PSVR2: A Partial Post Mortem

https://www.claire-blackshaw.com/blog/2026/07/shipping-godot-vr-and-porting-to-psvr2-a-partial-po...
43•ibobev•2h ago•0 comments

Apple should be ashamed of its hostile App Store rating system

https://lapcatsoftware.com/articles/2026/7/14.html
6•zdw•11m ago•1 comments

Hunter-gatherers introduced fish to a mountain lake 7000 years ago

https://www.newscientist.com/article/2580119-hunter-gatherers-introduced-fish-to-a-mountain-lake-...
51•stevenwoo•2d ago•29 comments

Darktable

https://www.darktable.org/
104•siatko•3h ago•48 comments

More Tailscale tricks for your jailbroken Kindle

https://tailscale.com/blog/jailbroken-kindle-proxy-tun-modes
332•Error6571•10h ago•100 comments

Amiga Graphics Archive

https://amiga.lychesis.net/index.html
101•Bluestein•5h ago•16 comments

Document-borne AI worms can self-propagate through Copilot for Word

https://enklypesalt.com/posts/context-collapse-part3-ai-worming-through-word/
184•Canopy9560•3h ago•164 comments

Disrupting supply chain attacks on NPM and GitHub Actions

https://github.blog/security/supply-chain-security/disrupting-supply-chain-attacks-on-npm-and-git...
48•nyku•3h ago•13 comments

Choose DuckDB rather than SQLite

https://tracewayapp.com/blog/sqlite-vs-duckdb
74•rubenvanwyk•1h ago•40 comments

User Interfaces of the Demo Scene

https://www.datagubbe.se/scenegui/
330•zdw•11h ago•55 comments

Hugging Face: Anatomy of a frontier-lab agent intrusion

https://huggingface-anatomy-of-frontier-lab-model-intrusion.static.hf.space/index.html
6•dn2k•39m ago•1 comments

SQLite in Production: Optimizing WAL Mode, Concurrency, and VFS Layers

https://micrologics.org/blog/sqlite-in-production-optimizing-wal-mode-concurrency-and-vfs-layers-...
185•ankitg12•8h ago•55 comments

PostgreSQL's MVCC is bad. So is everyone else's

https://boringsql.com/posts/mvcc-bad-bad/
7•masklinn•43m ago•0 comments

SpecForge – A Platform for Authoring Formal Specifications

https://docs.imiron.io/v/0.5.10/en/tour.html
56•agnishom•5h ago•4 comments

A Texture Lookup Approach to Bézier Curve Evaluation on the GPU (JCGT)

https://jcgt.org/published/0015/02/01/
26•ibobev•3h ago•3 comments

TokenTown: A visual way to understand how LLMs work

https://laurentiugabriel.github.io/token-town/
53•laurentiurad•2h ago•15 comments

Cesium DevCon 2026 talks are up, including a keynote from SQLite's creator

https://cesium.com/events/cesium-developer-conference/2026/
3•jasteinerman•28m ago•0 comments

Show HN: Write, simulate and synthesize VHDL/Verilog in the browser

https://risingedge.pro
9•wozniakpawel•6d ago•3 comments

Lisp moving Forth moving Lisp

https://letoverlambda.com/textmode.cl/guest/chap8.html
84•fallat•2d ago•21 comments

San Francisco: Don't Fall for Industry Defense of Surveillance Pricing

https://www.eff.org/deeplinks/2026/07/san-francisco-dont-fall-industry-defense-surveillance-pricing
66•hn_acker•2h ago•14 comments

GPT-5.6 vs. Claude Fable 5 for Physical AI, which performs best?

https://juliahub.com/blog/frontier-models-physical-ai-evaluation
7•mbauman•44m ago•0 comments

French musician Kavinsky found dead

https://www.euronews.com/culture/2026/07/29/dj-kavinsky-known-for-his-track-nightcall-found-dead-...
247•bristleworm•3h ago•56 comments

Ancient Rome's version of Google Maps: how long to reach the beach

https://www.euronews.com/culture/2026/07/02/ancient-romes-version-of-google-maps-how-long-to-reac...
58•gnabgib•6d ago•39 comments

Valve Sponsors Work Bringing Open-Source RADV Driver to Windows

https://www.phoronix.com/news/Valve-Sponsors-RADV-Windows
39•DemiGuru•1h ago•9 comments

ALP: Adaptive lossless floating-point compression

https://github.com/cwida/ALP
25•fanf2•3d ago•3 comments

A.I. Companies Are Recruiting Electricians and Carpenters by the Thousands

https://www.nytimes.com/2026/07/29/business/economy/data-center-electricians-training.html
27•thm•57m ago•8 comments