Browser Harness – simplest way to give AI control of real browser
Agent edits helpers.py mid-task while LangChain locks you into predefined tools.
Browser Harness | Self-healing harness that enables LLMs to complete any task.
Agent writes missing upload_file() mid-task and commits it — no framework can do this.
AI engineers building browser automation agents
Browser Use · LangChain Browser Tools · Playwright
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.
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.
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.
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.
Agent edits helpers.py mid-task while LangChain locks you into predefined tools.
Agents cheated benchmarks by hardcoding task info into the harness configuration.
Iteratively improves agent harnesses from 67% to 87% on tau-bench using production traces.
Self-healing Playwright tests via AI agent repair, but Playwright Inspector and Cypress already auto-fix selectors.
TypeScript only alternative to Instructor: compiler validation forces 100% function calling success.
Checkpoint-based self-healing agent with Telegram CLI, but crowded agentic space.