mirror of
https://github.com/j93es/browser-use-oauth.git
synced 2026-06-05 01:01:28 +09:00
[Enhancement] README 및 코드에서 Playwright 의존성 및 SSO 로그인 흐름 개선
This commit is contained in:
parent
9b797a8d21
commit
f6368d12a3
5 changed files with 23 additions and 14 deletions
|
|
@ -31,11 +31,10 @@ uv sync
|
||||||
|
|
||||||
venv와 패키지가 설치가 됩니다.
|
venv와 패키지가 설치가 됩니다.
|
||||||
|
|
||||||
browser_use가 Playwright에 대한 의존성이 있어 브라우저 설치가 필요합니다
|
~~browser_use가 Playwright에 대한 의존성이 있어 브라우저 설치가 필요합니다~~
|
||||||
|
|
||||||
|
스텔스 기능 때문에 Chrome이 필요합니다.
|
||||||
|
|
||||||
```sh
|
|
||||||
uv run playwright install
|
|
||||||
```
|
|
||||||
|
|
||||||
다음과 같은 명령어로 실행합니다.
|
다음과 같은 명령어로 실행합니다.
|
||||||
|
|
||||||
|
|
@ -50,7 +49,7 @@ Environment는 .env.example에 따라 설정되어야합니다.
|
||||||
# 쿠키와 로컬 스토리지 설정 방법
|
# 쿠키와 로컬 스토리지 설정 방법
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
playwright open https://google.com/ --save-storage=./data/storage_state.json
|
uv run playwright open https://google.com/ --save-storage=./data/storage_state.json
|
||||||
```
|
```
|
||||||
|
|
||||||
# 실행
|
# 실행
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from lib.prompt import session
|
|
||||||
from lib.prompt import llm_login
|
|
||||||
|
|
||||||
load_dotenv(override=True)
|
load_dotenv(override=True)
|
||||||
|
|
||||||
def extend_planner_system_message():
|
def extend_planner_system_message():
|
||||||
if os.getenv("PROVIDOR_CREDENTIALS_IN_LLM", "False").lower() == "true":
|
if os.getenv("PROVIDOR_CREDENTIALS_IN_LLM", "False").lower() == "true":
|
||||||
|
from lib.prompt import llm_login
|
||||||
return llm_login.extend_planner_system_message
|
return llm_login.extend_planner_system_message
|
||||||
else:
|
else:
|
||||||
|
from lib.prompt import session
|
||||||
return session.extend_planner_system_message
|
return session.extend_planner_system_message
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
|
import os
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv(override=True)
|
||||||
|
|
||||||
# Extended planner prompt
|
# Extended planner prompt
|
||||||
extend_planner_system_message = """
|
extend_planner_system_message = f"""
|
||||||
🎯 목적: 웹 자동화를 위한 **SSO 로그인 리디렉션 URL 수집**
|
🎯 목적: 웹 자동화를 위한 **SSO 로그인 리디렉션 URL 수집**
|
||||||
|
|
||||||
📌 주의사항 (전제 조건)
|
📌 주의사항 (전제 조건)
|
||||||
|
|
@ -22,10 +27,10 @@ extend_planner_system_message = """
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
{
|
{{
|
||||||
"provider": "Blocked",
|
"provider": "Blocked",
|
||||||
"oauth_uri": "-"
|
"oauth_uri": "-"
|
||||||
}
|
}}
|
||||||
]
|
]
|
||||||
````
|
````
|
||||||
|
|
||||||
|
|
@ -67,6 +72,7 @@ extend_planner_system_message = """
|
||||||
→ 예: `https://accounts.google.com/o/oauth2/auth?...`
|
→ 예: `https://accounts.google.com/o/oauth2/auth?...`
|
||||||
3. ✅ 로그인 진행:
|
3. ✅ 로그인 진행:
|
||||||
- 세션 및 쿠키에 따라 이미 로그인된 상태로 간주하고 진행
|
- 세션 및 쿠키에 따라 이미 로그인된 상태로 간주하고 진행
|
||||||
|
- Google OAuth인 경우 URL에 `&login_hint={str(os.getenv('GOOGLE_ID'))}` 추가
|
||||||
- **로그인 완료 후 authorize 등 버튼이 있으면 클릭**
|
- **로그인 완료 후 authorize 등 버튼이 있으면 클릭**
|
||||||
- GitHub같은 경우 Authorize 버튼이 뜨는데 오래걸릴 수 있음, 기다려야 할 수도 있음
|
- GitHub같은 경우 Authorize 버튼이 뜨는데 오래걸릴 수 있음, 기다려야 할 수도 있음
|
||||||
- 만약 버튼을 눌러도 반응이 없을 경우 새로고침을 한번 해주세요.
|
- 만약 버튼을 눌러도 반응이 없을 경우 새로고침을 한번 해주세요.
|
||||||
|
|
@ -81,10 +87,10 @@ extend_planner_system_message = """
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
{
|
{{
|
||||||
"provider": "Google",
|
"provider": "Google",
|
||||||
"oauth_uri": "https://example.com/auth/google?client_id=..."
|
"oauth_uri": "https://example.com/auth/google?client_id=..."
|
||||||
}
|
}}
|
||||||
]
|
]
|
||||||
````
|
````
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,5 @@ readme = "README.md"
|
||||||
requires-python = ">=3.13"
|
requires-python = ">=3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"browser-use[memory]>=0.2.6",
|
"browser-use[memory]>=0.2.6",
|
||||||
|
"patchright>=1.52.5",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
6
uv.lock
generated
6
uv.lock
generated
|
|
@ -150,10 +150,14 @@ version = "0.1.0"
|
||||||
source = { virtual = "." }
|
source = { virtual = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "browser-use", extra = ["memory"] },
|
{ name = "browser-use", extra = ["memory"] },
|
||||||
|
{ name = "patchright" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.metadata]
|
[package.metadata]
|
||||||
requires-dist = [{ name = "browser-use", extras = ["memory"], specifier = ">=0.2.6" }]
|
requires-dist = [
|
||||||
|
{ name = "browser-use", extras = ["memory"], specifier = ">=0.2.6" },
|
||||||
|
{ name = "patchright", specifier = ">=1.52.5" },
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cachetools"
|
name = "cachetools"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue