마비노기 모바일 매크로사용 설명서 대시보드플로우 에디터

사용 설명서

마비노기 모바일을 자동으로 조작하는 '플로우'를 웹에서 만들고, 내 PC/맥에서 실행하는 도구입니다. 이 문서만 따라 하면 처음 쓰는 사람도 첫 플로우를 만들어 돌릴 수 있습니다.

요약: ① 계정 만들기 → ② 게임 PC에 에이전트 설치·로그인 → ③ 에디터에서 "화면에서 이걸 찾으면 → 여기를 누른다"를 노드로 이어 붙이기 → ④ 대시보드에서 실행.

1. 전체 구조 한눈에

[웹 브라우저] [허브 서버] [게임 PC / 맥] 대시보드·에디터 ⇄ mobi-hub.duckdns.org ⇄ 에이전트 프로그램 ⇄ 마비노기 모바일 (어디서든 접속) (플로우·템플릿 저장) (화면 캡처·클릭·키 입력)
  • 허브: 플로우와 템플릿 이미지를 저장하고, 웹과 에이전트를 이어 줍니다. 휴대폰에서도 접속됩니다.
  • 에이전트: 게임이 켜진 PC/맥에서 계속 켜 두는 프로그램입니다. 허브의 명령을 받아 게임 화면을 보고 클릭합니다.
  • 플로우: "무엇을 찾고, 찾으면 무엇을 누를지"를 노드(상자)로 이어 그린 순서도입니다.
  • 템플릿: 화면에서 찾을 작은 그림 조각(버튼, 아이콘, 문구)입니다. 에디터에서 게임 화면을 캡처해 잘라 만듭니다.

대상 앱은 마비노기 모바일로 고정돼 있습니다. 따로 앱 이름을 적을 필요가 없습니다.

2. 처음 준비하기

계정 만들기 (OTP 등록)

  1. 관리자에게 초대 링크를 받습니다. (초대 링크 없이는 가입할 수 없습니다.)
  2. 초대 링크를 브라우저로 열거나, Windows 에이전트 프로그램의 "초대 링크로 가입하기"에 붙여 넣고 아이디·비밀번호를 정합니다.
  3. 가입하면 바로 QR 코드가 나옵니다. 휴대폰에 Google Authenticator 앱을 설치하고 [+] → [QR 코드 스캔]으로 찍습니다. 앱에 MobiMacro 항목이 생기면 성공입니다.
  4. 관리자가 가입을 승인하면 로그인할 수 있습니다. 로그인할 때마다 앱의 6자리 숫자(OTP)를 입력합니다.
주의: QR 코드는 가입 직후 한 번만 보입니다. 그 자리에서 꼭 등록하세요. 놓쳤다면 관리자에게 계정 재발급을 요청해야 합니다.

Windows PC 연결

  1. 관리자에게 받은 MobiMacroAgent-win.zip의 압축을 풀고 MobiMacroAgent.exe를 실행합니다.
  2. "이 앱이 디바이스를 변경하도록 허용하시겠어요?"(관리자 권한) 창에서 예를 누릅니다. 게임이 관리자 권한으로 실행되기 때문에, 에이전트도 관리자 권한이어야 클릭이 게임에 들어갑니다.
  3. 아이디·비밀번호·OTP를 넣고 로그인합니다. "이 PC 이름"은 대시보드에서 이 PC를 구분하는 이름입니다.
  4. 실행 화면에서 허브 연결: 연결됨이 보이면 끝입니다. 다음부터는 실행만 하면 자동으로 연결됩니다.
팁: 이 창은 최소화해 둬도 됩니다. 창의 ■ 긴급 정지 버튼은 웹에 접속하지 않고도 그 자리에서 플로우를 멈춥니다.
백신이 막는 경우: 서명 없는 프로그램이라 Windows Defender가 경고할 수 있습니다. [추가 정보] → [실행]을 누르거나, 압축을 푼 폴더를 예외에 추가하세요.

맥 연결

맥 에이전트는 터미널 프로그램입니다. mobi-macro-agent run으로 실행하고 아이디·비밀번호·OTP를 입력합니다. 처음 실행할 때 화면 기록과 손쉬운 사용 권한을 허용해야 합니다(시스템 설정 → 개인정보 보호 및 보안).

3. 에디터 화면 구성

위치이름하는 일
맨 위툴바노트북: 캡처·테스트·실행할 PC 선택 / 플로우: 불러오기·이름·저장·삭제 / 대상 앱: 마비노기 모바일(고정) / 고정 해상도: 목표 창 크기 / 정지·상태 표시
왼쪽노드 목록노드를 캔버스로 끌어다 놓습니다. 위 검색칸으로 찾을 수 있고, 마우스를 올리면 설명이 뜹니다.
가운데캔버스노드를 놓고 선으로 잇는 곳입니다. 오른쪽 아래에 확대·축소·전체 보기와 미니맵이 있습니다.
오른쪽속성선택한 노드의 설정입니다. 맨 위에 노드 설명이 있고, ▶ 이 노드부터 실행으로 중간부터 시험할 수 있습니다.
맨 아래로그실행 중 어떤 노드가 무엇을 했는지 실시간으로 보입니다. 상세 로그를 켜면 매칭 점수·클릭 좌표까지 나옵니다.

노드 연결: 노드 오른쪽의 동그란 출력에서 다음 노드 왼쪽의 입력으로 끌면 선이 생깁니다. 선을 클릭하면 가운데에 +가 떠서 사이에 노드를 끼워 넣을 수 있고, 선을 선택하고 Delete로 지웁니다.

4. 첫 플로우 만들기 (따라하기)

예제: "메뉴 버튼이 보이면 누르고, 3초 기다렸다가 ESC로 닫기를 5번 반복"

  1. 준비 — 게임 PC의 에이전트가 켜져 있고 게임이 실행 중인지 확인합니다. 에디터 툴바의 노트북에서 그 PC를 고릅니다.
  2. 새 플로우 — 새로 만들기를 누르고 이름을 적습니다. 시작 노드가 하나 생깁니다.
  3. 목표 창 크기 — 고정 해상도에 950 x 582를 넣습니다(기존 플로우의 기준). 실행할 때 게임 창이 이 크기로 맞춰집니다. 왜 필요한가요?
  4. 반복 노드 — 왼쪽에서 반복을 끌어와 시작 뒤에 잇습니다. 속성에서 모드 횟수 반복, 횟수 5.
  5. 이미지 인식 노드 — 반복의 첫 번째 출력(반복 본문)에 이미지 인식을 잇습니다. 속성에서 + 새 템플릿 캡처 → 게임 화면이 뜨면 메뉴 버튼을 드래그로 감싸 이름(예: 메뉴)을 붙입니다. 지금 테스트로 찾는지 확인합니다(점수 0.8 이상이면 좋음).
  6. 클릭 노드 — 이미지 인식의 첫 번째 출력(찾음)에 클릭을 잇습니다. 대상은 마지막 매칭 위치, 기준점 중앙.
  7. 대기 노드 — 클릭 뒤에 대기(최소 3000, 최대 3500ms).
  8. 키 입력 노드 — 대기 뒤에 키 입력, 키에 esc.
  9. 반복으로 돌아가기 — 키 입력의 출력을 다시 반복 노드의 입력으로 잇습니다. 이미지 인식의 두 번째 출력(못 찾음)도 대기 노드 등으로 이어 막다른 길이 없게 합니다.
  10. 종료 — 반복의 두 번째 출력(완료)에 종료를 잇습니다.
  11. 저장 후 실행 — 저장을 누르고, 대시보드에서 그 PC를 고른 뒤 실행합니다. 화면 미리보기와 로그로 진행을 봅니다.
[시작] → [반복 5회] ─반복 본문→ [이미지 인식: 메뉴] ─찾음→ [클릭] → [대기 3초] → [키 입력: esc] ─┐ │ └─못 찾음→ [대기 1초] ───────────────────────────────┤ │ ↑──────────────────────────────────────────────────────────────────┘ └─완료→ [종료]
팁: 출력에 아무것도 연결하지 않으면 플로우는 거기서 끝납니다. "못 찾음" 쪽을 비워 두면 한 번 못 찾을 때 바로 종료되니, 의도한 게 아니라면 꼭 이어 주세요.

5. 꼭 알아야 할 개념

목표 창 크기 (고정 해상도)

템플릿은 캡처할 때의 창 크기 그대로의 그림입니다. 창 크기가 달라지면 게임 화면이 커지거나 작아져서 템플릿과 안 맞습니다. 그래서 플로우마다 목표 창 크기를 정해 두면, 실행할 때 에이전트가 게임 창을 그 크기로 먼저 맞춥니다.

  • 기존 플로우의 기준은 950 x 582입니다. 새 플로우도 같은 크기를 쓰면 템플릿을 같이 쓸 수 있습니다.
  • 이 크기는 맥 기준입니다. 맥은 창 크기에 제목 표시줄(32px)이 포함되므로, 실제 게임 화면은 950 x 550입니다. Windows에서도 똑같이 계산하므로 맥에서 만든 플로우·좌표·템플릿을 그대로 쓸 수 있습니다.
  • 캡처 화면 맨 위의 흰 띠(32px)는 이 제목 표시줄 자리입니다. 정상입니다.
  • 툴바의 현재 크기 사용은 지금 게임 창 크기를 그대로 채워 넣습니다.

좌표 기준: 창 기준 vs 화면 절대 좌표

기준뜻언제
창 기준 (권장)게임 창 왼쪽 위가 (0, 0). 창을 옮겨도 같은 지점을 누릅니다.거의 항상
화면 절대 좌표모니터 왼쪽 위가 (0, 0). 창을 옮기면 엇나갑니다.게임 창 밖을 눌러야 할 때만

좌표를 직접 셀 필요는 없습니다. 화면에서 위치 선택을 누르면 게임 캡처가 뜨고, 원하는 곳을 클릭하면 좌표가 채워집니다.

팁: 고정 좌표보다 이미지 인식 → 마지막 매칭 위치 클릭이 훨씬 튼튼합니다. 버튼 위치가 조금 바뀌어도 찾아서 누르기 때문입니다.

마지막 매칭 (last match)

이미지 인식 노드가 무언가를 찾으면 그 위치(박스)를 기억합니다. 뒤따르는 클릭·스크롤·드래그·숫자 인식 노드에서 대상을 마지막 매칭 위치로 두면 그 박스를 기준으로 동작합니다.

  • 기준점: 박스의 중앙/좌상단/우상단/좌하단/우하단 중 어디를 기준으로 할지.
  • 오프셋: 기준점에서 몇 px 옮길지. 예) 아이콘 오른쪽 40px의 버튼 → 기준점 중앙, 오프셋 X=40.
  • 이미지 인식이 못 찾으면 마지막 매칭은 비워집니다. 그 상태로 클릭 노드에 가면 클릭을 건너뜁니다(로그에 표시).

출력 포트와 흐름

노드마다 출력 동그라미가 1개 이상 있습니다. 위에서부터 1번, 2번… 입니다.

노드1번 출력2번 출력
이미지 인식찾음못 찾음
조건 (if)참거짓
반복반복 본문(한 번 더)완료
전부 찾아 반복각 항목마다완료
스위치1~6번: 각 케이스 / 7번: 어디에도 안 맞을 때(기본값)
그 밖의 노드다음—

반복 본문의 마지막 노드는 다시 반복 노드의 입력으로 이어야 다음 회차가 돕니다. 출력에 아무것도 연결 안 된 곳에 도달하면 플로우가 끝납니다.

필드와 변수

조건·스위치·반복(조건 모드)에서 비교할 값을 필드로 고릅니다.

필드값
matched직전 이미지 인식이 찾았으면 true, 아니면 false
matched_name찾은 템플릿 이름 (템플릿을 여러 개 넣었을 때 무엇을 찾았는지)
confidence일치 점수 0~1
x, y찾은 위치(화면 좌표)
var:이름변수 값. 예) var:count, 숫자 인식으로 읽은 var:gold

연산자: == 같다, != 다르다, > < >= <= 크기 비교(숫자), contains 글자 포함.

6. 노드 설명 (전체)

속성 패널 맨 위의 설명과 같은 내용을 자세히 풀었습니다.

시작 / 종료

시작: 플로우가 여기서 출발합니다. 플로우마다 하나만 둡니다. 종료: 여기 오면 플로우가 끝납니다(로그에 "end 노드 도달"). 출력이 비어 있는 곳에서도 끝나지만, 종료를 두면 의도가 분명해집니다.

이미지 인식

출력: 1 찾음 / 2 못 찾음

게임 화면에서 템플릿 그림을 찾습니다. 플로우의 핵심 노드입니다.

설정설명
템플릿 목록찾을 그림들. 위에 있는 것부터 차례로 찾아 처음 찾은 것으로 결정합니다. 여러 상황 중 하나를 찾을 때(예: "확인" 또는 "닫기") 여러 개를 넣고, 무엇을 찾았는지는 matched_name으로 구분합니다.
임계값 (숫자칸)템플릿마다 0~1. 점수가 이 값 이상이어야 찾은 것으로 칩니다. 기본 0.8. 잘못 찾으면 올리고(0.85~0.9), 못 찾으면 내립니다(0.7). 0.6 아래는 엉뚱한 곳을 잡기 쉽습니다.
+ 새 템플릿 캡처지금 게임 화면을 받아 와서 드래그로 영역을 잘라 템플릿을 만듭니다.
지금 테스트지금 화면에서 각 템플릿의 점수와 위치를 보여 줍니다. 템플릿을 만들면 꼭 눌러 보세요.
기존 템플릿에서 추가다른 플로우에서 만든 템플릿을 재사용합니다.
못 찾으면 재시도N초 동안 M ms 간격으로 다시 찾아봅니다. "화면이 뜰 때까지 기다렸다 누르기"에 씁니다. 0이면 한 번만 봅니다.
여러 배율로 찾기창 크기가 템플릿을 만들 때와 다를 때만 켭니다. 느려집니다. 보통은 목표 창 크기를 맞추는 게 정답입니다.
화면 일부에서만 찾기창 안의 사각형 하나만 보고 찾습니다. 화면에서 구역 선택으로 드래그해 잡으면 됩니다. 전체 화면은 템플릿 하나에 100~200ms가 걸리는데, 찾을 자리가 늘 같은 곳이면(머리 위 표식, 우상단 알림 띠 등) 구역을 좁혀 수 ms로 줄일 수 있습니다. 몇 초 안에 여러 템플릿을 구분해야 하는 기믹 대응에 꼭 필요합니다.
구역 주의: 찾을 그림이 구역 밖으로 조금이라도 나가면 아예 못 찾습니다. 딱 맞게 말고 넉넉히 잡으세요. 구역을 켠 노드는 캔버스에 구역 x,y WxH로 표시되니 "왜 갑자기 못 찾지" 싶을 때 먼저 확인하세요.
팁: 최종적으로 못 찾으면 그 순간 화면이 실행 기록에 저장됩니다. 대시보드의 실행 기록에서 "왜 못 찾았는지"(다른 화면이었는지, 팝업이 가렸는지) 확인하세요.

클릭

설정설명
대상마지막 매칭 위치(권장) 또는 고정 좌표.
기준점 · 오프셋마지막 매칭 박스의 어디를 누를지. 설명
좌표 기준 · X · Y고정 좌표일 때. 창 기준을 쓰세요. 화면에서 위치 선택으로 찍으면 됩니다.
클릭 방식물리 커서(권장): 실제 마우스를 옮겨 누릅니다. 게임은 이 방식만 받는 경우가 많습니다. PID 타겟: 마우스를 안 움직이고 창에 메시지를 보냅니다. 게임은 대부분 무시합니다.
버튼왼쪽 / 오른쪽.
커서 원위치 복귀누른 뒤 마우스를 원래 자리로 돌려놓습니다.

클릭 전에 게임 창을 자동으로 맨 앞으로 가져옵니다. 실행 중에는 그 PC의 마우스를 쓰지 않는 게 좋습니다.

스크롤

지정 위치에 마우스를 올리고 휠을 굴립니다. 목록·패널은 커서가 올라간 곳이 스크롤되므로 위치가 중요합니다.

설정설명
스크롤 위치마지막 매칭 위치 / 고정 좌표 (클릭과 같음).
방향세로 / 가로.
스크롤 양휠 칸 수. 음수 = 아래(오른쪽), 양수 = 위(왼쪽). 보통 3~10. 300 같은 값은 넣지 마세요.

드래그

시작점에서 누르고 끝점까지 끌어서 놓습니다. 아이템 옮기기, 지도 이동, 슬라이더 조절에 씁니다.

설정설명
시작 위치마지막 매칭 위치 / 고정 좌표.
이동 방식상대 이동량: 시작점에서 dx, dy만큼(음수=왼쪽/위). 끝점: 놓을 좌표를 직접 지정.
드래그 시간초. 길수록 천천히 끕니다. 게임이 안 따라오면 0.6~1.0으로 늘리세요.
끝점에서 누른 채 유지초. 끝점에 닿은 뒤 버튼을 떼지 않고 그만큼 버팁니다. 0이면 바로 놓습니다(아이템 옮기기 등).
캐릭터를 걷게 할 때: 화면 왼쪽 아래 가상 조이스틱을 가운데에서 가고 싶은 방향으로 끌고, 끝점에서 누른 채 유지를 0보다 크게 주세요. 바로 놓으면 한 발짝만 가고 멈춥니다. 유지하는 시간이 곧 걷는 거리입니다 — 같은 자리까지 가는 데 몇 초가 걸리는지 한 번 재서 적어 두면 그대로 재현됩니다.

키 입력

키를 누릅니다. 여러 키를 쉼표로 적으면 동시에 누릅니다(조합키).

예뜻
escESC (창 닫기)
mM 키 (마비노기 모바일 PC: 지도)
space, enter, tab스페이스, 엔터, 탭
up down left right방향키
f1 ~ f12, home, end기능 키
ctrl,zCtrl+Z

맥에서 만든 cmd/command는 Windows에서 Ctrl로, option은 Alt로 바뀌어 눌립니다. 게임 화면의 단축키 표시(예: 아이콘 옆 I K)를 보고 정하면 됩니다.

대기

최소~최대(ms) 사이에서 무작위로 골라 기다립니다. 최소=최대면 고정 시간입니다. 1000ms = 1초.

팁: 클릭 직후 화면이 바뀌는 데 시간이 걸리니, 클릭 → 대기(500~1500) → 다음 인식 순서가 안정적입니다. 일부러 범위를 주면 매번 똑같은 박자로 움직이지 않습니다.

조건 (if)

출력: 1 참 / 2 거짓

필드를 값과 연산자로 비교해 갈림길을 만듭니다. 필드 목록은 필드와 변수를 보세요.

예) 필드 var:gold, 연산자 >=, 값 10000 → 골드가 1만 이상이면 1번, 아니면 2번 출력.

스위치

출력: 1~6 케이스 / 7 기본값

한 필드의 값에 따라 여러 갈래로 나눕니다. 주로 matched_name과 함께 씁니다. 이미지 인식에 템플릿을 여러 개 넣고, 무엇을 찾았느냐에 따라 다른 처리를 할 때 편합니다.

예) 케이스 #1 클리어, #2 죽음 → 클리어 화면이면 1번 출력, 죽었으면 2번 출력, 둘 다 아니면 7번.

반복

출력: 1 반복 본문 / 2 완료

설정설명
횟수 반복정한 횟수만큼 1번 출력으로 보냅니다. 다 돌면 2번.
조건 반복조건이 참인 동안 1번 출력으로 보냅니다. 거짓이 되면 2번.
안전 상한실수로 끝나지 않는 반복을 막는 최대 횟수(기본 10000).

본문 마지막 노드를 반복 노드 입력으로 되돌려 이어야 합니다. 밤새 돌릴 플로우는 횟수를 크게 주거나 조건 반복을 씁니다.

전부 찾아 반복

출력: 1 각 항목마다 / 2 완료

화면에서 같은 템플릿을 전부 찾아 하나씩 처리합니다. 예) 목록에 늘어선 "받기" 버튼 모두 누르기. 처음 들어올 때 한 번에 모두 찾아 순서를 고정하고, 매 회차마다 그 항목을 마지막 매칭으로 채웁니다. 그래서 본문에서 클릭 노드를 그대로 쓰면 됩니다.

처리 순서: 위→아래, 왼쪽→오른쪽 또는 일치율 높은 순. 본문 마지막을 이 노드 입력으로 되돌려 이어야 합니다.

변수 설정

이름 붙은 값을 만들거나 바꿉니다. 설정: 값으로 덮어쓰기, 증가/감소: 값만큼 더하기/빼기. 조건에서 var:이름으로 읽습니다.

예) 시작에서 count = 0 → 한 바퀴 돌 때마다 count 증가 1 → 조건 var:count >= 20이면 종료.

값 출력

변수의 현재 값을 로그와 노드 위에 표시합니다. 플로우가 생각대로 도는지 확인할 때 씁니다.

숫자 인식 (OCR)

화면의 글자(주로 숫자)를 읽어 변수에 저장합니다. 예) 아이템 수량, 골드.

설정설명
변수명읽은 값을 저장할 이름.
인식 위치직전 매칭 박스 기준(아이콘을 먼저 찾고 그 옆 숫자를 읽기) 또는 고정 좌표.
영역 크기읽을 사각형의 너비·높이(px). 숫자만 딱 들어가게 잡을수록 정확합니다.
숫자만 뽑기켜면 "통나무 1,234개" → 1234. 끄면 글자 그대로 저장합니다.

로그에 "인식된 글자: …"가 같이 나오니, 처음엔 값 출력 노드와 함께 써서 제대로 읽는지 확인하세요.

템플릿 참조

저장된 다른 플로우를 그 자리에서 통째로 실행하고 돌아옵니다. 자주 쓰는 동작(예: "팝업 다 닫기", "마을로 귀환")을 플로우 하나로 만들어 두고 여러 플로우에서 불러 쓰세요. 원본을 고치면 불러 쓰는 모든 곳에 반영됩니다.

앱 종료

마비노기 모바일을 끕니다. 밤새 돌린 뒤 게임을 끄거나, 껐다 켜서 처음 상태로 돌아갈 때 씁니다. 먼저 정상 종료를 요청하고, 종료 대기 시간 안에 안 꺼지면 강제 종료(켠 경우)합니다.

다시 켜는 건 별도 노드가 없습니다. 다음 이미지 인식/창 크기 맞추기에서 게임이 꺼져 있으면 에이전트가 자동으로 실행합니다(넥슨 로그인이 필요하면 사람이 해야 합니다).

메모 / 그룹

실행에는 영향이 없는 정리용입니다. 메모: 설명을 적어 두는 쪽지. 그룹: 여러 노드를 상자로 묶어 "1단계: 입장" 같은 이름을 붙이고, 제목 아래 빈 곳을 끌면 함께 움직입니다.

모든 노드 공통 설정

설정설명
이름(라벨)캔버스에 보일 이름. "보스방 입장 버튼"처럼 적어 두면 나중에 읽기 쉽습니다.
비활성화지우지 않고 잠깐 건너뜁니다(첫 번째 출력으로 통과). 디버깅용.
오류가 나면멈춤(기본): 플로우 전체를 멈춥니다. 무시하고 계속: 로그만 남기고 첫 번째 출력으로 진행합니다. 밤새 돌릴 플로우에서 일시적 실패에 죽지 않게 할 때 씁니다.
입출력 방향 뒤집기노드의 입력·출력 위치를 좌우로 바꿔 선이 덜 꼬이게 합니다(표시만 바뀜).

7. 좋은 템플릿 만드는 법

✅ 이렇게

  • 바뀌지 않는 부분만 자르기: 버튼의 글자·아이콘 테두리.
  • 작고 특징 있게: 대략 20~120px. 너무 크면 배경이 섞여 점수가 떨어집니다.
  • 목표 창 크기로 맞춘 상태에서 캡처하기.
  • 만든 직후 지금 테스트로 점수 확인(0.85 이상이면 안정적).
  • 이름은 뜻이 보이게: 어비스_입장하기, 협동 미션 완료 - 확인.

❌ 이렇게 하지 않기

  • 캐릭터·배경·숫자처럼 매번 바뀌는 것을 포함하기.
  • 반짝이거나 움직이는 효과가 있는 부분만 자르기.
  • 같은 모양이 화면에 여러 개 있는 부분(그럴 땐 전부 찾아 반복을 쓰거나 주변을 조금 더 포함).
  • 임계값을 0.6 아래로 내리기 — 엉뚱한 곳을 누릅니다.

같은 버튼이 상황에 따라 조금 다르게 보이면(밝기, 강조 효과) 템플릿을 2~3개 만들어 한 이미지 인식 노드에 같이 넣으세요.

8. 자주 쓰는 패턴

화면이 뜰 때까지 기다렸다가 누르기

[이미지 인식: 확인 버튼 / 재시도 10초, 500ms 간격] ─찾음→ [클릭] └─못 찾음→ [값 출력 / 종료]

여러 상황 중 하나에 대응하기

[이미지 인식: 클리어, 죽음, 나가기] ─찾음→ [스위치: matched_name] ├─#1 클리어 → [클릭] → ... ├─#2 죽음 → [클릭: 부활] → ... └─#7 기본값 → [클릭] → ...

N번 돌고 끝내기 (변수 카운터)

[시작] → [변수 설정: count = 0] → (본문 ...) → [변수 설정: count 증가 1] → [조건: var:count >= 20] ─참→ [앱 종료] → [종료] └─거짓→ (본문 처음으로)

수량을 읽어서 판단하기

[이미지 인식: 통나무 아이콘] → [숫자 인식: wood, 박스 우하단 기준] → [조건: var:wood < 100] ├─참→ (채집하러 가기) └─거짓→ (다음 단계)

공통 동작을 부품으로

"열린 창 다 닫기"(ESC를 몇 번 + 확인)를 별도 플로우로 저장하고, 각 플로우의 시작 부분에 템플릿 참조로 넣으세요. 어떤 화면에서 시작하든 같은 상태에서 출발합니다.

9. 실행·예약·알림 (대시보드)

  • 실행: 내 노트북 목록에서 PC를 고르고 플로우를 선택해 실행. 화면 미리보기가 실시간으로 보입니다(휴대폰에서도).
  • 정지: 대시보드/에디터의 정지, 또는 Windows 에이전트 창의 ■ 긴급 정지.
  • 실행 기록: 언제 무엇을 돌렸는지, 로그와 실패 순간 화면을 봅니다.
  • 예약: 정한 시각에 자동 실행합니다. 그 시각에 PC·에이전트·게임이 켜져 있어야 합니다.
  • 알림: 실행이 끝나면 알림을 받습니다. 테스트 보내기로 확인하세요.
  • 실행 중에 저장: 실행 중인 플로우를 에디터에서 고쳐 저장하면, 아직 안 지나간 노드부터 새 내용으로 돕니다.

10. 단축키·편의 기능 (에디터)

동작방법
노드 찾기Ctrl+F (맥 Cmd+F), Enter 다음 / Shift+Enter 이전
되돌리기 / 다시Ctrl+Z / Ctrl+Shift+Z
복사 / 붙여넣기Ctrl+C / Ctrl+V
삭제노드나 선을 선택하고 Delete
여러 개 선택빈 곳을 드래그해 사각형으로 감싸기
선 사이에 노드 넣기선을 클릭 → 가운데 +
자동 정렬툴바 ✨ 자동 정렬 — 시작부터 순서대로 다시 배치
중간부터 시험노드 선택 → 속성의 ▶ 이 노드부터 실행
공유내보내기(플로우+템플릿 파일) / 불러오기, 이미지로 저장

11. 문제 해결

증상확인할 것
노트북 목록에 내 PC가 안 보임 / 오프라인에이전트가 켜져 있는지, 에이전트 창에 "허브 연결: 연결됨"인지. 인터넷 연결.
"창 크기 조절 실패"Windows: 에이전트를 관리자 권한으로 실행했는지(exe는 자동). 게임이 전체 화면/최대화면 창 모드로 바꾸세요.
클릭했는데 게임이 반응 없음에이전트가 관리자 권한인지. 클릭 방식이 물리 커서인지. 실행 중 그 PC의 마우스를 사람이 움직이지 않았는지.
"매칭 실패: 어떤 템플릿도 찾지 못함"실행 기록의 실패 화면을 보세요. 다른 화면이었으면 앞 단계의 대기를 늘리거나 재시도를 넣고, 같은 화면인데 못 찾으면 지금 테스트 점수를 보고 임계값을 조정하거나 템플릿을 다시 뜨세요. 목표 창 크기가 템플릿을 만들 때와 같은지도 확인.
엉뚱한 곳을 누름임계값이 너무 낮음(0.8 이상으로). 템플릿이 다른 곳과 비슷함 → 더 특징 있는 부분으로 다시 뜨기.
숫자를 이상하게 읽음영역을 숫자만 들어가게 작게. 로그의 "인식된 글자"를 보고 위치/크기 조정.
로그인: "계정이 잠겼습니다"여러 번 틀리면 잠깁니다. 안내된 시간 뒤에 다시. 휴대폰 시간이 자동으로 맞춰져 있는지(OTP는 시간 기반).
로그인: "승인 대기 중"관리자에게 가입 승인을 요청하세요.
에이전트가 "로그인 정보가 거부됐습니다"웹에서 이 PC 연결이 해제됐습니다. 다시 로그인하면 됩니다.

Windows 에이전트의 자세한 기록은 %USERPROFILE%\.mobi_macro_client\agent.log에 남습니다. 문의할 때 같이 보내 주세요.