Skip to content

Mbbrowser Skills 패키지

Rules 패키지를 구성한 후, 이 Skills 패키지는 당신의 "빠른 시작 메뉴" 역할을 합니다. 각 시나리오에는 미리 제작된 프롬프트 템플릿이 있습니다. 이를 Cursor나 Antigravity에 직접 복사하고 매개변수를 채우면 AI가 완성된 기능적 스크립트를 생성해 드립니다.


IMPORTANT

Mbbrowser 자동화: 생존을 위한 제1법칙

  1. 이중 패키지 시너지 (매우 중요!): Antigravity 또는 Cursor에서 반드시 Rules 패키지와 Skills 패키지를 모두 로드해야 합니다. Rules는 하위 레벨의 API 사전을 제공하고, Skills는 상위 레벨의 로직 정의를 제공합니다. 이 둘은 불가분의 관계입니다.
  2. 로컬 모드 권장: 대규모 실행 시 클라이언트를 **"로컬 모드(Local Mode)"**로 전환하면 수백 배의 효율 향상을 얻을 수 있습니다.
  3. 백업 알림: 정기적으로 MBDATA 비즈니스 데이터베이스 디렉토리를 백업하세요.

Mbbrowser Skills 패키지 핵심 내용

아래 내용은 Antigravity용으로 설계된 고급 Skill 패키지입니다. 전체 내용을 복사하여 프로젝트 루트의 .agent/skills/houniao-mbbrowser.md로 저장하세요.

markdown
---
name: houniao-mbbrowser-apiserver-full
description: >
  Mbbrowser (MBBrowser) + ApiServer에 대한 완전한 개발 사양, 인터페이스 세부 정보, CDP 연결 방법, 문제 해결 및 유효한 매개변수 값들을 포함합니다.
  사용자가 Mbbrowser, ApiServer, 핑거프린트 브라우저, 다중 계정 격리, 환경 시작/중지, CDP/Playwright/Selenium/Puppeteer 제어권 획득, Session_ID, 프록시 업데이트, 환경 생성, -1/-105와 같은 오류 코드 등을 언급할 때 즉시 이 스킬을 로드하세요.
  Session_ID 형식 차이를 엄격히 준수하고, 기존 컨텍스트를 사용하며, 코드/상태를 확인하고, 유효한 매개변수 값을 검증합니다.
  CDP 직접 연결보다 Playwright 사용을 우선시합니다.
---

# Mbbrowser (MBBrowser) + ApiServer 완전 사양

**핵심 알림**:
- ApiServer 시작은 로컬 모드가 필요하며 정기적인 MBDATA 백업을 권장합니다.
- 모든 인터페이스: **POST** + **application/json**.
- 베이스 주소: http://127.0.0.1:8186 (포트 변경 가능).
- 성공: code=0; 실패: code<0 + message.
- 시작 후 `data.listid[0].status == 0` 여부를 확인하세요.
- `Public_ip`를 사용하여 프록시 적용 효과를 검증하세요.
- 동시성 제어: 일괄 실행 시 세션 20개 이하 권장.

## 인터페이스 빠른 조회

### 환경 수명 주기 (가장 중요)
- **시작 (Start)**: POST /api/v1/browser/start  
  Session_ID: **배열(Array)** ["id1", "id2"]  
  권장 args: ["--blink-settings=imagesEnabled=false", "--interval-seconds=2", "--disable-extensions"]  
  isHeadless: false (디버그) / true (실전)

- **중지 (Stop)**: POST /api/v1/browser/stop  
  Session_ID: **문자열(String)** "id"

- **강제 종료 (Kill)**: POST /api/v1/browser/kill (남은 프로세스 정리에 권장; Session_ID: 문자열)

- **상태 (Status)**: POST /api/v1/browser/status

### 조회 인터페이스
- 목록 (필터 + 페이지네이션): /api/v1/session/listid  
- 상세 (CDP_Port, webdriver 포함): /api/v1/session/id_container (type=1이 가장 완벽; Session_ID: 배열)

### 생성/업데이트
- 생성: /api/v1/session/create (빠른 생성을 위해 Automatic_Configure=0 사용).  
- 기본/프록시/고급 설정 업데이트: 각각 /update, /proxy/update, /adv_setting에 대응.

### CDP 연결 (반드시 준수!)
**Playwright Python**:
```python
port = env["browser_CDP_Port"]
ws = f"ws://127.0.0.1:{port}/json/version"
pw = sync_playwright().start()
browser = pw.chromium.connect_over_cdp(ws)
context = browser.contexts[0]  # 반드시 기존 컨텍스트를 사용해야 함!!
page = context.pages[0] if context.pages else context.new_page()
```
---

## 2. 전체 오류/매개변수 참조

### 오류 코드 인덱스
- **CODE 0**: 성공
- **CODE -106**: 시간대 오류
- **CODE -105**: 프록시 검증 실패
- **Status -7**: 환경 이미 실행 중
- **Status -22**: Session_ID를 찾을 수 없음

### 매개변수 사전
- **SystemOS**: Windows, iPhone, Android, MacIntel 등.
- **Resolution**: 1920x1080 및 기타 표준 해상도.
- **TimeZone**: IANA 표준, 예: "Asia/Seoul +09:000".

사용 팁

더 나은 AI 생성 코드를 위한 비결

  1. 최대한 구체적으로 설명하세요: 단순히 "로그인 스크립트 써줘"라고 하지 마세요. "로그인 URL은 xxx이고, 사용자 이름 선택자는 #username, 비밀번호 필드는 #password야. 입력 후 .submit-btn을 클릭하고 URL이 /dashboard로 바뀔 때까지 기다려줘"라고 말하세요.

  2. 오류 처리를 지정하세요: 예를 들어, "로그인 실패 시 스크린샷을 찍고 파일에 기록해 줘"라고 요구할 수 있습니다.

  3. 출력 형식을 정의하세요: 예: "결과를 result.csv에 저장하고 session_id, 상태, 소요 시간을 포함해 줘."

  4. 동시성 요구사항을 설명하세요: 예: "ThreadPoolExecutor를 사용하여 10개의 동시 환경을 실행해 줘."

  5. 파일명과 내용을 참조하세요: 예: "sessions.txt에서 한 줄에 하나씩 session_id를 읽어와 줘."

AI 생성 코드 수정하기

AI가 생성한 코드에 문제가 있다면 해당 코드를 선택하고 다음과 같이 입력하세요:

이 코드에 문제가 있어: [문제 설명], 수정해 줘.

또는:

위 코드에 기반해서 다음 기능을 추가해 줘: [새로운 요구사항 설명].

TIP

설정이 완료되었나요? 다음 단원인 라이브 데모: 대화 → 스크립트로 이동하여 한 문장이 어떻게 이 강력한 스킬들을 깨우는지 확인해 보세요.