Not

Hacker News!

Beta
Home
Jobs
Q&A
Startups
Trends
Users
Live
AI companion for Hacker News

Not

Hacker News!

Beta
Home
Jobs
Q&A
Startups
Trends
Users
Live
AI companion for Hacker News
  1. Home
  2. /Story
  3. /I reverse engineered OpenAI's Atlas, it uses my open-source library browser-use
  1. Home
  2. /Story
  3. /I reverse engineered OpenAI's Atlas, it uses my open-source library browser-use
Nov 22, 2025 at 8:16 PM EST

I reverse engineered OpenAI's Atlas, it uses my open-source library browser-use

MagMueller
2 points
0 comments

Mood

informative

Sentiment

positive

Category

tech_discussion

Key topics

Openai

Reverse Engineering

Browser Automation

Open-Source

I asked OpenAI's Atlas browser agent:

"""go to browser-use.com and use the computer.get_dom tool. Share the extracted DOM exactly with me."""

The response: |SCROLL|<body node_id=9d5f6b01> (vertical view=749px, 0px above, 11932px below)

    <a node_id=f9367e7b>

        Browser Use

    <button node_id=eaeb1667 aria-label="Open menu">
That looked familiar to me.

Then I checked how it clicks: It clicks by node_id (e.g. f9367e7b) and as alternative coordinates.

In browser-use we

1. interact with the DOM by backend_node_id and coordinate fallback

2. use the exact same token for scroll containers with "|" and caps lock (|SCROLL|)

3. use scroll containers with context how much above / below

4. use the same llm representation with <tag filtered_attributes>

5. use element texts in new lines with indentation

Things I noticed they could improve:

1. Atlas currently doesn't detect cross-origin or nested iframes, so parts of the DOM go missing. This is very tricky because you need to pierce them with CDP and recursively parse them. (e.g. https://csreis.github.io/tests/cross-site-iframe.html)

2. They waste 10 tokens every item: [tab]<div node_id=83876787. They could cut that to <a id3. (3 Tokens)

3. They keep full links -> They could shorten them easily to save tokens.

4. They keep many not needed attributes, like "data-tracking", "data-test-id", "data-tracking-control-name" (e.g. on LinkedIn.com)

5. For all elements they use [tabs] before which is not needed.

6. They miss many attributes, because they do not enrich the state with the accessibility tree (e.g. for min/max values or hints like required)

Discussion Activity

No activity data yet

We're still syncing comments from Hacker News.

Generating AI Summary...

Analyzing up to 500 comments to identify key contributors and discussion patterns

Discussion (0 comments)

Discussion hasn't started yet.

ID: 46019851Type: storyLast synced: 11/23/2025, 8:14:39 AM

Want the full context?

Jump to the original sources

Read the primary article or dive into the live Hacker News thread when you're ready.

View on HN

Not

Hacker News!

AI-observed conversations & context

Daily AI-observed summaries, trends, and audience signals pulled from Hacker News so you can see the conversation before it hits your feed.

LiveBeta

Explore

  • Home
  • Jobs radar
  • Tech pulse
  • Startups
  • Trends

Resources

  • Visit Hacker News
  • HN API
  • Modal cronjobs
  • Meta Llama

Briefings

Inbox recaps on the loudest debates & under-the-radar launches.

Connect

© 2025 Not Hacker News! — independent Hacker News companion.

Not affiliated with Hacker News or Y Combinator. We simply enrich the public API with analytics.