diff --git a/README.md b/README.md
index 7f325c4..d8060bb 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
> 그렇지 않으면 실행되지 않습니다.
>
> 윈도우 환경에서는 `sudo certutil -addstore root mitmproxy-ca-cert.cer`로 인증합니다.
->
+>
> Sudo가 활성화되어있지 않은 환경에서는 관리자로 상향된 쉘에서 실행합니다.
>
> MacOS 환경에서는 `sudo security add-trusted-cert -d -p ssl -p basic -k /Library/Keychains/System.keychain ~/.mitmproxy/mitmproxy-ca-cert.pem`으로 인증합니다.
@@ -48,7 +48,7 @@ venv와 패키지가 설치가 됩니다.
스텔스 기능 때문에 Google Chrome이 필요합니다.
-만약 설치가 되어 있지 않다면
+만약 설치가 되어 있지 않다면
```
playwright install chrome
```
@@ -76,7 +76,7 @@ uv run playwright open https://google.com/ --save-storage=./data/storage_state.j
`.sensitive.example.json`을 `.sensitive.json`으로 복사해서
안에 있는 예시 내용을 참고해서 작성해주시면 됩니다.
-더 자세한 내용은
+더 자세한 내용은
[Sensitive Data - Browser Use](https://docs.browser-use.com/customize/sensitive-data)를 참고하시면 좋을 것 같습니다.
[Sensitive Data - Browser Use](https://docs.browser-use.com/customize/sensitive-data)에서도 권장하지 않는 방법인만큼 애매하긴 하지만 쿠키와 로컬 스토리지를 저장하기 어려운 경우나 일부 flow에서 접근이 어려운 경우 사용해주세요.
@@ -114,6 +114,9 @@ fallback.py를 복사하여
## 2. __init__.py 수정
+
+
+Prompt에서 추가한 파일을 __init__.py에서 import합니다.
## 3. 파일 수정
diff --git a/docs/guide.png b/docs/guide.png
new file mode 100644
index 0000000..0ddc9e7
Binary files /dev/null and b/docs/guide.png differ
diff --git a/lib/llm/prompt/Google.py b/lib/llm/prompt/Google.py
deleted file mode 100644
index d6954b3..0000000
--- a/lib/llm/prompt/Google.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# Extended planner prompt
-extend_planner_system_message = f"""
-🎯 목적: 웹 자동화를 위한 **SSO 로그인 리디렉션 URL 수집**
-
-📌 주의사항 (전제 조건)
-- ❌ **검색 엔진(Google, Bing 등) 사용 금지**
-- ✅ **초기 제공된 URL 내에서만 탐색**
-- ❌ 직접 이동하거나 추측한 링크 클릭 금지
-- ⛔ 추측한 URL은 대답하거나 클릭하지 마세요
-- OAuth가 아닌 일반 로그인은 무시
-- OAuth가 없다면 **즉시 중단**하고 빈 배열 반환
-
----
-
-## 🧩 Step 0: 페이지 차단(Block) 여부 확인
-
-초기 URL의 로그인 페이지에 접근하여 다음 사항을 점검합니다:
-
-- 🚫 페이지 차단됨 (Firewall, Access Denied 등) → 즉시 중단
-- 🔒 CAPTCHA는 통과 가능 (해결하고 계속 진행)
-- ❗ 로그인 UI가 정상적으로 로드되지 않으면 중단
-
-📤 차단 시 즉시 종료
-
----
-
-## 🔍 Step 1: 로그인 페이지 탐색
-
-* 초기 URL에 접속하여 **클라이언트용 로그인 페이지**로 진입합니다.
-* 쿠키 동의, 개인정보 안내 등 팝업은 무시하거나 닫고 계속 진행하세요.
-* 페이지가 정상 로드되었다고 가정합니다.
-
----
-
-## 👀 Step 2: SSO 로그인 버튼 식별
-
-아래 **OAuth SSO 버튼들만** 유효합니다:
-
-* ✅ Google, GitHub, Facebook, LinkedIn, Microsoft, Naver
-
-**유효한 버튼 기준**:
-
-* OAuth 인증 흐름을 실제로 트리거
-* `window.location` 또는 `` 또는 JS로 redirect가 발생
-
-**제외 버튼들 (클릭 금지)**:
-
-* ❌ 일반 로그인, 패스키, 이메일/전화번호, 인증서 기반, 비밀번호 입력
-
----
-
-## ✅ Step 3: 모든 SSO 버튼 클릭 및 로그인 시도
-
-> 각 SSO 로그인 버튼을 클릭한 뒤 반드시 아래 절차를 **완전히 수행**해야 합니다.
-
-각 SSO 버튼에 대해 다음을 수행:
-
-1. 버튼 클릭
-2. ✅ 로그인 진행:
- - 로그인 페이지에서 OAuth 인증을 완료합니다.
- - sign in with your username(email) x_username and password is x_password
- - 버튼같은게 안눌리면 새로고침을 해봐
- - **로그인 완료 후 authorize 등 버튼이 있으면 클릭**
- - GitHub같은 경우 Authorize 버튼이 뜨는데 오래걸릴 수 있음, 기다려야 할 수도 있음
- - 만약 버튼을 눌러도 반응이 없을 경우 새로고침을 한번 해주세요.
- - **OAuth Flow가 완료되면 (callback URL 도달 또는 인증 완료) 즉시 작업 종료**
-4. 로그인이 성공하면 모두 쿠키를 삭제하고 다음 SSO 버튼을 클릭합니다.
-5. 다음 SSO 버튼으로 반복 진행
-
-쿠키 삭제 방법:
-chrome://settings/clearBrowserData에 들어가서 삭제해주세요.
-
-🛑 절대 아래와 같이 해석하지 말 것:
-- ❌ 버튼 클릭 후 페이지 로딩만 기다리고 돌아가기
-- ❌ URL 저장 없이 go_back() 호출
-
----
-
-### ✨ 추가 안전 장치: "뒤로가기(go_back) 호출 조건" 제한
-
-```text
-🛑 뒤로가기(go_back)은 다음 조건이 모두 충족될 때만 사용 => 다만 로그인 실패 시, 뒤로가기 수행:
-- ✅ 로그인 흐름이 완료됨 (예: redirect back to app, or callback URL)
-- ✅ 현재 리디렉션 URL이 수집됨
-- ✅ 결과에 저장 후 다음 버튼 탐색을 위해 복귀 필요할 때
-```
-
----
-
-## 🚫 Step 4: 버튼 없음 또는 예외 발생 시
-
-* 유효한 SSO 버튼이 **전혀 없을 경우**
-* 예외, 오류 등 발생 시
-
--> 즉시 중단
-
----
-
-## 📎 중요 규칙 요약
-
-* ✅ **모든 SSO 로그인은 반드시 실행** (가능한 버튼은 모두 클릭)
-* 🔁 단계는 반드시 순서대로 진행
-* 🔐 로그인은 쿠키/세션으로 유지된 상태에서 수행
-* 👀 직접 OAuth Providor ID/PW를 입력하여도 됨 가지고 있다면
-* ⛔ 추측한 URL은 접속하지 않음
-
----
-"""
diff --git a/lib/llm/prompt/Meta.py b/lib/llm/prompt/Meta.py
deleted file mode 100644
index d6954b3..0000000
--- a/lib/llm/prompt/Meta.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# Extended planner prompt
-extend_planner_system_message = f"""
-🎯 목적: 웹 자동화를 위한 **SSO 로그인 리디렉션 URL 수집**
-
-📌 주의사항 (전제 조건)
-- ❌ **검색 엔진(Google, Bing 등) 사용 금지**
-- ✅ **초기 제공된 URL 내에서만 탐색**
-- ❌ 직접 이동하거나 추측한 링크 클릭 금지
-- ⛔ 추측한 URL은 대답하거나 클릭하지 마세요
-- OAuth가 아닌 일반 로그인은 무시
-- OAuth가 없다면 **즉시 중단**하고 빈 배열 반환
-
----
-
-## 🧩 Step 0: 페이지 차단(Block) 여부 확인
-
-초기 URL의 로그인 페이지에 접근하여 다음 사항을 점검합니다:
-
-- 🚫 페이지 차단됨 (Firewall, Access Denied 등) → 즉시 중단
-- 🔒 CAPTCHA는 통과 가능 (해결하고 계속 진행)
-- ❗ 로그인 UI가 정상적으로 로드되지 않으면 중단
-
-📤 차단 시 즉시 종료
-
----
-
-## 🔍 Step 1: 로그인 페이지 탐색
-
-* 초기 URL에 접속하여 **클라이언트용 로그인 페이지**로 진입합니다.
-* 쿠키 동의, 개인정보 안내 등 팝업은 무시하거나 닫고 계속 진행하세요.
-* 페이지가 정상 로드되었다고 가정합니다.
-
----
-
-## 👀 Step 2: SSO 로그인 버튼 식별
-
-아래 **OAuth SSO 버튼들만** 유효합니다:
-
-* ✅ Google, GitHub, Facebook, LinkedIn, Microsoft, Naver
-
-**유효한 버튼 기준**:
-
-* OAuth 인증 흐름을 실제로 트리거
-* `window.location` 또는 `` 또는 JS로 redirect가 발생
-
-**제외 버튼들 (클릭 금지)**:
-
-* ❌ 일반 로그인, 패스키, 이메일/전화번호, 인증서 기반, 비밀번호 입력
-
----
-
-## ✅ Step 3: 모든 SSO 버튼 클릭 및 로그인 시도
-
-> 각 SSO 로그인 버튼을 클릭한 뒤 반드시 아래 절차를 **완전히 수행**해야 합니다.
-
-각 SSO 버튼에 대해 다음을 수행:
-
-1. 버튼 클릭
-2. ✅ 로그인 진행:
- - 로그인 페이지에서 OAuth 인증을 완료합니다.
- - sign in with your username(email) x_username and password is x_password
- - 버튼같은게 안눌리면 새로고침을 해봐
- - **로그인 완료 후 authorize 등 버튼이 있으면 클릭**
- - GitHub같은 경우 Authorize 버튼이 뜨는데 오래걸릴 수 있음, 기다려야 할 수도 있음
- - 만약 버튼을 눌러도 반응이 없을 경우 새로고침을 한번 해주세요.
- - **OAuth Flow가 완료되면 (callback URL 도달 또는 인증 완료) 즉시 작업 종료**
-4. 로그인이 성공하면 모두 쿠키를 삭제하고 다음 SSO 버튼을 클릭합니다.
-5. 다음 SSO 버튼으로 반복 진행
-
-쿠키 삭제 방법:
-chrome://settings/clearBrowserData에 들어가서 삭제해주세요.
-
-🛑 절대 아래와 같이 해석하지 말 것:
-- ❌ 버튼 클릭 후 페이지 로딩만 기다리고 돌아가기
-- ❌ URL 저장 없이 go_back() 호출
-
----
-
-### ✨ 추가 안전 장치: "뒤로가기(go_back) 호출 조건" 제한
-
-```text
-🛑 뒤로가기(go_back)은 다음 조건이 모두 충족될 때만 사용 => 다만 로그인 실패 시, 뒤로가기 수행:
-- ✅ 로그인 흐름이 완료됨 (예: redirect back to app, or callback URL)
-- ✅ 현재 리디렉션 URL이 수집됨
-- ✅ 결과에 저장 후 다음 버튼 탐색을 위해 복귀 필요할 때
-```
-
----
-
-## 🚫 Step 4: 버튼 없음 또는 예외 발생 시
-
-* 유효한 SSO 버튼이 **전혀 없을 경우**
-* 예외, 오류 등 발생 시
-
--> 즉시 중단
-
----
-
-## 📎 중요 규칙 요약
-
-* ✅ **모든 SSO 로그인은 반드시 실행** (가능한 버튼은 모두 클릭)
-* 🔁 단계는 반드시 순서대로 진행
-* 🔐 로그인은 쿠키/세션으로 유지된 상태에서 수행
-* 👀 직접 OAuth Providor ID/PW를 입력하여도 됨 가지고 있다면
-* ⛔ 추측한 URL은 접속하지 않음
-
----
-"""
diff --git a/lib/llm/prompt/__init__.py b/lib/llm/prompt/__init__.py
index 4aa1c47..9d5b8e8 100644
--- a/lib/llm/prompt/__init__.py
+++ b/lib/llm/prompt/__init__.py
@@ -12,16 +12,14 @@ def get_prompt(type:str) -> str:
if type.lower() == "auth":
from lib.llm.prompt.auth_list import extract_oauth_list_prompt
return extract_oauth_list_prompt
-
+
elif type.lower() == "google":
from lib.llm.prompt.Google import extend_planner_system_message
return extend_planner_system_message
elif type.lower() == "meta" and type.lower() == "facebook":
from lib.llm.prompt.Meta import extend_planner_system_message
return extend_planner_system_message
-
+
else:
from lib.llm.prompt.fallback import extend_planner_system_message
return extend_planner_system_message
-
-
\ No newline at end of file