Create, edit, run deterministic workflows
Project description
Workflow-Use
Semantic browser automation with deterministic workflow generation and variables.
Quick Start
1. Test Deterministic Workflow Generation (NEW!)
python examples/scripts/deterministic/run_complete_test.py
Generate workflows without LLM for step creation - 10-100x faster, guaranteed semantic steps.
2. Create Your Own Workflow
from workflow_use.healing.service import HealingService
from browser_use.llm import ChatBrowserUse
llm = ChatBrowserUse(model_name="bu-latest")
service = HealingService(llm=llm, use_deterministic_conversion=True)
workflow = await service.generate_workflow_from_prompt(
prompt="Go to GitHub, search for browser-use, get star count",
agent_llm=llm,
extraction_llm=llm
)
3. Run a Workflow
cd /path/to/workflow-use/workflows
python cli.py run-workflow-no-ai my_workflow.json
# If the workflow has variables, the CLI will prompt you interactively:
# Enter value for repo_name (required, type: string): browser-use
Key Features
๐ Deterministic Workflow Generation
- Direct Action Mapping:
input_textโinputstep (no LLM) - Guaranteed Semantic Steps: 0 agent steps (instant execution, $0/run)
- 10-100x Faster: 5-10s vs 20-40s for LLM-based
- 90% Cheaper: Minimal LLM usage
๐ฏ Semantic-Only Multi-Strategy Element Finding
- No CSS/XPath: 100% semantic strategies (text, role, ARIA, placeholder, etc.)
- 7 Fallback Strategies: text_exact โ role_text โ aria_label โ placeholder โ title โ alt_text โ text_fuzzy
- Works WITH Browser-Use: Finds element index in DOM state, then uses browser-use's controller
- Fast & Robust: Direct index lookup when strategies match, falls back to AI when needed
- Human-Readable: Workflow YAML contains semantic strategies, not brittle selectors
๐ Variables in Workflows
- Reusable Workflows: Parameterize dynamic values
- Semantic Targeting: Use
{variable}intarget_text - Auto-Extraction: LLM suggests variables automatically
Documentation
- docs/DETERMINISTIC.md - Deterministic workflow generation
- docs/VARIABLES.md - Variables guide
- examples/README.md - Example scripts
Project Structure
workflows/
โโโ workflow_use/ # Main package
โ โโโ healing/ # Workflow generation & healing
โ โ โโโ deterministic_converter.py # NEW: Deterministic conversion
โ โ โโโ variable_extractor.py # Auto variable detection
โ โ โโโ service.py # Main workflow generation
โ โโโ workflow/ # Workflow execution
โ โ โโโ semantic_executor.py # Semantic step execution
โ โโโ controller/ # Workflow controller
โ โโโ recorder/ # Workflow recording
โ โโโ storage/ # Storage logic
โ โโโ mcp/ # MCP integration
โ โโโ schema/ # Schema definitions
โ โโโ builder/ # Workflow builder
โ
โโโ backend/ # FastAPI backend service
โ โโโ api.py # API entry point
โ โโโ routers.py # API routes
โ โโโ service.py # Business logic
โ
โโโ examples/ # Examples organized by feature
โ โโโ scripts/
โ โ โโโ deterministic/ # Deterministic workflow examples
โ โ โ โโโ run_complete_test.py # โญ Test deterministic generation
โ โ โ โโโ create_deterministic_workflow.py
โ โ โโโ variables/ # Variable feature examples
โ โ โโโ demos/ # Advanced demos
โ โ โโโ runner.py # Generic workflow runner
โ โโโ workflows/ # Example workflow JSON files
โ โโโ basic/ # Basic workflow examples
โ โโโ form_filling/ # Form filling examples
โ โโโ parameterized/ # Parameterized workflows
โ โโโ advanced/ # Advanced workflows
โ
โโโ tests/ # Test files
โ โโโ test_button_click.py
โ โโโ test_recorded_workflow.py
โ
โโโ docs/ # Documentation
โ โโโ DETERMINISTIC.md # Deterministic workflows
โ โโโ VARIABLES.md # Variables guide
โ
โโโ data/ # Runtime & test data
โ โโโ test_data/ # Test data (tracked in git)
โ โโโ form-filling/
โ โโโ flight-test/
โ
โโโ cli.py # CLI entry point
โโโ pyproject.toml # Project configuration
โโโ README.md # This file
Comparison: Deterministic vs LLM-Based
| Feature | Deterministic | LLM-Based |
|---|---|---|
| Generation Speed | โก 5-10s | ๐ 20-40s |
| Generation Cost | ๐ฐ $0.01-0.05 | ๐ธ $0.10-0.30 |
| Agent Steps | โ 0 guaranteed | โ Variable |
| Deterministic | โ Yes | โ No |
| Execution Speed | โก Instant | ๐ 5-45s |
| Execution Cost | ๐ฐ $0/run | ๐ธ $0.03-0.30/run |
Recommendation: Use deterministic for most workflows (search, click, input, navigate).
Testing
# Test deterministic generation
python examples/scripts/deterministic/run_complete_test.py
# Test variables
python examples/scripts/variables/create_workflow_with_variables.py
# Compare approaches
python examples/scripts/deterministic/test_deterministic_workflow.py
Next Steps
- โ
Run
examples/run_complete_test.py - โ Review the generated workflow JSON
- โ Try creating your own workflow
- โ Add variables to make it reusable
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file workflow_use-0.2.8.tar.gz.
File metadata
- Download URL: workflow_use-0.2.8.tar.gz
- Upload date:
- Size: 145.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aad822cc7b2a02c3f74f035ef0128b399273b6d1055d306437cd461e8df113a9
|
|
| MD5 |
eae44262e190eb28fb274fc6cd0efae8
|
|
| BLAKE2b-256 |
bdbc49191a456d93bf514753568b4c0a0e975a138ed2090c61e7ba4dfee09f0f
|
File details
Details for the file workflow_use-0.2.8-py3-none-any.whl.
File metadata
- Download URL: workflow_use-0.2.8-py3-none-any.whl
- Upload date:
- Size: 170.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
610049f090c950c6a80f3a8f4345209fe0d447c5489a02b83af610175f55c005
|
|
| MD5 |
fd0f763068e72701a10b3486c2d0f268
|
|
| BLAKE2b-256 |
3405e0bb8e4143312106b8086b38efdd3a61b8ed25bf29439579b9f45d504732
|