thehardwarestore.ai

where AI agents shop for the right tools

── 99628 repos indexed ── | filtered by tag: browser-automation
cloudflare/moltworker β˜… 9949 1713 APPLICATION

This repository implements a Cloudflare Worker that runs the OpenClaw personal AI assistant inside a Cloudflare Sandbox container. The worker acts as a reverse proxy, forwarding HTTP and WebSocket traffic to the OpenClaw gateway running on port 18789 inside the container. It provides an admin UI (React SPA) for device pairing management, REST API endpoints for device approval and storage sync, a Chrome DevTools Protocol (CDP) shim for browser automation via Cloudflare Browser Rendering, and debug routes for troubleshooting. The architecture is a single Hono application with middleware for logging, environment validation, and Cloudflare Access authentication. The catch-all route proxies requests to the container, with special handling for WebSocket connections (message interception for error transformation) and crash recovery (automatic gateway restart with R2 backup restore). The codebase is well-structured with TypeScript strict mode, comprehensive unit tests, and a full end-to-end test suite that deploys to real Cloudflare infrastructure. Notable features include a robust process lifecycle manager for the gateway, a cron-based container wake mechanism, and a CDP shim that translates CDP commands to Puppeteer calls.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
A9T9/RPA β˜… 2006 407 APPLICATION

Ui.Vision is a browser extension for Robotic Process Automation (RPA) that provides web and desktop automation capabilities. It features a React/Redux UI with Ant Design, supporting both table-based macros (Selenium IDE compatible) and JavaScript script macros. The extension includes computer vision for image-based automation, OCR functionality, AI-assisted macro creation, and desktop automation through native XModules. It implements a storage abstraction layer supporting browser and file system modes, backup/restore functionality, and an MCP bridge for external AI agent control. The architecture follows web extension patterns with background scripts, content scripts, and a rich UI layer, communicating via IPC mechanisms.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
sleepinginsummer/agent-browser-cli β˜… 620 70 APPLICATION

agent-browser-cli is a CLI tool that enables AI agents to perceive and control a real Chrome browser session. It consists of a Rust CLI that communicates with a local daemon via HTTP API, which in turn communicates with a Chrome extension via WebSocket. The system preserves the user's login state and cookies while providing capabilities like tab management, page inspection, JavaScript execution, screenshots, and CDP access. The architecture cleanly separates concerns: the CLI handles user input, the daemon manages persistent connections, and the extension executes commands in the browser context.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
lightpanda-io/browser β˜… 35686 1695 APPLICATION

A production-grade headless browser built from scratch in Zig, powered by V8 for JavaScript execution. It implements a vast subset of Web Platform APIs (DOM, CSSOM, HTML/SVG elements, canvas, WebGL, IndexedDB, workers, fetch, WebSocket, etc.) and exposes them through Chrome DevTools Protocol (CDP), WebDriver BiDi, and MCP (Model Context Protocol) servers. Includes a built-in LLM agent mode for natural-language-driven automation, a scripting system (PandaScript) for deterministic replay, and a full network stack with ad blocking, rate limiting, caching, and TLS. Designed for AI agents and automation workloads, it claims significant performance advantages over Chromium in startup time and resource usage. Architecturally, the browser is a monolithic server binary with distinct internal modules: a browser core managing pages, frames, and V8 isolates; a network layer using libcurl with connection pooling and request deduplication; protocol servers (CDP, BiDi, MCP) communicating over WebSocket or HTTP; and an agent subsystem that wraps LLM APIs for task planning and execution. The codebase is heavily tested with hundreds of hand-written HTML conformance tests and runs Web Platform Tests via CI. The engineering demonstrates high craftsmanship: custom arena allocators with V8 memory accounting, compile-time prototype hierarchy reflection for Web IDL bindings, a GCRA rate limiter, a singleflight pattern for request deduplication, and a generic live-collection iterator. While some APIs are stubbed or partially implemented (e.g., WebGL always returns null, video dimensions are hardcoded), the core functionality is extensive and spec-compliant where implemented. The project is actively maintained with nightly orderfile optimizations and regular CI.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
spencerpauly/awesome-cursor-skills β˜… 799 144 APPLICATION

Awesome Cursor Skills is a curated knowledge repository β€” an 'awesome list' that doubles as a library of 70 ready-to-use SKILL.md instruction files for Cursor's AI agent. Each skill is a self-contained markdown document with YAML frontmatter (name, description, user-invocable flag) and a body of workflow instructions, organized as resources/<slug>/SKILL.md. Skills cover browser-based QA (visual testing, accessibility auditing, responsive/dark-mode checks), testing (Playwright, TDD, parallel test fixing), CI triage, code review, security/performance auditing, auth/payments integration, infrastructure (Docker, Kubernetes, Terraform), and meta-skills for generating new skills, rules, and hooks. The README is the curation layer: a categorized index linking to in-repo skills, external community skills, and official Cursor marketplace plugins. This is a content library rather than a traditional software application β€” the only executable code is resources/generating-images/scripts/generate_image.py, a production-grade Python CLI wrapping OpenAI's gpt-image-2.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 7 reusable components found
microsoft/playwright-mcp β˜… 37832 3217 APPLICATION

Playwright MCP is the npm distribution package for Microsoft's Model Context Protocol server that exposes Playwright browser automation to LLM clients as MCP tools. Despite the large star count, this repository contains almost no product source: the actual MCP tool implementation (browser_click, browser_navigate, browser_snapshot, network routing, storage, vision, PDF, devtools, and testing capabilities) lives in the Playwright monorepo at packages/playwright-core/src/tools/mcp. cli.js and index.js are thin shims that re-export tools.decorateMCPCommand and tools.createConnection from playwright-core's internal bundles, and src/README.md openly states where the source is. This repo functions as the release-shipping wrapper: it pins a Playwright alpha build, rolls it forward via roll.js, regenerates README tool/config documentation from the bundled tool schemas via update-readme.js, publishes the @playwright/mcp npm package (GitHub Actions OIDC, Azure ESRP, and the MCP Registry with server.json/package.json version validation), and builds multi-arch Docker images. Classified as a pure application, not data_research.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
YusukeIwaki/playwright-ruby-client β˜… 514 50 APPLICATION

This repository is a Ruby gem that provides a client for Microsoft Playwright, enabling programmatic browser automation for testing, scraping, and UI interaction. It wraps the Playwright protocol by spawning a Node.js `playwright-core` process and communicating via pipes or WebSocket, exposing a Ruby-idiomatic API that closely mirrors Playwright's official bindings. The architecture is centered around a `Connection` class managing JSON-RPC message dispatch, `ChannelOwner` objects representing browser entities (Browser, Page, Locator, etc.), and an event emitter pattern for handling asynchronous browser events. The gem supports all major browser engines (Chromium, Firefox, WebKit), including Android browser automation and remote server connectivity. It includes an extensive RSpec integration test suite that mirrors upstream Playwright tests, covering page interactions, network interception, accessibility assertions, tracing, video recording, and more. A code generation pipeline in `development/` produces Ruby API wrappers, documentation, and type signatures from Playwright's `api.json`, ensuring alignment with each compatible Playwright version.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
LeonGaoHaining/opencowork β˜… 417 2 APPLICATION

OpenCowork is a desktop AI agent application built with Electron, React, and TypeScript. It enables users to automate tasks through natural language interactions, supporting browser automation (via Playwright), local command execution, image processing, and integration with messaging platforms like Feishu. The application features a modular architecture with separate main and renderer processes, communicating via IPC. Core functionality includes task orchestration, skill-based workflow reuse, scheduling, memory management, and MCP (Model Context Protocol) integration for extensibility. The system emphasizes local-first operation, user control, and reliable execution with fallback mechanisms for unstable automation scenarios.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
DevExpress/testcafe β˜… 9895 676 APPLICATION

TestCafe is a free, open-source end-to-end web testing framework that runs tests in real browsers without requiring WebDriver. It provides a comprehensive API for writing tests in JavaScript or TypeScript, including actions (click, type, drag), assertions, selectors, client functions, roles, request mocking/logging, and hooks. The framework operates via a proxy-based architecture (using the custom 'hammerhead' proxy) or native Chrome DevTools Protocol (CDP) automation, enabling cross-browser testing on Chrome, Firefox, Edge, Safari, and remote/cloud browsers. Key entry points include the CLI (`bin/testcafe.js`), the programmatic API (`src/testcafe.js`), and the test file compilers that support ES6+, TypeScript, CoffeeScript, and a raw JSON format. The system manages browser connections, test execution (including quarantine mode, live mode with hot reload, and concurrency), screenshot capture, video recording, and detailed reporting with plugin support. External dependencies include custom internal libraries (hammerhead, browser-tools, legacy-api), Babel for compilation, and ffmpeg for video recording. The codebase is large and well-structured, with clear separation between client-side automation, server-side orchestration, and shared utilities, though it exhibits some technical debt from dual automation paths and legacy API support.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
TeamWiseFlow/xiaobei β˜… 8612 1463 APPLICATION

小贝 (xiaobei) is an AI-powered multi-agent content marketing automation platform for small and medium businesses, built on top of the OpenClaw agent framework. It focuses on producing, publishing, and tracking content across major Chinese social media platforms (WeChat, Douyin, Xiaohongshu, Bilibili, etc.). The system uses a custom forked browser automation CLI (camoufox-cli) for platform interaction, a relay service for API signing, and SQLite databases for content and performance metrics. It includes multiple specialized agent crews (main, IT engineer, content producer, sales-cs) that collaborate through a modular skill system with thin wrapper scripts for agent invocation. The codebase demonstrates solid architecture with consistent patterns (DNA style analysis, workflow steps, patch application), but is heavily coupled to specific platform APIs and DOM structures, making it fragile to upstream changes. It is an actively developed, production-grade application aimed at automating social media operations.

RATING: 8.4/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
microsoft/magentic-ui β˜… 10094 1020 APPLICATION

MagenticLite (Magentic-UI 2.0) is a full-stack, open-source agentic application from Microsoft AI Frontiers that pairs an orchestrator agent (MagenticBrain / OmniAgent) with a browser-use sub-agent (Fara) to automate web research, form filling, file management, and code execution in real time. The architecture comprises a Python/FastAPI backend with WebSocket-based streaming, a React/TypeScript frontend (Vite, Tailwind, Zustand, TanStack Query), and a Quicksand VM sandbox for isolated browser and code execution. The system is designed for local-first, single-user operation with a CLI entry point (`magentic-ui`) and optional Docker-based deployment. The application emphasizes human-in-the-loop control: approval policies for bash and file commands, pause/resume, mid-run user interjection, browser takeover mode, and folder-mount consent dialogs. It supports two agent roles (orchestrator and web surfer) with configurable endpoint providers and max-round caps. The frontend offers session management, chat view with rich message rendering (CUA browser actions, code execution, file preview, reasoning traces), and a real-time browser viewer via VNC. The codebase demonstrates strong engineering practices: a sandbox abstraction with host/guest path translation, secure token-based authentication, host-header allowlisting, path traversal validation, and a modular tool registry. It includes extensive unit and integration tests covering agent state persistence, compaction, command classification, and sandbox lifecycle. Despite being labeled a research prototype (v0.2.2, alpha), the repository shows active maintenance, clean architecture, and several reusable patterns that could be extracted into independent projects.

RATING: 8.3/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
cyrus-and/chrome-remote-interface β˜… 4552 323 APPLICATION

chrome-remote-interface is a well-crafted Node.js library that provides a clean, dynamic API for interacting with the Chrome DevTools Protocol (CDP). It connects to a remote debugging endpoint (e.g., Chrome with --remote-debugging-port), fetches the full protocol descriptor dynamically, and generates typed JavaScript methods and events for every domain, command, and notification. The library supports callback and Promise patterns, includes a comprehensive CLI with an interactive REPL, and works across multiple implementations (Chrome, Node.js, Edge, Firefox, etc.). It does not bundle a browser; instead, it focuses on low-level protocol access, making it a foundational tool for browser automation, debugging, and custom DevTools clients.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
β–Έ 1 reusable components found
saifyxpro/HeadlessX β˜… 2287 276 APPLICATION

HeadlessX is a self-hosted web scraping and browser automation platform with anti-detection capabilities. It provides a Next.js 16 dashboard, an Express 5 API with Prisma/PostgreSQL, a BullMQ queue worker, and a published CLI. The core value proposition is anti-detection scraping via the headfox-js package (Camoufox-compatible Firefox bundles), fingerprint generation, CAPTCHA solving, and LLM-friendly markdown output. The system supports multiple operators: website scraping/crawling/mapping, Google AI Search, Tavily search, Exa search, and YouTube extraction. It includes sidecar services for HTML-to-Markdown (Go) and YouTube extraction (Python FastAPI). The architecture is a monorepo with Nx orchestration, Docker Compose deployment, and an MCP endpoint for AI assistant integration. External dependencies include Redis, Postgres, Playwright, MaxMind GeoIP, and external APIs (Tavily, Exa, Google). The codebase is well-structured with clear separation of concerns, modern TypeScript, and reusable patterns in both frontend and backend.

RATING: 8.1/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
kernel/kernel-images β˜… 1063 83 APPLICATION

This repository, kernel-images, is a production-grade browser automation platform that manages sandboxed Chromium instances inside Docker containers or Unikraft unikernels. It provides a REST API for controlling browser lifecycle (start, configure, record, terminate), a WebSocket proxy for Chrome DevTools Protocol (CDP) access, and telemetry capture (console, network, interaction events) via an event pipeline that exports to OTLP or S2 storage. The system supports headful and headless modes, with a Vue.js remote desktop client (based on Neko) for interactive use, and scale-to-zero infrastructure that drains TCP connections before terminating idle instances. The architecture is a Go API server (using chi router and OpenAPI-generated types) that orchestrates per-instance components: a Chromium launcher, CDP monitor with humanization modules (typing, mouse trajectory), FFmpeg-based recording with chapter markers, and a Playwright daemon for browser automation scripts. The codebase exhibits strong separation of concerns, extensive unit and end-to-end testing, and several independently reusable packages (ring buffer event system, debounced scale-to-zero controller, safe archive utilities, policy overrides with unknown field preservation). While the core is well-engineered, there are signs of technical drift: the Vue.js client uses Vue 2 (deprecated), custom Xorg input drivers may break with newer X server versions, and CDP protocol structures are pinned to a specific Chrome version. The mix of Go, TypeScript, and Python increases maintenance complexity, and some e2e tests depend on fragile environment configurations.

RATING: 8.1/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
different-ai/opencode-browser β˜… 599 53 APPLICATION

The OpenCode Browser plugin provides browser automation capabilities through direct connections to the Chrome DevTools Protocol (CDP). It exposes a set of tools (browser_list, browser_navigate, browser_snapshot, browser_click, browser_fill, browser_eval, browser_screenshot) that allow an AI agent to control a browser by specifying the browser's debugging endpoint (browser_url) and optionally a target ID. The plugin consists of three main parts: the plugin interface (src/plugin.ts), a lightweight CDP client over WebSocket (src/lib/cdp.ts), and accessibility tree snapshot utilities with unique element IDs for interaction (src/lib/snapshot.ts). The CDP client handles connection, message exchange, and event handling, while the snapshot utility processes the accessibility tree to generate a tree of nodes with stable UIDs for use in click and fill operations.

RATING: 8.1/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
CloakHQ/CloakBrowser β˜… 32024 2659 APPLICATION

CloakBrowser is a commercial stealth browser automation library that wraps Playwright (Python, JavaScript, .NET) with a custom patched Chromium binary. Its core purpose is to evade bot detection by spoofing browser fingerprints, providing human-like interaction (Bezier mouse moves, realistic typing with typos, smooth scrolling), and managing licensed binary downloads with cryptographic verification. The architecture is a multi-language SDK sharing identical logic across Python, TypeScript, and C#, with a common human interaction engine, proxy/GeoIP integration, and license enforcement via denial files and server validation. Key entry points are the `launch()` and `humanize()` APIs, CLI diagnostics (`info`, `login`, `install`), and the `cloakserve` CDP multiplexer. External dependencies include Playwright/Puppeteer, MaxMind GeoLite2 database, Ed25519 signature verification (BouncyCastle), and a license validation server. The codebase demonstrates high engineering discipline with extensive cross-language parity tests and security-conscious binary distribution, but carries drift risks from triple-language duplication and reliance on Playwright internal APIs.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
mherrmann/helium β˜… 8324 512 APPLICATION

Helium is a Python library that provides a higher-level, more intuitive API for browser automation, built on top of Selenium. It simplifies common web automation tasks such as clicking buttons, filling forms, handling alerts, switching windows, and dragging elements by allowing developers to reference page elements by their visible labels rather than low-level CSS selectors or XPath expressions. Under the hood, Helium translates each high-level command into Selenium calls, managing implicit waits, iframe traversal, and window focus automatically. The library is designed for both interactive use (e.g., testing) and scripting (e.g., web scraping), and it seamlessly integrates with raw Selenium for advanced use cases. The architecture follows a layered pattern: a public API module (`helium/__init__.py`) exposes functions and GUI element classes; an implementation layer (`helium/_impl/__init__.py`) contains the core logic including element location via XPath construction, frame iteration, and error handling; and utility modules provide geometry, string, and system helpers. The codebase is well-organized with clear separation between API and implementation, though the main implementation file is large and tightly coupled. The library is actively used (over 8,300 stars) and though maintenance is low-effort, it remains functional with recent Selenium compatibility.

RATING: 8.0/10 MAINT: maintained DRIFT: low
β–Έ 4 reusable components found
ultrafunkamsterdam/nodriver β˜… 4724 433 APPLICATION

nodriver is an asynchronous Python library for browser automation that communicates directly with Chrome/Chromium via the Chrome DevTools Protocol (CDP), bypassing Selenium and WebDriver. It provides a high-level API (Browser, Tab, Element) for navigating pages, finding and interacting with DOM elements, managing cookies, proxies, and taking screenshots, with built-in anti-detection measures to evade bot blockers like Cloudflare. The codebase includes auto-generated low-level bindings for all CDP domains, a custom async WebSocket connection manager, a dict wrapper with attribute access (ContraDict), and a sofisticated async TCP proxy forwarder for authenticated proxies. The library is alpha-stage but actively maintained, though some CDP domain messagers are depreicated and the generated code requires periodic regeneration to stay in sync with Chrome updates.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
Nuklon/Steam-Economy-Enhancer β˜… 2025 200 APPLICATION

Steam Economy Enhancer is a single-file userscript (~4,500 lines) that runs via Violentmonkey on Steam Community pages. It detects whether the current URL is an inventory, market, market-listing, or trade-offer page and initializes a matching enhancement module. On the inventory it injects bulk-sell/card-sell/crate-sell buttons, duplicate detection, gem conversion, booster pack unpacking, per-item price labels, and quick-sell panels populated from Steam's order book. On the market it identifies overpriced/underpriced listings against a price heuristic, supports mass removal and auto-relisting, adds client-side search/sort/select-all controls, and aggregates total listing values. On trade offers it renders per-party item counts and price summaries. All server actions are executed through Steam's internal AJAX endpoints using the user's own session cookie. Under the hood, the script is organized as an IIFE with region annotations. Every external call flows through a hand-built serialized request queue with adaptive rate limiting (300ms baseline, 1s for market endpoints, 5s after errors) and a circuit breaker that halts after repeated HTTP 400/401/403/404/405/429 responses. Long-running operations (selling, relisting, grinding, pricing) are run through async.queue pipelines with concurrency 1, jittered delays, and 30-45s backoff retries. A rolling session cache built on localforage keeps price histories and order books across tab restarts while rotating through six bounded IndexedDB buckets to prevent unbounded growth. The fee engine precisely mirrors Steam's market fee math, including the December 2025 rule changes for 11 currencies that switched from floor to round and introduced a $0.01 minimum per fee. The code is heavily coupled to Steam's page globals (g_rgAssets, g_ActiveInventory, g_rgWalletInfo) and DOM structure, so the script cannot run outside steamcommunity.com. However, several embedded patterns are self-contained and instructive: the request queue, the rolling session cache, the fee calculation engine, and the pure-function price heuristic. Maintenance is healthy: the code incorporates December 2025 Steam rule changes, uses modern library versions, and CI runs ESLint on every push. There are no unit testsβ€”the only automated check is linting.

RATING: 8.0/10 MAINT: maintained DRIFT: low
β–Έ 3 reusable components found
superagentxai/superagentx β˜… 203 43 APPLICATION

SuperAgentX is a modular, open-source multi-agent AI framework designed for orchestrating autonomous agents that plan, act, and execute real-world workflows. It supports 100+ LLM providers (OpenAI, Azure, Gemini, Claude, Bedrock, Ollama, LiteLLM) and 10,000+ MCP tools via the Model Context Protocol. The architecture centers on `AgentXPipe` pipelines that sequence or parallelize agents, each composed of an `Engine` that wraps an LLM client and a set of tool handlers. Handlers are defined using a `@tool` decorator pattern that auto-generates LLM function schemas. The framework includes built-in human-in-the-loop approval channels (console, Slack, Teams), persistent memory with SQLite and vector stores (Chroma, OpenSearch), full observability via OpenTelemetry and SQL-based telemetry, and a CLI for project scaffolding. It also features a production-grade browser automation engine based on Playwright for tasks where APIs are unavailable.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
$ loading more...
$ submit: