feat: auto-launch Chromium-family browser for CDP - #29106
Merged
Merged
Conversation
Add browser CDP launch candidates for Chrome, Chromium, Brave, and Edge while preserving Chrome-first selection. Retry candidate launch failures instead of giving up after the first executable. Update /browser CLI and TUI messaging, docs, and tool descriptions from Chrome-only wording to Chromium-family browser support. Add regression coverage for Brave/Edge paths, Chrome-first precedence, fallback launches, and CDP endpoint probing.
Contributor
🔎 Lint report:
|
Collaborator
Author
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Salvage of #21612 (@H-Ali13381) onto current main. Original branch was 936 commits behind; cherry-picked the two scoped browser commits cleanly.
/browser connectnow auto-launches Chrome, Chromium, Brave, or Edge — Chrome first whenever it's installed, fall through to the next family if Chrome isn't there or fails to launch. CDP readiness check is upgraded from raw TCP probe to a real/json/versionHTTP probe so we don't treat random listeners on port 9222 as a connected browser. CLI/TUI/docs/tool descriptions updated from Chrome-only wording to Chromium-family.Changes
hermes_cli/browser_connect.py: group launch candidates by family (Chrome → Chromium → Brave → Edge) on Linux/macOS/Windows + add explicit install paths (/opt/google/chrome,/snap/bin/brave,/opt/brave.com/...,/opt/microsoft/msedge/...,brave-browser-stable,microsoft-edge-stable,msedge);try_launch_chrome_debug()now iterates candidates and continues on Popen failure; newis_browser_debug_ready()HTTP probecli.py/browser connect: use the CDP readiness probe instead of plain TCP connecttui_gateway/server.py+ui-tui/src/app/slash/commands/ops.ts: aligned messagingtools/browser_camofox.py,tools/browser_cdp_tool.py,tools/browser_dialog_tool.py,hermes_cli/commands.py,hermes_cli/tips.py: Chrome-only → Chromium-family wordingbrowser-supervisor.md,integrations/index.md,slash-commands.md,configuration.md,features/browser.md,features/overview.mdValidation
scripts/run_tests.sh tests/cli/test_cli_browser_connect.py tests/test_tui_gateway_server.py -k 'browser_manage or ChromeDebugLaunch or browser_connect or brave or chromium or edge'→ 36/36 passed (1.55s).py_compileclean on all 6 touched Python modules.Closes #21612.