{"repo":"idan-rubin/browserclaw","free":true,"listed":false,"github":"https://github.com/idan-rubin/browserclaw","clone":"git clone https://github.com/idan-rubin/browserclaw.git","description":"The AI-native browser automation library. Snapshot + ref targeting — born from OpenClaw, built for agents, by agents.","language":"TypeScript","stars":42,"topics":["accessibility","ai","ai-agent","browser-automation","cdp","chrome","llm","openclaw","playwright","snapshot"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"The browser tool, not the agent. You bring the brain. The AI-native browser automation library — born from OpenClaw, built on Playwright, embeddable in any TS/Node agent loop. Snapshot + ref targeting : no CSS selectors, no XPath, no vision model — just numbered refs that map to interactive elements. Most other tools in this space ship a complete AI agent: they take your task, own the LLM loop, decide what to click, and click it. Great — until you already have an agent. Then you've got two brains fighting over who's in charge. browserclaw is just the eyes and hands. Call snapshot() and get an AI-readable text tree where every interactive element carries a numbered ref ( e1 , e2 , …). The model reads text — the thing it's best at — and hands back a ref ID. browserclaw resolves that ref to one exact element through a Playwright locator and acts. Same page state → same ref → same result: deterministic targeting, no coordinate guessing, no LLM re-interpreting which element it meant. The reasoning stays in your code. Bring your own agent loop — or use ours browserclaw never calls an LLM or decides anything; you do. The whole integration is snapshot in, ref out, act — here it is wired to a real model: Swap Anthropic for any model — the snapshot is plain text in, a ref is plain text out. Layered, not bundled: the LLM, this library, and the agent are three independent pieces. Don't want to write the loop? Use browserclaw-agent — the open-source driver that adds obstacle recovery and ","default_branch":null,"files":null,"tree":[],"storefront":"/r/idan-rubin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/idan-rubin/browserclaw/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}