{"id":49989949,"url":"https://github.com/evalops/browser-use-rs","last_synced_at":"2026-05-24T23:01:02.169Z","repository":{"id":358521910,"uuid":"1241722320","full_name":"evalops/browser-use-rs","owner":"evalops","description":"Rust behavioral conformance port of browser-use","archived":false,"fork":false,"pushed_at":"2026-05-19T04:38:37.000Z","size":1384,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-19T04:38:53.589Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/evalops.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":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-17T18:28:52.000Z","updated_at":"2026-05-19T04:38:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/evalops/browser-use-rs","commit_stats":null,"previous_names":["evalops/browser-use-rs"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/evalops/browser-use-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evalops%2Fbrowser-use-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evalops%2Fbrowser-use-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evalops%2Fbrowser-use-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evalops%2Fbrowser-use-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evalops","download_url":"https://codeload.github.com/evalops/browser-use-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evalops%2Fbrowser-use-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33453557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-24T19:21:36.376Z","status":"ssl_error","status_checked_at":"2026-05-24T19:21:10.562Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-05-19T04:14:01.194Z","updated_at":"2026-05-24T23:01:02.163Z","avatar_url":"https://github.com/evalops.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# browser-use-rs\n\n`browser-use-rs` is the EvalOps Rust port of\n[`browser-use`](https://github.com/browser-use/browser-use). It aims for\nbehavioral compatibility at the public contract level rather than a line-by-line\ntranslation of the Python internals.\n\nCurrent frozen upstream target:\n\n```text\nbrowser-use/browser-use@157779338afdcc03023010ec3c24ad63d820453c\n```\n\nThe detailed support matrix lives in [docs/RELEASE.md](docs/RELEASE.md). The\nupstream sync process is documented in [docs/UPSTREAM_SYNC.md](docs/UPSTREAM_SYNC.md).\n\n## What Works\n\n- CDP-backed local Chrome/Chromium launch and attach, with browser profile\n  controls for launch arguments, viewport, downloads, permissions, storage\n  state, HAR/video/trace artifacts, URL access policy, and lifecycle\n  diagnostics.\n- Browser state capture with compact DOM and accessibility metadata, numbered\n  selector maps, iframe and shadow DOM support, occlusion filtering, scroll\n  context, and target-aware cached-node fallback.\n- Built-in browser actions for navigation, search, click, input, scroll, file\n  upload, keyboard input, tab management, JavaScript evaluation, screenshots,\n  PDF capture, extraction, file operations, dropdowns, and `done`.\n- Agent execution with schema-guided LLM output, bounded steps and timeouts,\n  initial actions, vision modes, message history, replay/rematching,\n  checkpoints, managed filesystem state, callbacks, pause/resume, follow-up\n  tasks, judgement routing, token usage summaries, and GIF generation.\n- LLM adapters for OpenAI-compatible chat completions, DeepSeek, Groq,\n  Cerebras, Mistral, OpenRouter, Vercel AI Gateway, Anthropic, Gemini, and\n  Ollama, including provider-specific structured-output fallbacks.\n- CLI, MCP stdio, persistent local sessions, local TCP/HTTP JSON-RPC daemon,\n  typed MCP schemas, packaged systemd/launchd templates, and release tarballs\n  for Linux and macOS.\n\n## Install\n\nInstall from the public repository:\n\n```sh\ncargo install --git https://github.com/evalops/browser-use-rs --package browser-use-cli\nbrowser-use-rs version-target\n```\n\nInstall from a local checkout:\n\n```sh\ncargo install --path crates/browser-use-cli\n```\n\nTagged GitHub releases publish Linux x86_64 and macOS host-triple tarballs,\n`SHA256SUMS`, and a generated Homebrew formula artifact. See\n[docs/INSTALL.md](docs/INSTALL.md) for release tarball and Homebrew details.\n\n## Quick Start\n\nCapture browser state:\n\n```sh\ncargo run -q -p browser-use-cli -- state \\\n  \"data:text/html,\u003chtml\u003e\u003chead\u003e\u003ctitle\u003esmoke\u003c/title\u003e\u003c/head\u003e\u003cbody\u003e\u003cbutton\u003eRun\u003c/button\u003e\u003cinput placeholder='Name'\u003e\u003c/body\u003e\u003c/html\u003e\"\n```\n\nList MCP tools:\n\n```sh\ncargo run -q -p browser-use-cli -- mcp-tools | jq -r '.[].name'\n```\n\nStart and stop a persistent local session:\n\n```sh\ntmp=$(mktemp -d)\nBROWSER_USE_RS_STATE_DIR=\"$tmp\" cargo run -q -p browser-use-cli -- session start smoke \\\n  \"data:text/html,\u003chtml\u003e\u003chead\u003e\u003ctitle\u003esession smoke\u003c/title\u003e\u003c/head\u003e\u003cbody\u003e\u003cbutton\u003eRun\u003c/button\u003e\u003c/body\u003e\u003c/html\u003e\"\nBROWSER_USE_RS_STATE_DIR=\"$tmp\" cargo run -q -p browser-use-cli -- session stop smoke\nrm -rf \"$tmp\"\n```\n\nThe CLI surface is documented in [docs/CLI.md](docs/CLI.md), MCP in\n[docs/MCP.md](docs/MCP.md), and daemon supervision in\n[docs/DAEMON_SUPERVISION.md](docs/DAEMON_SUPERVISION.md).\nThe implementation map lives in [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)\nand the file-level maintainer guide in\n[docs/CODEBASE_GUIDE.md](docs/CODEBASE_GUIDE.md).\n\n## Workspace\n\n- `browser-use-core`: agent state, history, settings, and shared result types.\n- `browser-use-cdp`: browser launch, CDP transport, sessions, targets, and tabs.\n- `browser-use-dom`: DOM, accessibility, and selector-map rendering.\n- `browser-use-tools`: built-in action schemas and registry contracts.\n- `browser-use-llm`: provider trait and model request/response adapters.\n- `browser-use-cli`: command-line entrypoint and local daemon surface.\n- `browser-use-mcp`: MCP bridge.\n- `browser-use-conformance`: golden fixtures and parity test utilities.\n\n## Keeping Current\n\nThe project pins a frozen upstream commit so compatibility claims stay precise.\nThe `Upstream Drift` workflow checks the upstream repository daily. If\n`browser-use/browser-use` moves, it opens or updates a single `upstream-drift`\nissue with the compare URL and audit checklist. The pin moves only after the\ndelta is audited, implemented, or documented as an intentional compatibility\nboundary.\n\nRelease automation is also meaning-aware: substantial public behavior can cut a\nminor version, smaller releasable changes cut a patch version, and automation\nonly changes do not publish. See\n[docs/RELEASE_AUTOMATION.md](docs/RELEASE_AUTOMATION.md).\n\n## Development\n\n```sh\ncargo fmt --all --check\ncargo clippy --workspace --all-targets -- -D warnings\ncargo test --workspace\npython3 scripts/release-version.py --check\npython3 scripts/release-version.py --self-test\npython3 scripts/upstream-drift.py --self-test\n```\n\n## License\n\nMIT. See [LICENSE](LICENSE) and [NOTICE](NOTICE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevalops%2Fbrowser-use-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevalops%2Fbrowser-use-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevalops%2Fbrowser-use-rs/lists"}