<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: gregpr07</title><link>https://news.ycombinator.com/user?id=gregpr07</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 16 Jun 2026 15:47:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=gregpr07" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by gregpr07 in "How We Run Firecracker VMs Inside EC2 and Start Browsers in <1s"]]></title><description><![CDATA[
<p>well that's how browser agents work in a nutshell lol</p>
]]></description><pubDate>Tue, 16 Jun 2026 15:33:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48556874</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=48556874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48556874</guid></item><item><title><![CDATA[How We Run Firecracker VMs Inside EC2 and Start Browsers in <1s]]></title><description><![CDATA[
<p>Article URL: <a href="https://browser-use.com/posts/firecracker-browser-infra">https://browser-use.com/posts/firecracker-browser-infra</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48556561">https://news.ycombinator.com/item?id=48556561</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 16 Jun 2026 15:15:01 +0000</pubDate><link>https://browser-use.com/posts/firecracker-browser-infra</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=48556561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48556561</guid></item><item><title><![CDATA[New comment by gregpr07 in "OpenWarp"]]></title><description><![CDATA[
<p>Why not just use ghostty at that point?</p>
]]></description><pubDate>Fri, 01 May 2026 08:52:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47972561</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47972561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47972561</guid></item><item><title><![CDATA[Show HN: Browser Harness – Gives LLM freedom to complete any browser task]]></title><description><![CDATA[
<p>Hey HN,<p>We got tired of browser frameworks restricting the LLM, so we removed the framework and gave the LLM maximum freedom to do whatever it's trained on. We gave the harness the ability to self correct and add new tools if the LLM wants (is pre-trained on) that.<p>Our Browser Use library is tens of thousands of lines of deterministic heuristics wrapping Chrome (CDP websocket). Element extractors, click helpers, target managemenet (SUPER painful), watchdogs (crash handling, file downloads, alerts), cross origin iframes (if you want to click on an element you have to switch the target first, very anoying), etc.<p>Watchdogs specifically are extremely painful but required. If Chrome triggers for example a native file popup the agent is just completely stuck. So the two solutions are to:
1. code those heuristics and edge cases away 1 by 1 and prevent them
2. give LLM a tool to handle the edge case<p>As you can imagine - there are crazy amounts of heuristics like this so you eventually end up with A LOT of tools if you try to go for #2. So you have to make compromises and just code those heuristics away.<p>BUT if the LLM just "knows" CDP well enough to switch the targets when it encounters a cross origin iframe, dismiss the alert when it appears, write its own click helpers, or upload function, you suddenly don't have to worry about any of those edge cases.<p>Turns out LLMs know CDP pretty well these days. So we bitter pilled the harness. The concepts that should survive are:
- something that holds and keeps CDP websocket alive (deamon)
- extremely basic tools (helpers.py)
- skill.md that explains how to use it<p>The new paradigm? SKILL.md + a few python helpers that need to have the ability to change on the fly.<p>One cool example:
We forgot to implement upload_file function. Then mid-task the agent wants to upload a file so it grepped helpers.py, saw nothing, wrote the function itself using raw DOM.setFileInputFiles (which we only noticed that later in a git diff). This was a relly magical moment of how powerful LLMs have become.<p>Compared to other approaches (Playwright MCP, browser use CLI, agent-browser, chrome devtools MCP): all of them wrap Chrome in a set of predefined functions for the LLM. The worst failure mode is silent. The LLM's click() returns fine so the LLM thinks it clicked, but on this particular site nothing actually happened. It moves on with a broken model of the world. Browser Harness gives the LLM maximum freedom and perfect context for HOW the tools actually work.<p>Here are a few crazy examples of what browser harness can do:
- plays stockfish <a href="https://x.com/shawn_pana/status/2046457374467379347" rel="nofollow">https://x.com/shawn_pana/status/2046457374467379347</a>
- sets a world record in tetris <a href="https://x.com/shawn_pana/status/2047120626994012442" rel="nofollow">https://x.com/shawn_pana/status/2047120626994012442</a>
- figures out how to draw a heart with js <a href="https://x.com/mamagnus00/status/2046486159992480198?s=20" rel="nofollow">https://x.com/mamagnus00/status/2046486159992480198?s=20</a><p>You can super easily install it by telling claude code:
`Set up <a href="https://github.com/browser-use/browser-harness" rel="nofollow">https://github.com/browser-use/browser-harness</a> for me.`<p>Repo: <a href="https://github.com/browser-use/browser-harness" rel="nofollow">https://github.com/browser-use/browser-harness</a><p>What would you call this new paradigm? A dialect?</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47890841">https://news.ycombinator.com/item?id=47890841</a></p>
<p>Points: 134</p>
<p># Comments: 66</p>
]]></description><pubDate>Fri, 24 Apr 2026 14:31:38 +0000</pubDate><link>https://github.com/browser-use/browser-harness</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47890841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47890841</guid></item><item><title><![CDATA[New comment by gregpr07 in "Prove you are a robot: CAPTCHAs for agents"]]></title><description><![CDATA[
<p>It's useful for only distinguishing the smart AI from deterministic scripts and humans (we don't want either). We are convincing OpenClaws to create api keys for free (we have a free tier specifically for those agents). So it's basically marketing blog post - but for OpenClaws</p>
]]></description><pubDate>Mon, 20 Apr 2026 03:25:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47830084</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47830084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47830084</guid></item><item><title><![CDATA[New comment by gregpr07 in "Prove you are a robot: CAPTCHAs for agents"]]></title><description><![CDATA[
<p>Yeah but the whole point is that it shouldn't be deterministic - aka you have to let the "dumb" (non AI) bots out as well (otherwise a malicious user can just create thousands of api keys)</p>
]]></description><pubDate>Mon, 20 Apr 2026 03:21:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47830049</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47830049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47830049</guid></item><item><title><![CDATA[New comment by gregpr07 in "Prove you are a robot: CAPTCHAs for agents"]]></title><description><![CDATA[
<p>Yeah, we are aiming all OpenClaw/Hermes Agent agents to sign up for free without humans intervention, so you need some sort of proof-of-stake (or proof of compute) algorithm so that a simple deterministic algorithm can't just claim thousands of API keys. Most agents (at least in the current token subsidised market) don't care about token consumption, so the stakes are very small for the user!</p>
]]></description><pubDate>Mon, 20 Apr 2026 03:20:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47830045</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47830045</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47830045</guid></item><item><title><![CDATA[Show HN: Self-healing browser harness via direct CDP]]></title><description><![CDATA[
<p>Creator of browser-use library here.<p>At Browser Use we spend a lot of time thinking about the bitter lesson of agentic frameworks. A few days we did an experiment that combines replacing Playwright with CDP and giving the LLM complete freedom (building with autoresearch from ground up) to do whatever it knows from pretraining.<p>I think this is the simplest way to give an AI control of a real browser: raw CDP, and let the agent write its own tools. ~600 lines total.<p>Example: I forgot to implement upload_file(). Mid-task, the agent noticed, wrote the function, and uploaded the file. I found out when I read the git diff.<p>I haven't found a task that doesn't work yet - but extremely happy to be proven wrong. Give it a shot. Open to criticism on CDP, agent frameworks, browser use, or whatever.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47829234">https://news.ycombinator.com/item?id=47829234</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 20 Apr 2026 01:05:25 +0000</pubDate><link>https://github.com/browser-use/browser-harness</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47829234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47829234</guid></item><item><title><![CDATA[Browser Agents That Learn]]></title><description><![CDATA[
<p>Article URL: <a href="https://browser-use.com/posts/web-agents-that-actually-learn">https://browser-use.com/posts/web-agents-that-actually-learn</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47669995">https://news.ycombinator.com/item?id=47669995</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 07 Apr 2026 02:20:22 +0000</pubDate><link>https://browser-use.com/posts/web-agents-that-actually-learn</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47669995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47669995</guid></item><item><title><![CDATA[Give Agents Maximum Freedom. The less you assume, the more it works]]></title><description><![CDATA[
<p>Article URL: <a href="https://browser-use.com/posts/agent-freedom">https://browser-use.com/posts/agent-freedom</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47374619">https://news.ycombinator.com/item?id=47374619</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 14 Mar 2026 08:43:00 +0000</pubDate><link>https://browser-use.com/posts/agent-freedom</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47374619</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47374619</guid></item><item><title><![CDATA[New comment by gregpr07 in "Show HN: Open-source browser for AI agents"]]></title><description><![CDATA[
<p>Love it! From first principles: this kinda answers the "do we really even need CDP" I always have in my head building browser use...</p>
]]></description><pubDate>Wed, 11 Mar 2026 17:17:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47338370</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47338370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47338370</guid></item><item><title><![CDATA[Building secure, scalable agent sandbox infrastructure]]></title><description><![CDATA[
<p>Article URL: <a href="https://browser-use.com/posts/two-ways-to-sandbox-agents">https://browser-use.com/posts/two-ways-to-sandbox-agents</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47181316">https://news.ycombinator.com/item?id=47181316</a></p>
<p>Points: 79</p>
<p># Comments: 17</p>
]]></description><pubDate>Fri, 27 Feb 2026 15:03:12 +0000</pubDate><link>https://browser-use.com/posts/two-ways-to-sandbox-agents</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47181316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47181316</guid></item><item><title><![CDATA[We built scalable evaluation infrastructure for AI web agents]]></title><description><![CDATA[
<p>Article URL: <a href="https://browser-use.com/posts/our-browser-agent-evaluation-system">https://browser-use.com/posts/our-browser-agent-evaluation-system</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47123845">https://news.ycombinator.com/item?id=47123845</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Feb 2026 15:45:59 +0000</pubDate><link>https://browser-use.com/posts/our-browser-agent-evaluation-system</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=47123845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47123845</guid></item><item><title><![CDATA[New comment by gregpr07 in "Show HN: Sandboxing untrusted code using WebAssembly"]]></title><description><![CDATA[
<p>Why go this route? Why Python is more powerful than JS is mostly because of third party plugins like pandas which are excplicitly not supported (C bindings, is this possible to fix?)...<p>At that point it might be just easier to convince the model to write JS directly</p>
]]></description><pubDate>Tue, 03 Feb 2026 15:56:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46872625</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=46872625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46872625</guid></item><item><title><![CDATA[New comment by gregpr07 in "Show HN: Fence – Sandbox CLI commands with network/filesystem restrictions"]]></title><description><![CDATA[
<p>Wow this is really cool</p>
]]></description><pubDate>Sun, 25 Jan 2026 19:57:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46757580</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=46757580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46757580</guid></item><item><title><![CDATA[The Bitter Lesson of Agent Frameworks]]></title><description><![CDATA[
<p>Article URL: <a href="https://browser-use.com/posts/bitter-lesson-agent-frameworks">https://browser-use.com/posts/bitter-lesson-agent-frameworks</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46654581">https://news.ycombinator.com/item?id=46654581</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 17 Jan 2026 02:02:50 +0000</pubDate><link>https://browser-use.com/posts/bitter-lesson-agent-frameworks</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=46654581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46654581</guid></item><item><title><![CDATA[New comment by gregpr07 in "Show HN: Webctl – Browser automation for agents based on CLI instead of MCP"]]></title><description><![CDATA[
<p>Creator of Browser Use here, this is cool, really innovative approach with ARIA roles. One idea we have been playing around with a lot is just giving the LLM raw html and a really good way to traverse it - no heuristics, just BS4. Seems to work well, but much more expensive than the current prod ready [index]<div ... notation</p>
]]></description><pubDate>Thu, 15 Jan 2026 02:04:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46627028</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=46627028</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46627028</guid></item><item><title><![CDATA[Show HN: Open-Source Browser Use LLM (30B, A3B)]]></title><description><![CDATA[
<p>Our first model brings SoTA Browser Use capabilities in a small and fast model that can be hosted on a single GPU. It’s much much faster than anything out there and around 15x cheaper than Sonnet 4.5.<p>The wonderful name comes from: 30B parameters, 3B active, SoTA quality at real-time speed (and the model is based on Qwen/Qwen3-VL-30B-A3B-Instruct).<p>This model is heavily trained to be used with browser-use OSS library and provides comprehensive browsing capabilities with superior DOM understanding and visual reasoning.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46329054">https://news.ycombinator.com/item?id=46329054</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 19 Dec 2025 18:20:30 +0000</pubDate><link>https://huggingface.co/browser-use/bu-30b-a3b-preview</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=46329054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46329054</guid></item><item><title><![CDATA[New comment by gregpr07 in "Speed Matters: How We Achieve the Fastest Web Agent"]]></title><description><![CDATA[
<p>Hey HN,<p>we heard a lot of complaints about Browser Use being slow. Last few weeks we focused a lot on improving the speed, while keeping the same accuracy.<p>Go try it out. It's really fun to see it glide the web.</p>
]]></description><pubDate>Thu, 09 Oct 2025 15:12:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45528819</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=45528819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45528819</guid></item><item><title><![CDATA[Speed Matters: How We Achieve the Fastest Web Agent]]></title><description><![CDATA[
<p>Article URL: <a href="https://browser-use.com/posts/speed-matters">https://browser-use.com/posts/speed-matters</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45528818">https://news.ycombinator.com/item?id=45528818</a></p>
<p>Points: 1</p>
<p># Comments: 3</p>
]]></description><pubDate>Thu, 09 Oct 2025 15:12:36 +0000</pubDate><link>https://browser-use.com/posts/speed-matters</link><dc:creator>gregpr07</dc:creator><comments>https://news.ycombinator.com/item?id=45528818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45528818</guid></item></channel></rss>