文件历史

31 次代码提交

作者 SHA1 备注 提交日期
Gregor Žunič 0f78a99bc5 Make recording opt-in and automate video production 2026-07-16 17:08:38 -07:00
Gregor Žunič 64a65ec7d3 Pin install command to supported Python 2026-06-21 07:27:29 -07:00
Gregor Žunič f74291d694 Make install upgrade existing browser-harness 2026-06-21 07:20:45 -07:00
Gregor Žunič d250809de1 Clarify remote daemon flow 2026-06-20 23:43:24 -07:00
Gregor Žunič 010a25205b Add release-ready browser harness packaging 2026-06-20 23:06:41 -07:00
Shawn Pana a8c4982693 docs(install): add "Get an API key" step with agent self-signup + ownership
install.md guided users through installing browser-harness and connecting to a
browser, but assumed BROWSER_USE_API_KEY already existed — it never explained
how to obtain a key. An agent following install.md in a headless environment
(no local Chrome) dead-ends at the cloud-browser step.

Add a "Get an API key" section that:
- frames the key as optional (local browsers are free; the key is only for the
  recommended cloud browsers);
- defaults to the agent challenge-response self-signup (POST /cloud/signup ->
  /verify -> bu_ key, free account, no human);
- after success, tells the agent to explain what it did and handle ownership:
  if the user already has an account, use their key (ask, or fetch it via
  browser-harness in their own browser); if not and they want to keep the
  account, run /cloud/signup/claim and open the claim URL in their browser;
- falls back to human key creation if the challenge fails.

Mirrors docs.browser-use.com/llms.txt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 16:28:45 -07:00
Sarath Suresh a9f7b1d547 Remove -c script execution 2026-05-12 15:35:12 +05:30
Magnus Müller 32be32fa66 install.md: drop star-the-repo prompt from first-run demo
Several users flagged that the install.md demo prompts the agent to ask
whether to star browser-harness on their behalf, which reads as star-farming.
Drop the star ask entirely — the demo still opens the repo page so the user
can see the harness has attached, but no longer solicits a star.
2026-05-07 16:49:14 +00:00
Alezander9 a2443d1d51 docs: standardize harness docs against canonical browser connection reference
Cross-checked AGENTS.md, README.md, SKILL.md, install.md, and profile-sync.md for accuracy. Tightened the sync_local_profile docstring and the chrome://inspect stderr message to match. Cloud-bootstrap test updated to set BU_AUTOSPAWN. All unit tests pass.
2026-05-02 18:02:36 -07:00
Alezander9 2a1939da4f Full proofread of install.md, fix small formatting issues 2026-05-02 16:51:45 -07:00
Alezander9 007301b7a9 Update setup guide to be clear, precise and accurate 2026-05-02 16:37:52 -07:00
Alezander9 1c77fc2a0a remove information now redundant with new connection info block 2026-05-02 15:46:16 -07:00
Alezander9 ed86e2f4c7 add canonical browser connection notes to install.mc 2026-05-02 15:41:47 -07:00
Alezander9 db41106662 docs: replace remaining heredoc examples with -c flag
PR #229 (src layout refactor) updated SKILL.md and run.py to the -c form
when the CLI dropped stdin support, but missed install.md (steps 2 and 7)
and interaction-skills/profile-sync.md. Sync them up.

Picks up the still-relevant hunks from #215 (closes #215, refs #213).

Co-authored-by: Andres Gonzalez <62394570+FVTVLIX@users.noreply.github.com>
2026-04-29 13:55:44 -07:00
Claude ee1ff81eac Rename skill command from /browser-harness to /browser
Shortens the invocation to a cleaner /browser command.

https://claude.ai/code/session_014BWe8AkViicHviYPP843t5
2026-04-28 22:19:53 +00:00
Sarath S Menon fb1a51dd9b refactor: move to src layout, agent-workspace, and fix SKILL.md invocation format (#229)
* refactor(tests): reorganize into tests/unit and tests/integration

Moves all root-level test_*.py files into a structured tests/ directory:
- tests/unit/ — admin, helpers (was test_screenshot), run
- tests/integration/ — js expression tests
- tests/conftest.py — shared fake_png pytest fixture, eliminating duplication

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: move to src layout, agent-workspace, and fix SKILL.md invocation format

- Move package to src/browser_harness/ and domain-skills/interaction-skills to agent-workspace/
- Fix all browser-harness <<'PY' heredoc examples in SKILL.md and run.py HELP string to use the correct -c '...' flag format (heredoc was never supported by the CLI)
- Update SKILL.md path references from domain-skills/ to agent-workspace/domain-skills/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 15:38:11 +05:30
Sarath S Menon 0c4af63b1b docs: move setup/maintenance content from SKILL.md to install.md (#186)
SKILL.md now covers day-to-day usage only. Maintenance commands
(--doctor, --setup, --update) and the architecture section move to
install.md where setup and break-fix content belongs.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 15:19:50 +05:30
Sarath S Menon 724c1c7a16 docs(SKILL.md): remove inline backticks; fix install.md goto_url rename (#185)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:45:28 +05:30
reformedot 8a0c981082 feat: self-update CLI, release workflow, and fetch-use routing
- Add --version, --doctor, --setup, --update[-y] commands in run.py;
  logic lives in admin.py (install-mode detection, GitHub-releases cache
  with 24h TTL, dirty-worktree guard, interactive Chrome-attach flow).
- Print a once-per-day startup banner telling agents to run
  `browser-harness --update -y` when a newer release is available.
- Rename project to browser-harness in pyproject.toml so PyPI installs
  (uv tool install browser-harness) work via the public package name.
- Add .github/workflows/release.yml: on v* tag push, verify the tag
  matches pyproject.toml, uv build, and publish to PyPI via trusted
  publishing.
- Wire helpers.http_get through fetch_use.fetch_sync(...).text when
  BROWSER_USE_API_KEY is set; falls back to the original urllib path
  otherwise, preserving the existing str return contract.
- Document the new commands and the agent's self-update duty in
  SKILL.md and install.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 12:49:07 -07:00
Magnus Müller b0d78177a6 docs: agent offers to star the repo as a demo, asks first (#95)
* docs: suggest starring the repo, don't auto-star it

The verification task at the end of install was for the agent to
directly star the harness repo if the user was logged in to GitHub.
That conflates "verify the harness is attached" with "make a social
action on behalf of the user" — the latter shouldn't happen
without explicit user intent.

Reword install.md step 8 and the README setup prompt + example task
so the agent navigates to the repo (still verifies attach + activates
the tab so the user can see it) and *suggests* starring if the user
likes the project, instead of clicking the star itself.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: agent should ask permission, not redirect star action to user

Previous wording told the agent "suggest the user star it themselves;
don't click yourself." That dropped the agent's role in the demo
entirely. The intent is the opposite: the *agent* should offer to
star the repo for the user (as a live demo that the harness can
interact with the page), and only do it if the user agrees.

Also drop the "Example task: ..." tagline from README — point to
domain-skills/ for examples instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 23:06:56 -07:00
Magnus Müller dcd802cdb1 install: error-driven decision tree, drop unconditional chrome://inspect (#74)
* install: error-driven decision tree, drop unconditional chrome://inspect

The previous bootstrap implied that every attach failure (and any
not-running-Chrome case) needed a chrome://inspect navigation. In
practice the remote-debugging checkbox is per-profile sticky in Chrome,
so for any profile that has ever had it toggled on, just launching
Chrome and polling is enough — chrome://inspect is only needed the
first time per profile, when DevToolsActivePort is genuinely missing.

Restructure step 3 of install.md as an explicit error-keyed decision
tree (no Chrome process / DevToolsActivePort missing / port not live
yet / stale websocket) and add a matching gotcha to SKILL.md. Also fix
a stale `uv run bh` snippet in SKILL.md — the entrypoint is
`browser-harness`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Update install.md

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update install.md

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-04-18 17:44:48 -07:00
Prabir Shrestha 4e562620be Add Microsoft Edge support (#63)
* Add Microsoft Edge support

Edge is Chromium, so the daemon's CDP bootstrap works unchanged once it
knows where Edge's DevToolsActivePort lives. This adds the macOS, Linux,
and Windows Edge profile paths to the discovery list, plus a one-line
note in install.md clarifying that `chrome://inspect/#remote-debugging`
and the rest of the setup flow apply to Edge too.

* Edge Beta/Dev/Canary, drop Edge from main README

Cover the non-stable Edge channels on macOS, Linux, and Windows so
users on insider builds don't fall through to 'DevToolsActivePort not
found'. Edge SxS (Side-by-Side) is Canary's install dir on Windows.

Keep README's Chrome-only pitch; Edge stays documented in install.md
where setup details belong.

* install.md: move Edge note to bottom, one line

Top-of-section carve-out distracts from the Chrome bootstrap steps.
A one-liner in the cold-start reminders is enough for users who need it.

---------

Co-authored-by: MagMueller <mamagnus00@gmail.com>
2026-04-18 15:37:43 -07:00
Magnus Müller f87fdde0af Remove default ensure_real_tab from docs (#36) 2026-04-17 22:46:33 -07:00
Magnus Müller becec42ca4 [codex] Rename CLI to browser-harness run (#35)
* Rename CLI to browser-harness run

* Simplify browser-harness CLI
2026-04-17 22:33:05 -07:00
Magnus Müller 6adacbf94b Tighten install durability and restart guidance (#32) 2026-04-17 22:04:58 -07:00
Magnus Müller 6a049ff9c3 Tighten install cold-start guidance (#27) 2026-04-17 21:50:30 -07:00
Magnus Müller 4543d42273 Document daemon reuse during setup (#26) 2026-04-17 21:40:15 -07:00
Magnus Müller acda8c72a0 Simplify helper surface (#23)
* Simplify helper surface

* Trim common module and restore dispatch key
2026-04-17 21:37:58 -07:00
Magnus Müller 56b89c0770 Clean up install bootstrap flow (#25) 2026-04-17 21:34:26 -07:00
Magnus Müller 0702b83759 Clarify Chrome remote debugging bootstrap (#22) 2026-04-17 21:12:50 -07:00
Magnus Müller 3193531a28 Split install and runtime docs (#20)
* Split install and runtime docs

* Refine install skill prompts
2026-04-17 20:57:29 -07:00