{"id":49172493,"url":"https://github.com/browser-use/browser-harness","last_synced_at":"2026-06-04T13:30:32.169Z","repository":{"id":352275108,"uuid":"1213049020","full_name":"browser-use/browser-harness","owner":"browser-use","description":"Browser Harness | Self-healing harness that enables LLMs to complete any task.","archived":false,"fork":false,"pushed_at":"2026-05-19T18:52:45.000Z","size":1230,"stargazers_count":13254,"open_issues_count":94,"forks_count":1225,"subscribers_count":38,"default_branch":"main","last_synced_at":"2026-05-19T22:15:18.691Z","etag":null,"topics":["ai-agent","browser-agent","browser-automation","browser-use","browser-use-box","browser-use-cloud","cdp","cloud-browser","llm","persistent-browser","playwright","telegram-agent","vps-agent","web-automation"],"latest_commit_sha":null,"homepage":"https://browser-harness.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/browser-use.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-17T01:56:15.000Z","updated_at":"2026-05-19T22:14:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/browser-use/browser-harness","commit_stats":null,"previous_names":["browser-use/browser-harness"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/browser-use/browser-harness","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browser-use%2Fbrowser-harness","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browser-use%2Fbrowser-harness/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browser-use%2Fbrowser-harness/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browser-use%2Fbrowser-harness/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/browser-use","download_url":"https://codeload.github.com/browser-use/browser-harness/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browser-use%2Fbrowser-harness/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33907693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","browser-agent","browser-automation","browser-use","browser-use-box","browser-use-cloud","cdp","cloud-browser","llm","persistent-browser","playwright","telegram-agent","vps-agent","web-automation"],"created_at":"2026-04-22T20:00:44.251Z","updated_at":"2026-06-04T13:30:32.148Z","avatar_url":"https://github.com/browser-use.png","language":"Python","funding_links":[],"categories":["Runtimes, Harnesses \u0026 Reference Implementations","Reference Implementations","Python","GUI \u0026 Computer Control AI Agents"],"sub_categories":["Demo Harnesses","Browser \u0026 Web Automation"],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/browser-use/media/main/browser-harness/banner-ink.svg\" alt=\"Browser Harness\" width=\"100%\" /\u003e\n\n# Browser Harness ♞\n\nConnect an LLM directly to your real browser with a thin, editable CDP harness. For browser tasks where you need **complete freedom**.\n\nOne websocket to Chrome, nothing between. The agent writes what's missing during execution. The harness improves itself every run.\n\n```\n  ● agent: wants to upload a file\n  │\n  ● agent-workspace/agent_helpers.py → helper missing\n  │\n  ● agent writes it                         agent_helpers.py\n  │                                                       + custom helper\n  ✓ file uploaded\n```\n\n**You will never use the browser again.**\n\n## Setup prompt\n\nPaste into Claude Code or Codex:\n\n```text\nSet up https://github.com/browser-use/browser-harness for me.\n\nRead `install.md` and follow the steps to install browser-harness and connect it to my browser.\n```\n\nThe agent will open `chrome://inspect/#remote-debugging`. Tick the checkbox so the agent can connect to your browser:\n\n\u003cimg src=\"docs/setup-remote-debugging.png\" alt=\"Remote debugging setup\" width=\"520\" style=\"border-radius: 12px;\" /\u003e\n\nClick Allow when the per-attach popup appears (Chrome 144+):\n\n\u003cimg src=\"docs/allow-remote-debugging.png\" alt=\"Allow remote debugging popup\" width=\"520\" style=\"border-radius: 12px;\" /\u003e\n\nSee [agent-workspace/domain-skills/](agent-workspace/domain-skills/) for example tasks.\n\n## Free Browser Use Cloud browsers\n\nStealth, sub-agents, or headless deployment.\u003cbr\u003e\n**Browser Use Cloud free tier: 3 concurrent browsers, proxies, captcha solving, and more. No card required.**\n\n- Grab a key at [cloud.browser-use.com/new-api-key](https://cloud.browser-use.com/new-api-key)\n- Or let the agent sign up itself via [docs.browser-use.com/llms.txt](https://docs.browser-use.com/llms.txt) (setup flow + challenge context included).\n\n## Architecture (~1k lines across 4 core files)\n\n- `install.md` — first-time install and browser bootstrap\n- `SKILL.md` — day-to-day usage\n- `src/browser_harness/` — protected core package\n- `agent-workspace/agent_helpers.py` — helper code the agent edits\n- `agent-workspace/domain-skills/` — reusable site-specific skills the agent edits\n\n## Contributing\n\nPRs and improvements welcome. The best way to help: **contribute a new domain skill** under [agent-workspace/domain-skills/](agent-workspace/domain-skills/) for a site or task you use often (LinkedIn outreach, ordering on Amazon, filing expenses, etc.). Each skill teaches the agent the selectors, flows, and edge cases it would otherwise have to rediscover.\n\n- **Skills are written by the harness, not by you.** Just run your task with the agent — when it figures something non-obvious out, it files the skill itself (see [SKILL.md](SKILL.md)). Please don't hand-author skill files; agent-generated ones reflect what actually works in the browser.\n- Open a PR with the generated `agent-workspace/domain-skills/\u003csite\u003e/` folder — small and focused is great.\n- Bug fixes, docs tweaks, and helper improvements are equally welcome.\n- Browse existing skills (`github/`, `linkedin/`, `amazon/`, ...) to see the shape.\n\nIf you're not sure where to start, open an issue and we'll point you somewhere useful.\n\n## Domain skills\n\nSet `BH_DOMAIN_SKILLS=1` to enable [agent-workspace/domain-skills/](agent-workspace/domain-skills/) — community-contributed per-site playbooks `goto_url` surfaces by domain. Contribute via PR.\n\n---\n\n[The Bitter Lesson of Agent Harnesses](https://browser-use.com/posts/bitter-lesson-agent-harnesses) · [Web Agents That Actually Learn](https://browser-use.com/posts/web-agents-that-actually-learn)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrowser-use%2Fbrowser-harness","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrowser-use%2Fbrowser-harness","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrowser-use%2Fbrowser-harness/lists"}