44 comments

[ 3.3 ms ] story [ 61.8 ms ] thread
Nice. I was just thinking of building this very thing. Glad to see I won’t have to. I’ll check it out after the holidays.
My number one question would be how it compares to Playwright -- differences in design goals, capabilities, advantages and disadvantages.
This is very cool. We were thinking about doing something very similar with Skyvern

What was the reason you went down this path instead of extending selenium with AI features?

I'd love to be able to lock down the browser to only allow certain URLs (e.g. localhost) so I can give Claude (and other tools) carte blanche to use browser automation (rather than manually approving each command). Is this something on your radar / roadmap?
Hi this looks really valuable, thanks for developing and sharing. Would you share some use cases and how you or your users use it personally? would love to see some examples and feel the aha "That's how I'd like to use it too!" and it would help me drive and se the problems I have as being solvable by this too rather than seeing a tool/solution looking for a problem. (not implying you're that, but without examples/use cases that's the default way I think)
I wasn’t able to gather the future state plans beyond what’s noted in the V2 plans:

https://github.com/VibiumDev/vibium/blob/main/V2-ROADMAP.md

What’s next 5 years look like given that you are very good at building long-term projects that last and evolve through time? And for a very specific example, what’s the plan for incorporating new standards like Agent Skills as they quickly evolve and launch?

How does it handle context bloat between the browser and the llm?

Any plans of exposing more of the browser? For instance playwright is able to store tracing files the agent may decide to read to understand some requests / payloads…

Any plans on allowing the agent to run an arbitrary js script?

(comment deleted)
Aside from the project itself, I am learning a lot just from reading the commits. Mostly about the process when one knows how they'd do it.

https://github.com/VibiumDev/vibium/commits/main/?after=ffc3...

thanks. if ai-assisted development is the future of software (and i think it is), it was important i put my money where my mouth is and develop it by doing exactly that.
What is the benefit of using this instead of playwright?
Neat. Any reason why the MCP server doesn't expose a JavaScript/eval tool? Current models excel at writing JS to drive and inspect the DOM. They aren't great at driving browsers via screenshots.
As someone who's made a good living primarily in UI automation for over a decade, thank you.

It's been an interesting journey.I do think Playwright is the defacto standard now, but Selenium was the original browser driver.

Anyway, how does Vibium compare to Playwright ? Playwright's main advantage is it has official support for multiple languages.

Any idea how did Puppeteer lose the race?
You might also want to look into Stagewright.
How do you install it into Claude Desktop? I tried the following, but it fails.

    "vibium": {
      "command": "npx",
      "args": [
        "-y",
        "@vibium/mcp@latest"
      ]
    }
Since it's in go, wouldn't it be great if it also expose go api?
entirely possible I’m just really bad at this stuff but I can’t get browser agents to do simple report pulls without running into a captcha or a dropdown menu that breaks its brain. hopefully this is the one!
Hey man, just wanted to say thanks for Selenium - it was a game changer and had a big impact on my professional life.

I’m interested in checking out Vibium - I’ve been a reluctant adopter of Playwright and hopeful for a new approach.

> I’ve been a reluctant adopter of Playwright and hopeful for a new approach.

Out of curiosity, why?

Personally, I'm a massive lover of playwright. Flakiness has been so much lower for us.

I think the future is mobile when it comes AI agents, If you are also looking for a new approach, I would suggest DeepWalker. It is mobile first automation, currently works on android.

[0]: https://deepwalker.xyz

Does it allow you to inject js, modify the DOM, and most crucially monitor/modify network requests? I do those things in probably 95-99% of the time I reach for playwright mcp in claude, and from the "For Agents" part of the README, it seems like all this can do is click/type/screenshot?
Is this something you use to generate static browser tests that no longer use the LLM? Or would you need to use the LLM every time you run the tests?
If an agent gets a copy of the screen using browser_screenshot and then wants to click somewhere on that screen, how is it meant to find the right css selector to pass to browser_click?

There's a browser_find method, but that assumes you already know what type of element it is. But I can't always tell what type of element something is just by looking at a screenshot.

What have I missed or misunderstood?

I will wait for full Python and Go support.
have plans for new year's eve?
Cool. Can this currently be used with codex in the same way?
Anyone attempting something similar for Qt/QML based apps?
I thought about it as well. Might do it at some point.