GitHub - browser-use/browser-harness: Browser Harness | Self-healing harness that enables LLMs to complete any task.
Service

GitHub - browser-use/browser-harness: Browser Harness | Self-healing harness that enables LLMs to complete any task.

browser-use
2026.05.06
·GitHub·by 임근석/부산/NLP
#Agent#Browser Automation#CDP#LLM#Self-healing

Key Points

  • 1Browser Harness is a tool that directly connects a Large Language Model (LLM) to a real browser using a thin CDP harness, designed for complete freedom in executing complex browser tasks.
  • 2It operates by enabling the agent to write missing code and helpers during execution, with the system autonomously improving itself and generating site-specific "domain skills" from successful runs.
  • 3The project encourages community contributions of these agent-generated domain skills, aiming to fully automate web interactions and minimize the need for manual browser use.

The Browser Harness project introduces a novel approach to connecting Large Language Models (LLMs) directly to a real web browser via a thin, editable harness leveraging the Chrome DevTools Protocol (CDP). This system aims to enable LLMs to autonomously perform complex browser-based tasks with complete freedom, effectively making manual browser interaction obsolete for the user.

The core methodology revolves around a self-improving and self-correcting loop. When an LLM, acting as an agent, attempts to perform a task (e.g., uploading a file) and discovers that a necessary helper function or piece of logic is missing within its agent-workspace/agent_helpers.py module, the agent itself dynamically writes and integrates the required code. This allows the harness to continuously learn and improve its capabilities during execution, adapting to new challenges and expanding its operational scope with each successful task completion. The interaction with the browser is direct, established through a single WebSocket connection to Chrome, ensuring minimal interference or abstraction layers.

The architecture is streamlined, primarily comprising four core components: install.md for initial setup and browser bootstrapping; SKILL.md for day-to-day operational guidance; src/browser_harness/ which encapsulates the protected, core logic of the harness; and agent-workspace/, which contains agent-editable codebases. Within agent-workspace/, agent_helpers.py stores general-purpose helper functions that the agent can modify or extend, and domain-skills/ houses site-specific playbooks or skills.

Domain skills represent reusable, site-specific taskflows, providing the agent with pre-learned selectors, interaction patterns, and edge cases for particular websites (e.g., Amazon, LinkedIn). A critical aspect of the system's learning mechanism is that these domain skills are generated by the harness itself, not hand-authored by humans. When the agent successfully navigates a non-obvious task or interaction flow on a specific site, it automatically captures and files this learned sequence as a domain skill. This ensures that the generated skills accurately reflect what works in a live browser environment. Users are encouraged to contribute these agent-generated agent−workspace/domain−skills/<site>/agent-workspace/domain-skills/<site>/ folders via pull requests. Enabling domain skills is done by setting the BHDOMAINSKILLS=1BH_DOMAIN_SKILLS=1 environment variable, which allows the goto_url function to leverage these site-specific playbooks.

For setup, users provide a specific prompt to an LLM (such as Claude Code or Codex), which then consults install.md to guide the installation and connection process. This involves enabling remote debugging in Chrome (chrome://inspect/#remote-debugging) and allowing the per-attach popup for agent connection. The project also offers access to cloud browsers via "Browser Use Cloud," providing features like concurrent browsers, proxies, and captcha solving, with options for API key acquisition directly or by the agent. The philosophy behind the system is implicitly linked to "The Bitter Lesson of Agent Harnesses," suggesting an emphasis on learned, generalized capabilities over brittle, hardcoded solutions for web agents.