From ce70191d49313b08f647db80dacd75eb1334559d Mon Sep 17 00:00:00 2001 From: tk Date: Fri, 27 Jun 2025 22:01:59 +0900 Subject: [PATCH] =?UTF-8?q?microsoft=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 33 ----------------------- .sensitive.example.json | 22 --------------- lib/llm/prompt/Microsoft.py | 53 +++++++++++++++++++++++++++++++++++++ lib/llm/prompt/__init__.py | 4 +++ 4 files changed, 57 insertions(+), 55 deletions(-) delete mode 100644 .env.example delete mode 100644 .sensitive.example.json create mode 100644 lib/llm/prompt/Microsoft.py diff --git a/.env.example b/.env.example deleted file mode 100644 index 7a97499..0000000 --- a/.env.example +++ /dev/null @@ -1,33 +0,0 @@ -ANONYMIZED_TELEMETRY=false - -# ========== LLM ========== - -GOOGLE_API_KEY= -# 권장 (다른 모델로 교체 가능) [다른 모델로 교체시 성능 보장 불가] -GOOGLE_MODEL=gemini-2.5-flash -#GOOGLE_PLANNER_MODEL=gemini-2.5-flash # 왜 비활성화 되었나요? // Planner 모델이 오히려 문제를 일으키는 경우가 있어 비활성화했습니다. 필요시 활성화하세요. - -# min(INITIAL_BACKOFF * (2 ** try_cnt), MAX_BACKOFF)만큼 API가 실패시 대기합니다. -INITIAL_BACKOFF=60 -MAX_BACKOFF=600 - -# ========== Monitoring ========== - -# 선택 -PROXY_HOST=127.0.0.1 -PROXY_PORT=11080 -BACKEND_URL=http://localhost:11081 - -# https://docs.browser-use.com/development/observability -# Lmnr 계정이 필요합니다. -# https://lmnr.ai/ -LMNR_PROJECT_API_KEY= - -# 브라우저 언어 설정 -LANG=en_US - -# ========= Account ========== - -# 필수 뒤에 있는 이메일 주소는 Google 계정의 로그인 힌트로 사용됩니다. -# 이메일의 전체를 입력해주세요 -GOOGLE_ID=whs.imnya.ng@gmail.com diff --git a/.sensitive.example.json b/.sensitive.example.json deleted file mode 100644 index cfcb7a8..0000000 --- a/.sensitive.example.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "google.com": { - "x_username": "whs.imnya.ng@gmail.com", - "x_password": "Vb1Mz9pgjY8JVs" - }, - "accounts.google.com": { - "x_username": "whs.imnya.ng@gmail.com", - "x_password": "Vb1Mz9pgjY8JVs" - }, - "naver.com": { - "x_username": "oauth-j93es", - "x_password": "whs31234" - }, - "nid.naver.com": { - "x_username": "oauth-j93es", - "x_password": "whs31234" - }, - "github.com": { - "x_username": "imnyang-bot", - "x_password": "6PuVXCH9tpQLNm" - } -} \ No newline at end of file diff --git a/lib/llm/prompt/Microsoft.py b/lib/llm/prompt/Microsoft.py new file mode 100644 index 0000000..09ec78e --- /dev/null +++ b/lib/llm/prompt/Microsoft.py @@ -0,0 +1,53 @@ +# Extended planner prompt +extend_planner_system_message = f""" + +# 목적 : Microsoft OAuth 로그인 + +## ✅ Step 1 : Step 3에서 + +만약에 Microsoft에 로그인 되어 있는 계정(oauth test)가 없을 경우 +- Microosoft.sensitive.json에서 sign in with your username(email) x_username and password is x_password + - 반드시 이 과정에서 username을 먼저 입력하고 다음 과정에서 암호 사용을 누른 후 password를 입력해야 한다. + + +쿠키 삭제 방법: +chrome://settings/clearBrowserData에 들어가서 삭제해주세요. + +🛑 절대 아래와 같이 해석하지 말 것: +- ❌ 버튼 클릭 후 페이지 로딩만 기다리고 돌아가기 +- ❌ URL 저장 없이 go_back() 호출 + +--- + + + + +### ✨ 추가 안전 장치: "뒤로가기(go_back) 호출 조건" 제한 + +```text +🛑 뒤로가기(go_back)은 다음 조건이 모두 충족될 때만 사용 => 다만 로그인 실패 시, 뒤로가기 수행: +- ✅ 로그인 흐름이 완료됨 (예: redirect back to app, or callback URL) +- ✅ 현재 리디렉션 URL이 수집됨 +- ✅ 결과에 저장 후 다음 버튼 탐색을 위해 복귀 필요할 때 +``` + +--- + +## 🚫 Step 2: 버튼 없음 또는 예외 발생 시 + +* 유효한 SSO 버튼이 **전혀 없을 경우** +* 예외, 오류 등 발생 시 + +-> 즉시 중단 + +--- + +## 📎 중요 규칙 요약 + +* 🔁 단계는 반드시 순서대로 진행 +* 🔐 로그인은 쿠키/세션으로 유지된 상태에서 수행 +* 👀 직접 OAuth Providor ID/PW를 입력하여도 됨 가지고 있다면 +* ⛔ 추측한 URL은 접속하지 않음 + +--- +""" diff --git a/lib/llm/prompt/__init__.py b/lib/llm/prompt/__init__.py index 5fa38d2..a0d6d3e 100644 --- a/lib/llm/prompt/__init__.py +++ b/lib/llm/prompt/__init__.py @@ -12,6 +12,10 @@ 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() == "microsoft" and type.lower() == "microsoftonline": + from lib.llm.prompt.Microsoft import extend_planner_system_message + return extend_planner_system_message else: from lib.llm.prompt.fallback import extend_planner_system_message