workflow-use

browser-useAGPL-3.0活跃维护

用 Python 创建并运行浏览器自动化工作流,把重复的网页操作录制成可复用的 RPA 流程,无需写复杂脚本。

⚙️ Create and run workflows (RPA 2.0)

v0.2.11发布于 2025-11-19 14:58 UTC4,252star +5 / 7 天356fork同步于 2026-11-10 05:38 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/browser-use/workflow-use
cd extension && npm install && npm run build
cd ../workflows && uv sync && source .venv/bin/activate
playwright install chromium
cp .env.example .env
硬件要求按 README 说明

README 未说明显存或 GPU 要求;需安装 Playwright Chromium 浏览器运行,可选用 Browser-Use Cloud 云端浏览器。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

录制一次浏览器操作生成确定性工作流,失败时回退 Browser Use 智能体

用 Python 创建并运行浏览器自动化工作流,把重复的网页操作录制成可复用的 RPA 流程,无需写复杂脚本。

核心能力

  • 录制浏览器交互后自动生成带变量的可复用工作流
  • 步骤失败时回退到 Browser Use 智能体兜底执行
  • 用自然语言描述任务,跑一次 Browser Use 即生成语义工作流
  • 工作流存入本地数据库,可按生成模式检索复用
  • 提供 GUI 可视化工作流图并实时查看执行日志

容易踩的坑

项目处于极早期开发阶段,README 明确不建议用于生产环境;需在 .env 中填入 OPENAI_API_KEY,否则无法调用模型;使用云端浏览器还需单独设置 BROWSER_USE_API_KEY;GUI 默认前端端口为 5173。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.2.11
  1. v0.2.11最新正式版2025-11-19 · 2025-11-19 14:58 UTC

    What's Changed

    Full Changelog: https://github.com/browser-use/workflow-use/compare/v0.2.10...v0.2.11

  2. v0.2.102025-11-18 · 2025-11-18 18:10 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/browser-use/workflow-use/compare/v0.2.9...v0.2.10

  3. v0.2.92025-11-07 · 2025-11-07 01:04 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/browser-use/workflow-use/compare/v0.2.8...v0.2.9

    What's Changed

    Full Changelog: https://github.com/browser-use/workflow-use/compare/v0.2.8...v0.2.9

  4. v0.2.82025-11-04 · 2025-11-04 23:55 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/browser-use/workflow-use/compare/v0.2.7...v0.2.8

  5. v0.2.72025-11-02 · 2025-11-02 06:31 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/browser-use/workflow-use/compare/v0.2.5...v0.2.7

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    GitHub stars Discord Cloud Twitter Follow Twitter Follow

    ⚙️ Workflow Use is the easiest way to create and execute deterministic workflows with variables which fallback to Browser Use if a step fails. You just show the recorder the workflow, we automatically generate the workflow.

    ❗ This project is in very early development so we don't recommend using this in production. Lots of things will change and we don't have a release schedule yet. Originally, the project was born out of customer demand to make Browser Use more reliable and deterministic.

    🚀 NEW: Generation Mode

    Automatically generate workflows from natural language! Describe your task, we run browser-use once, then create a reusable semantic workflow stored in a database.

    Quick Commands

    # Generate workflow from task description
    python cli.py generate-workflow "Find GitHub stars for browser-use repo"
    
    # List all workflows
    python cli.py list-workflows
    
    # Filter by generation mode
    python cli.py list-workflows --generation-mode browser_use
    
    # Run stored workflow
    python cli.py run-stored-workflow <workflow-id> --prompt "Find stars for playwright repo"
    
    # View workflow details
    python cli.py workflow-info <workflow-id>
    
    # Delete workflow
    python cli.py delete-workflow <workflow-id>
    

    How It Works

    1. Describe: Give a task in natural language
    2. Execute: Browser-use completes the task once
    3. Generate: Execution history → semantic workflow with parameters
    4. Store: Save to database with metadata
    5. Reuse: Run the workflow with different inputs, no AI needed

    Advanced Options

    # Custom models for generation
    python cli.py generate-workflow "Your task" \
      --agent-model "gpt-4.1-mini" \
      --extraction-model "gpt-4.1-mini" \
      --workflow-model "gpt-4o"
    
    # Use Browser-Use Cloud browser
    python cli.py generate-workflow "Your task" --use-cloud
    
    # Save to custom location
    python cli.py generate-workflow "Your task" --output-file ./my-workflow.json
    
    # Skip database storage
    python cli.py generate-workflow "Your task" --no-save-to-storage
    

    Storage

    Workflows stored at workflows/storage/:

    • metadata.json - Searchable index of all workflows
    • workflows/<id>.workflow.json - Individual workflow files

    Programmatic Usage

    from workflow_use.healing.service import HealingService
    from workflow_use.storage.service import WorkflowStorageService
    from browser_use.llm import ChatOpenAI
    
    healing_service = HealingService(llm=ChatOpenAI(model='gpt-4.1'))
    storage_service = WorkflowStorageService()
    
    # Generate workflow
    workflow = await healing_service.generate_workflow_from_prompt(
        prompt="Fill contact form on example.com",
        agent_llm=ChatOpenAI(model='gpt-4.1-mini'),
        extraction_llm=ChatOpenAI(model='gpt-4.1-mini'),
        use_cloud=True  # Optional: use Browser-Use Cloud
    )
    
    # Save to storage
    metadata = storage_service.save_workflow(
        workflow=workflow,
        generation_mode='browser_use',
        original_task="Fill contact form on example.com"
    )
    
    # Retrieve and execute
    loaded_workflow = storage_service.get_workflow(metadata.id)
    

    Quick start

    git clone https://github.com/browser-use/workflow-use
    

    Build the extension

    cd extension && npm install && npm run build
    

    Setup workflow environment

    cd .. && cd workflows
    uv sync
    source .venv/bin/activate # for mac / linux
    playwright install chromium
    cp .env.example .env # add your OPENAI_API_KEY to the .env file
    

    Run workflow as tool

    python cli.py run-as-tool examples/example.workflow.json --prompt "fill the form with example data"
    

    Run workflow with predefined variables

    python cli.py run-workflow examples/example.workflow.json
    

    Record your own workflow

    python cli.py create-workflow
    

    See all commands

    python cli.py --help
    

    Usage from python

    Running the workflow files is as simple as:

    from workflow_use import Workflow
    
    workflow = Workflow.load_from_file("example.workflow.json")
    result = asyncio.run(workflow.run_as_tool("I want to search for 'workflow use'"))
    

    Cloud Browser Support

    Run workflows in Browser-Use Cloud (new signups get $10 free credits via OAuth or $1 via email) with semantic abstraction (no AI): (NOTE: Set BROWSER_USE_API_KEY environment variable)

    from workflow_use import Workflow
    
    workflow = Workflow.load_from_file("workflow.json", llm, use_cloud=True)
    result = await workflow.run_with_no_ai()  # No LLM calls, uses semantic mapping
    

    Examples:

    • examples/cloud_browser_demo.py - Load recorded workflow and run on cloud

    Launch the GUI

    The Workflow UI provides a visual interface for managing, viewing, and executing workflows.

    Option 1: Using the CLI command (Recommended)

    The easiest way to start the GUI is with the built-in CLI command:

    cd workflows
    python cli.py launch-gui
    

    This command will:

    • Start the backend server (FastAPI)
    • Start the frontend development server
    • Automatically open http://localhost:5173 in your browser
    • Capture logs to the ./tmp/logs directory

    Press Ctrl+C to stop both servers when you're done.

    Option 2: Start servers separately

    Alternatively, you can start the servers individually:

    Start the backend server
    cd workflows
    uvicorn backend.api:app --reload
    
    Start the frontend development server
    cd ui
    npm install
    npm run dev
    

    Once both servers are running, you can access the Workflow GUI at http://localhost:5173 in your browser. The UI allows you to:

    • Visualize workflows as interactive graphs
    • Execute workflows with custom input parameters
    • Monitor workflow execution logs in real-time
    • Edit workflow metadata and details

    Demos

    Workflow Use filling out form instantly

    https://github.com/user-attachments/assets/cf284e08-8c8c-484a-820a-02c507de11d4

    Gregor's explanation

    https://github.com/user-attachments/assets/379e57c7-f03e-4eb9-8184-521377d5c0f9

    Features

    • 🔁 Record Once, Reuse Forever: Record browser interactions once and replay them indefinitely.
    • ⏳ Show, don't prompt: No need to spend hours prompting Browser Use to do the same thing over and over again.
    • ⚙️ Structured & Executable Workflows: Converts recordings into deterministic, fast, and reliable workflows which automatically extract variables from forms.
    • 🪄 Human-like Interaction Understanding: Intelligently filters noise from recordings to create meaningful workflows.
    • 🔒 Enterprise-Ready Foundation: Built for future scalability with features like self-healing and workflow diffs.

    Vision and roadmap

    Show computer what it needs to do once, and it will do it over and over again without any human intervention.

    Workflows

    • Nice way to use the .json files inside python code
    • Improve LLM fallback when step fails (currently really bad)
    • Self healing, if it fails automatically agent kicks in and updates the workflow file
    • Better support for LLM steps
    • Take output from previous steps and use it as input for next steps
    • Expose workflows as MCP tools
    • Use Browser Use to automatically create workflows from websites

    Developer experience

    • Improve CLI
    • Improve extension
    • Step editor

    Agent

    • Allow Browser Use to use the workflows as MCP tools
    • Use workflows as website caching layer