oya-browser

mcp
Guvenlik Denetimi
Uyari
Health Gecti
  • License — License: NOASSERTION
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 202 GitHub stars
Code Uyari
  • fs module — File system access in .github/workflows/deploy-prod.yaml
  • fs module — File system access in browser/anonymity/profile-store.js
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

The browser control plane for AI agents. One API over Oya Cloud, Browserbase, Steel, Anchor, Browser Use and your own Chrome, with persistent personas, CAPTCHA and MFA handling, and live human takeover.

README.md

Oya Browser — the automation lives inside the browser, not attached to it

Everyone else drives Chrome from the outside. We built the browser.

The automation lives inside it, not attached over the debugging protocol — so your agents stop
looking like a harness. Sign in once and every browser you start is already signed in.
Do the task once and Oya replays it forever, with no model in the loop.

npm: @oya-ai/browser License Hosted

Start

npm i @oya-ai/browser
import { Oya } from "@oya-ai/browser";

const browser = await new Oya().browser.start();     // real Chrome, yours for the session
await browser.goto("https://news.ycombinator.com");
console.log(await browser.ask("What are the top 3 stories?"));
await browser.stop();
DONE: The top 3 stories on Hacker News are:
1. Google's Open Agentic Orchestrator
2. Samsung is expected to more than double output of its HBM4 and HBM4E DRAM
3. What happened to the Snowden archive

Set OYA_API_KEY from browser.getoya.ai. Node 20+.

Record it once, replay it forever

ask() costs a model call every time. Save the run and it never costs one again.

await browser.ask("Log in with {{user}} and {{pass}}. Open New Request for {{name}}.",
  { data: { name: "Alex Example" }, secrets: { user, pass } });
await browser.toPlaybook("new-request");             // the steps it just took

await replay.play("new-request", { name: "Sam Example", user, pass });   // no model, new inputs

Nine of ten public sites replay every recorded step with no model and no repair —
the tenth is named, with its error. When a page really has changed,
the agent fixes it and leaves you a draft to approve. Every playbook is also a Playwright module
you can read and keep.

Sign in once

Scripted logins break on Google SSO, Okta, passkeys and Cloudflare. Don't script them. Sign in
by hand once in the desktop app, and every browser you start on that
persona is already signed in — the session travels as cookies and localStorage, sealed at
rest, because half the portals worth automating keep you signed in with neither one alone.

For the portals that end the session server-side anyway, store the login and Oya signs in itself
— and stops rather than retrying a password the site has already refused, because that is how a
real account gets locked out.

Why it isn't flagged as a bot

Everyone else ships an SDK that drives headless Chrome over the debugging protocol. That is the
easy way, and it is the shape anti-bot vendors have learned to look for. Oya is a real headful
browser a person can sit in front of, and the automation runs inside the process:

  • The persona's platform, timezone, locale, cores and screen are set through Chrome's own
    emulation
    before the first document, and again in workers and cross-site iframes. A value
    Chrome reports about itself cannot be caught lying.
  • Reading a page uses an isolated world, so it needs no Runtime.enable — a known detection
    vector. Replay never turns it on.
  • Console and network come from browser-process APIs, not the Log and Network domains, so
    watching a run adds nothing a page can see.

Measured, not asserted: 0% CreepJS headless score (bare headless Chrome: 100%), 0 lies,
31 of 31 Bot.Sannysoft. Nobody can promise you are never detected — our own numbers page
says so
— but you can run the harness yourself and see what it says.

Self-host

npx @oya-ai/cli install

Six questions, then it clones, writes the config, builds and waits for /readyz.
SQLite, Postgres or Supabase; browsers on Docker, Kubernetes or your own machines.

Give it to your agent

claude mcp add --transport http oya https://browser.getoya.ai/mcp/pool \
  --header "Authorization: Bearer $OYA_API_KEY"

Then just ask: "Start a browser, open Hacker News and summarise the top 3 stories."
Also Cursor, Claude Desktop and any agent that reads skills.

The Oya browser: a task asked in plain language, answered, and kept as a playbook

The browser itself, filmed in real time: a task asked in the Ask pane, the answer, and the run kept as a playbook. The green boxes are the page as the agent reads it — every element it can act on, numbered. The four-minute version goes on to LinkedIn already signed in, Amazon, and a login it completes by itself (subtitles included).

The rest

CAPTCHA and 2FA Solved where they can be, handed to a person where they can't
It proves what it did A hash-chained audit trail the database won't let you rewrite, host allow-listing, regenerable evidence
It isn't one vendor Oya Cloud, Browserbase, Steel, Anchor, Browser Use or your own Chrome — why
It keeps your tools Every browser has a cdpUrl, so Playwright and Puppeteer connect unchanged
Full docs SDK · CLI · self-hosting · examples · browser.getoya.ai/docs

Packages

Package
@oya-ai/browser TypeScript SDK. ESM and CJS, typed, zero runtime dependencies.
@oya-ai/cli The fleet, the live view, the installer.
server · ui · browser Control plane, console, and the browser itself.
npm test                 # the whole suite
cd server && npm run stealth -- --live   # the stealth numbers, on your machine

License

The SDK and CLI are MIT — embed them in commercial agents.
Everything else is source-available under the Sustainable Use License: free for
internal business use, research and non-commercial use.

Yorumlar (0)

Sonuc bulunamadi