🐉 Automate Browser-based workflows using LLMs and Computer Vision 🐉
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
-->
Skyvern automates browser-based workflows using LLMs and computer vision. It provides a Playwright-compatible SDK that adds AI functionality on top of playwright, as well as a no-code workflow builder to help both technical and non-technical users automate manual workflows on any website, replacing brittle or unreliable automation solutions.
Traditional approaches to browser automations required writing custom scripts for websites, often relying on DOM parsing and XPath-based interactions which would break whenever the website layouts changed.
Instead of only relying on code-defined XPath interactions, Skyvern relies on Vision LLMs to learn and interact with the websites.
How it works
Skyvern was inspired by the Task-Driven autonomous agent design popularized by BabyAGI and AutoGPT -- with one major bonus: we give Skyvern the ability to interact with websites using browser automation libraries like Playwright.
Skyvern uses a swarm of agents to comprehend a website, and plan and execute its actions:
This approach has a few advantages:
1. Skyvern can operate on websites it's never seen before, as it's able to map visual elements to actions necessary to complete a workflow, without any customized code
1. Skyvern is resistant to website layout changes, as there are no pre-determined XPaths or other selectors our system is looking for while trying to navigate
1. Skyvern is able to take a single workflow and apply it to a large number of websites, as it's able to reason through the interactions necessary to complete the workflow
A detailed technical report can be found here.
Demo
https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f
Quickstart
Skyvern Cloud
Skyvern Cloud is a managed cloud version of Skyvern that allows you to run Skyvern without worrying about the infrastructure. It allows you to run multiple Skyvern instances in parallel and comes bundled with anti-bot detection mechanisms, proxy network, and CAPTCHA solvers.
If you'd like to try it out, navigate to app.skyvern.com and create an account.
Run Locally (UI + Server)
Choose your preferred setup method:
> **Database default**: skyvern quickstart and skyvern run server default to a SQLite database at ~/.skyvern/data.db so the pip path works without Postgres or Docker. To use Postgres instead, pass --database-string for an existing database (or omit --no-postgres so quickstart starts its own Postgres container). Docker Compose always uses the bundled Postgres service.
Option A: pip install (Recommended for Python-managed local setup)
Dependencies needed:
- Python 3.11, 3.12, or 3.13
Additionally, for Windows:
- Rust
- VS Code with C++ dev tools and Windows SDK
1. Install Skyvern
2. Run Skyvern
The pip quickstart uses SQLite by default. To use a local Postgres container instead, run skyvern quickstart (Postgres container is started unless you pass --no-postgres), or connect to an existing database with --database-string=postgresql+psycopg://user:pass@host:5432/dbname.
Option B: Docker Compose
Use this option if you want everything containerized (Postgres, API, UI) and don't want to install Python/Node locally.
1. Install Docker Desktop
2. Clone the repository:
3. Configure your LLM provider in .env (the quickstart --docker-compose command below will create it from .env.example if missing):
4. Start everything:
5. Open http://localhost:8080
Troubleshooting
**(sqlite3.OperationalError) table organizations already exists** — You hit a known bug in pip install skyvern==1.0.31. Fix:
If you are still on 1.0.31 and cannot upgrade, install via uv instead:
**pip install skyvern fails with ResolutionImpossible (litellm / fastmcp)** — You hit a dependency-resolution conflict in 1.0.31. Either upgrade to 1.0.32+ or use uv: uv pip install skyvern.
SDK
**Skyvern is a Playwright extension that adds AI-powered browser automation.** It gives you the full power of Playwright with additional AI capabilities—use natural language prompts to interact with elements, extract data, and automate complex multi-step workflows.