ai-setup 4 min read

Skyvern – AI-Powered Browser Automation

Open-source browser automation that uses vision LLMs to navigate websites, fill forms, and complete workflows without brittle XPath selectors.

By
Share: X in
Skyvern product thumbnail

TL;DR

TL;DR: Skyvern automates browser-based workflows using vision LLMs instead of XPath selectors — resilient to website layout changes and applicable across any site.

Source and Accuracy Notes

⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.

What Is Skyvern?

Skyvern is an open-source browser automation framework that replaces XPath-based selectors with vision LLMs. Instead of writing fragile DOM queries that break when a website updates, you give Skyvern a natural language goal and it uses computer vision to understand and interact with page elements.

The project is built on top of Playwright and was inspired by BabyAGI and AutoGPT. Skyvern runs a swarm of agents that comprehend a website, plan actions, and execute them — all without pre-defined selectors.

“Skyvern automates browser-based workflows using LLMs and computer vision. Instead of only relying on code-defined XPath interactions, Skyvern relies on Vision LLMs to learn and interact with the websites.” — README, skyvern.com

Setup

Prerequisites

  • Python 3.11, 3.12, or 3.13
  • Docker Desktop (if using Docker Compose)
  • An LLM API key (OpenAI, Anthropic, etc.) — configured in .env
pip install "skyvern[all]"

skyvern quickstart

The quickstart command defaults to SQLite at ~/.skyvern/data.db. For a local Postgres container instead:

skyvern quickstart --postgres

Option B: Docker Compose

git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern

cp .env.example .env
# edit .env to add your LLM API key

docker compose up -d

Open http://localhost:8080 to access the web UI after starting.

How It Works

Traditional browser automation requires writing custom scripts per website, relying on DOM parsing and XPath interactions that break on layout changes.

Skyvern takes a different approach:

  1. Vision-based understanding — An LLM with computer vision maps visual page elements to actions
  2. Agent swarm — Multiple agents collaborate to comprehend the site, plan workflow steps, and execute them
  3. Resilient to changes — No hardcoded selectors means workflows survive UI updates that would break XPath-based tools

The system can operate on websites it has never seen before, and a single workflow definition can be applied across many sites with similar structures.

Self-Hosting Considerations

Skyvern is fully self-hostable. The Docker Compose option bundles Postgres, the API server, and the web UI together. The pip install option gives you a Python SDK to integrate into existing projects.

Key self-hosting notes from the README:

  • SQLite is the default database (no external dependencies needed for local dev)
  • Pass --postgres or --database-string to use Postgres instead
  • LLM API keys are configured via environment variables in .env

Comparison to Alternatives

| Feature | Skyvern | Playwright (traditional) | Selenium | |---|---|---|---| | Selector strategy | Vision LLM | XPath/CSS | XPath/CSS | | Layout-change resilience | High | Low | Low | | No-code UI | Yes | No | No | | Self-hosted | Yes | Yes | Yes | | License | AGPL-3.0 | Apache 2.0 | Apache 2.0 |

FAQ

Q: Does Skyvern need an LLM API key to run? A: Yes. Skyvern uses vision LLMs to understand page elements and plan actions. You need an API key for OpenAI, Anthropic, or another compatible provider. The .env file configures which provider to use.

Q: How is this different from Playwright directly? A: Playwright requires you to write explicit selectors (XPath, CSS) for every element you want to interact with. Skyvern layers an AI agent on top that can understand a page visually and figure out the right interactions on its own, based on a natural language goal.

Q: Can I run Skyvern without Docker? A: Yes, with pip install "skyvern[all]" and Python 3.11–3.13. Docker is only needed if you want the full stack (Postgres + API + UI) containerized, or on Windows where additional build tools are required.

Q: What license is Skyvern published under? A: AGPL-3.0. If you modify and distribute Skyvern as a service to third parties over a network, you must make your modifications available under the same license.

Conclusion

Skyvern solves the core brittleness problem in traditional browser automation. By relying on vision LLMs instead of XPath selectors, workflows survive website updates that would break conventional tools. With both a pip-installable SDK and a Docker Compose option with a no-code UI, it covers technical and non-technical use cases alike. The 22.6k GitHub stars and active development signal a mature project worth considering for any browser automation need.