<picture>
<img alt="Workflow Use logo - a product by Browser Use." src="https://raw.githubusercontent.com/browser-use/workflow-use/HEAD/static/workflow-use.png" width="full">
</picture>
<br />
<h1 align="center">결정론적이고 자가 치유가 가능한 워크플로우 (RPA 2.0)</h1>
⚙️ Workflow Use는 변수를 사용하여 결정론적 (Deterministic) 워크플로우를 생성하고 실행하는 가장 쉬운 방법이며, 단계가 실패할 경우 Browser Use로 폴백 (Fallback)합니다. 사용자는 레코더에게 워크플로우를 보여주기만 하면, 저희가 자동으로 워크플로우를 생성합니다.
❗ 이 프로젝트는 매우 초기 개발 단계에 있으므로 운영 환경 (Production)에서 사용하는 것을 권장하지 않습니다. 많은 것들이 변경될 예정이며 아직 출시 일정은 정해지지 않았습니다. 원래 이 프로젝트는 Browser Use를 더 신뢰할 수 있고 결정론적으로 만들고자 하는 고객의 요구로부터 탄생했습니다.
🚀 새로운 기능: 생성 모드 (Generation Mode)
자연어 (Natural language)로부터 워크플로우를 자동으로 생성하세요! 작업을 설명하면, 저희가 Browser-use를 한 번 실행한 다음, 데이터베이스에 저장되는 재사용 가능한 의미론적 (Semantic) 워크플로우를 생성합니다.
빠른 명령 (Quick Commands)
python cli.py generate-workflow "Find GitHub stars for browser-use repo"
...
작동 방식
- 설명 (Describe): 자연어로 작업을 전달합니다.
- 실행 (Execute): Browser-use가 작업을 한 번 완료합니다.
- 생성 (Generate): 실행 기록 → 매개변수 (Parameters)가 포함된 의미론적 (Semantic) 워크플로우로 변환합니다.
- 저장 (Store): 메타데이터 (Metadata)와 함께 데이터베이스에 저장합니다.
- 재사용 (Reuse): AI 없이도 다른 입력값으로 워크플로우를 실행합니다.
고급 옵션 (Advanced Options)
python cli.py generate-workflow "Your task" \
--agent-model "gpt-4.1-mini" \
...
저장소 (Storage)
워크플로우는 workflows/storage/에 저장됩니다:
metadata.json - 모든 워크플로우의 검색 가능한 인덱스
workflows/<id>.workflow.json - 개별 워크플로우 파일
프로그래밍 방식 사용 (Programmatic Usage)
프로그래밍 방식 사용 (Programmatic Usage)
from workflow_use.healing.service import HealingService
from workflow_use.storage.service import WorkflowStorageService
from browser_use.llm import ChatOpenAI
...
빠른 시작 (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
...
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에서 사용하기 (Usage from python)
워크플로우 파일을 실행하는 것은 다음과 같이 간단합니다:
from workflow_use import Workflow
workflow = Workflow.load_from_file("example.workflow.json")
...
클라우드 브라우저 지원 (Cloud Browser Support)
의미론적 추상화(semantic abstraction, AI 사용 안 함)를 통해 Browser-Use Cloud에서 워크플로우를 실행할 수 있습니다. (신규 가입자는 OAuth를 통한 $10 크레딧 또는 이메일을 통한 $1을 받습니다):
(참고: BROWSER_USE_API_KEY 환경 변수 설정)
from workflow_use import Workflow
workflow = Workflow.load_from_file("workflow.json", llm, use_cloud=True)
...
예시:
examples/cloud_browser_demo.py - 기록된 워크플로우를 로드하여 클라우드에서 실행하기
GUI 시작하기 (Launch the GUI)
워크플로우 UI는 워크플로우를 관리, 조회 및 실행할 수 있는 시각적 인터페이스를 제공합니다.
옵션 1: CLI 명령어 사용 (권장)
GUI를 시작하는 가장 쉬운 방법은 내장된 CLI 명령어를 사용하는 것입니다:
cd workflows
python cli.py launch-gui
이 명령어는 다음 작업을 수행합니다:
작업이 완료되면 Ctrl+C를 눌러 두 서버를 모두 중단하세요.
옵션 2: 서버를 개별적으로 시작하기
또는, 서버를 각각 개별적으로 시작할 수도 있습니다:
백엔드 (backend) 서버 시작
cd workflows
uvicorn backend.api:app --reload
프론트엔드 (frontend) 개발 서버 시작
cd ui
npm install
npm run dev
두 서버가 모두 실행되면, 브라우저에서 http://localhost:5173을 통해 Workflow GUI에 접속할 수 있습니다. UI를 통해 다음 작업이 가능합니다:
- 워크플로 (workflows)를 대화형 그래프로 시각화
- 사용자 정의 입력 파라미터 (input parameters)로 워크플로 실행
- 워크플로 실행 로그를 실시간으로 모니터링
- 워크플로 메타데이터 및 세부 정보 편집
데모 (Demos)
Workflow Use를 이용한 즉각적인 양식 작성
Gregor의 설명
특징 (Features)
- 🔁 한 번 기록하고 영원히 재사용: 브라우저 상호작용을 한 번 기록하면 무한히 재생할 수 있습니다.
- ⏳ 프롬프트 대신 보여주기 (Show, don't prompt): Browser Use가 똑같은 일을 반복하도록 매번 몇 시간씩 프롬프팅 (prompting)할 필요가 없습니다.
- ⚙️ 구조화되고 실행 가능한 워크플로 (Structured & Executable Workflows): 기록된 내용을 결정론적 (deterministic)이고 빠르며 신뢰할 수 있는 워크플로로 변환하며, 양식에서 변수를 자동으로 추출합니다.
- 🪄 인간과 유사한 상호작용 이해: 기록에서 노이즈를 지능적으로 필터링하여 의미 있는 워크플로를 생성합니다.
- 🔒 엔터프라이즈급 기반 (Enterprise-Ready Foundation): 자가 치유 (self-healing) 및 워크플로 차이점 비교 (workflow diffs)와 같은 기능을 통해 미래의 확장성을 고려하여 구축되었습니다.
비전 및 로드맵 (Vision and roadmap)
컴퓨터에게 해야 할 일을 한 번만 보여주면, 인간의 개입 없이도 반복해서 수행하게 될 것입니다.
워크플로 (Workflows)
개발자 경험 (Developer experience)
에이전트 (Agent)