{"data":{"slug":"ntegrals-openbrowser","name":"openbrowser","tagline":"AI-powered autonomous web browsing framework","github_url":"https://github.com/ntegrals/openbrowser","owner":"ntegrals","repo":"openbrowser","owner_avatar_url":"https://avatars.githubusercontent.com/u/26648900?v=4","primary_language":"TypeScript","stars":9510,"forks":864,"topics":["ai-agents","automation","claude","playwright","puppeteer","sandbox"],"archived":false,"github_pushed_at":"2026-04-02T12:55:42+00:00","maintenance_label":"Slowing","stars_delta_30d":14,"url":"https://www.graphcanon.com/tools/ntegrals-openbrowser","markdown_url":"https://www.graphcanon.com/tools/ntegrals-openbrowser.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/ntegrals-openbrowser","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=ntegrals-openbrowser","description":"Let AI agents browse the web. An autonomous toolkit for browser-based AI agents.","homepage_url":null,"license":"MIT","open_issues":19,"watchers":248,"ai_summary":"A toolkit enabling AI agents to autonomously browse the web for data extraction and task completion built on Playwright, supporting models from OpenAI, Anthropic, and Google.","readme_excerpt":"<h1 align=\"center\">Open Browser</h1>\n\n<p align=\"center\">\n  <b>AI-powered autonomous web browsing framework for TypeScript.</b>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/ntegrals/openbrowser/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"License\"></a>\n  <a href=\"https://github.com/ntegrals/openbrowser\"><img src=\"https://img.shields.io/github/stars/ntegrals/openbrowser?style=social\" alt=\"GitHub stars\"></a>\n</p>\n\n<img src=\"./media/header.png\" alt=\"Header\"></a>\n\n---\n\nGive an AI agent a browser. It clicks, types, navigates, and extracts data — autonomously completing tasks on any website. Built on Playwright with first-class support for OpenAI, Anthropic, and Google models.\n\n> **Production-ready since v1.0.** Contributions welcome.\n\n## Why Open Browser?\n\n- **Autonomous agents**: Describe a task in natural language, and an AI agent navigates the web to complete it — clicking, typing, scrolling, and extracting data without manual scripting\n- **Multi-model support**: Works with OpenAI, Anthropic, and Google out of the box via the Vercel AI SDK — swap models with a single flag\n- **Interactive REPL**: Drop into a live browser session and issue commands interactively — great for debugging, prototyping, and exploration\n- **Sandboxed execution**: Run agents in resource-limited environments with CPU/memory monitoring, timeouts, and domain restrictions\n- **Production-ready**: Stall detection, cost tracking, session management, replay recording, and comprehensive error handling\n- **Open source**: MIT licensed, fully extensible, bring your own API keys\n\n## Quick Start\n\n```bash\n# Install dependencies\nbun install\n\n# Set up your API keys\ncp .env.example .env\n# Edit .env with your API keys\n\n# Run an agent\nbun run open-browser run \"Find the top story on Hacker News and summarize it\"\n\n# Or open a browser interactively\nbun run open-browser interactive\n```\n\n## Architecture\n\nOpen Browser is a monorepo with three packages:\n\n| Package                     | Description                                                                |\n| --------------------------- | -------------------------------------------------------------------------- |\n| **`open-browser`**          | Core library — agent logic, browser control, DOM analysis, LLM integration |\n| **`@open-browser/cli`**     | Command-line interface for running agents and browser commands             |\n| **`@open-browser/sandbox`** | Sandboxed execution with resource limits and monitoring                    |\n\n## CLI Commands\n\n### Run an AI Agent\n\n```bash\nopen-browser run <task> [options]\n```\n\nDescribe what you want done. The agent figures out the rest.\n\n```bash\n# Search and extract information\nopen-browser run \"Find the price of the MacBook Pro on apple.com\"\n\n# Fill out forms\nopen-browser run \"Sign up for the newsletter on example.com with test@email.com\"\n\n# Multi-step workflows\nopen-browser run \"Go to GitHub, find the open-browser repo, and star it\"\n```\n\n| Option                       | Description                               |\n| ---------------------------- | ----------------------------------------- |\n| `-m, --model <model>`        | Model to use (default: `gpt-4o`)          |\n| `-p, --provider <provider>`  | Provider: `openai`, `anthropic`, `google` |\n| `--headless / --no-headless` | Show or hide the browser window           |\n| `--max-steps <n>`            | Max agent steps (default: `25`)           |\n| `-v, --verbose`              | Show detailed step info                   |\n| `--no-cost`                  | Hide cost tracking                        |\n\n### Browser Commands\n\n```bash\nopen-browser open <url>              # Open a URL\nopen-browser click <selector>        # Click an element\nopen-browser type <selector> <text>  # Type into an input\nopen-browser screenshot [output]     # Capture a screenshot\nopen-browser eval <expression>       # Run JavaScript on the page\nopen-browser extract <goal>          # Extract content as markdown\nopen-browser","github_created_at":"2019-04-11T15:59:04+00:00","created_at":"2026-07-07T17:41:23.174931+00:00","updated_at":"2026-08-20T06:01:17.096089+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"}],"tags":[{"slug":"ai-agents","name":"ai-agents"},{"slug":"autonomous","name":"autonomous"},{"slug":"multi-model-support","name":"multi-model support"},{"slug":"playwright","name":"playwright"},{"slug":"puppeteer","name":"puppeteer"},{"slug":"sandboxed-execution","name":"sandboxed execution"},{"slug":"typescript","name":"typescript"},{"slug":"web-browsing","name":"web browsing"}],"trust":{"provenance":{"is_fork":false,"github_id":180827233,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-20T06:01:15.833Z","maintenance":{"label":"Slowing","score":36,"methodology":"github_public_v1","releases_90d":0,"days_since_push":139,"last_release_at":null,"stars_delta_30d":14,"open_issues_delta_30d":0},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:19:01.946Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-08-20T06:01:16.469Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-08-20T06:01:16.469Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-08-20T06:01:16.469Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-08-20T06:01:16.469Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["- When you need to automate web tasks with natural-language inputs without manual scripting.\n- For environments requiring the ability to quickly switch between different AI models (OpenAI, Anthropic,","when_not_to_use_or_limitations_are_best_when_avoided_in_situations_like_this_because_of_x_or_y_reasons_so_it_is_strongly_advised_against_using_this_tool_therefore_the_following_list_should_state_the_c","additional_facts_how_to_use_other_than_a_general_summary_below_if_non_existent_then_ignore_this_field_see_other_examples_from_our_KG_database_for_guidance_on_formatting_this_data_properly_and_effec"],"when_not_to_use":["- When the task requires a very specific browser environment or features not supported by Playwright.\n- If your project cannot accommodate MIT-licensed code, considering OpenBrowser is released under","additional_facts_how_to_use_other_than_a_general_summary_below_if_non_existent_then_ignore_this_field_see_other_examples_from_our_KG_database_for_guidance_on_formatting_this_data_properly_and_effec"],"source":"enrich:decision_facts","observed_at":"2026-07-11T16:04:50.156Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"OpenBrowser is an AI-powered autonomous web browsing framework built on Playwright, designed for data extraction and task completion using models from OpenAI, Anthropic, and Google. It features support for multi-models,沙"}]}}