시작하기
근거 · framework/evomind/cli/workflow-project-evo-browser-emulator기준 · 릴리스 전(main)커밋 · 462f8cc9파일 · site/authored/evo-browser-emulator/getting-started.md기준선 · 2026-11-12
Evo Emulator는 AI 에이전트가 웹 앱을 시험할 때 쓰는 격리 브라우저입니다. 한 PC에 설치하면, 같은 PC나 다른 PC의 MCP 클라이언트(Evo CLI 등)가 그 브라우저를 제어합니다. 설치한 PC에서는 앱 창으로 시험 화면을 지켜봅니다. 이 문서는 버전 0.7.0 기준입니다.
설치 파일 받기
섹션 제목: “설치 파일 받기”설치 파일은 https://nexus.bluewindsky.com/repository/evo-bin/evo-emulator/release/ 아래에 있습니다(공개, 로그인 필요 없음).
- 최신 버전:
release/latest/에 버전 번호가 없는 이름으로 있습니다. 버전이 바뀌어도 주소가 같습니다. 지금 버전은 같은 폴더의VERSION파일(버전 한 줄)에 있습니다. - 특정 버전:
release/<버전>/에 버전 번호가 붙은 이름으로 있습니다. - 두 폴더 모두
sha256sums.txt로 내려받은 파일을 확인합니다.
| OS | 최신판(latest/) |
특정 버전(<버전>/의 파일 이름) |
|---|---|---|
| Windows x64 | evo-emulator-setup-x64.exe | evo-emulator-setup-<버전>-x64.exe |
| Windows on Arm | evo-emulator-setup-arm64.exe | evo-emulator-setup-<버전>-arm64.exe |
| macOS Apple silicon | evo-emulator-arm64.pkg (또는 .dmg) | evo-emulator-<버전>-arm64.pkg (또는 .dmg) |
| macOS Intel | evo-emulator-x64.pkg (또는 .dmg) | evo-emulator-<버전>-x64.pkg (또는 .dmg) |
| Linux (deb) | evo-emulator_amd64.deb, evo-emulator_arm64.deb | evo-emulator_<버전>_amd64.deb, evo-emulator_<버전>_arm64.deb |
| Linux (rpm) | evo-emulator.x86_64.rpm, evo-emulator.aarch64.rpm | evo-emulator-<버전>-1.x86_64.rpm, evo-emulator-<버전>-1.aarch64.rpm |
Safari를 쓰려면 macOS Apple silicon용 .pkg를 받으세요(Safari (Mac)).
설치 파일에 격리 엔진과 브라우저 이미지가 들어 있어, 설치할 때 인터넷이 없어도 됩니다.
요구 사항
섹션 제목: “요구 사항”| OS | 조건 |
|---|---|
| Windows | Windows 10 21H2(빌드 19044) 이상. WSL이 있어야 합니다. CPU에 맞는 설치 파일을 쓰세요(x64와 arm64 설치 파일은 다른 CPU에서 설치되지 않습니다) |
| macOS | macOS 13 이상. Apple silicon과 macOS 26 이상에서는 Apple container를, 그 밖에서는 앱에 든 엔진을 씁니다. 사용자의 기존 Docker·Colima 설정과는 분리됩니다 |
| Linux | x64·arm64. Docker Engine 또는 Podman. 사용자가 docker 그룹에 있어야 합니다 |
Windows에 WSL이 없으면 설치는 경고와 함께 계속됩니다. 그 뒤 관리자 PowerShell에서 wsl --install --no-distribution을 실행하고 PC를 다시 시작하세요.
Windows
- 설치 파일을 관리자 권한으로 실행합니다. 앱은
C:\Program Files\Evo Emulator에 들어가고 시작 메뉴 항목이 생깁니다. - 창 없이 부팅 때 시작하려면 “서버용 서비스”를 고릅니다(기본은 꺼짐). 아래 서버용 서비스를 보세요.
- 조용히 설치하려면
setup.exe /S, 서버용 서비스까지 켜려면setup.exe /S /SERVICE를 씁니다.
macOS
.pkg를 실행합니다. 앱은/Applications/Evo Emulator.app에 들어가며, 필요하면 Apple container도 함께 설치됩니다. “서버용 서비스”는 선택 항목입니다(기본은 꺼짐)..dmg를 쓰면 앱만 응용 프로그램 폴더로 끌어다 놓습니다. 이때는 앱에 든 엔진을 씁니다.- Apple 실리콘 Mac에서 Intel(x64)용
.pkg를 열면 설치를 시작하지 않고 “Intel Mac용 설치본이며 Apple 실리콘 Mac에서는 arm64 설치본을 쓰라”는 안내가 나옵니다. arm64 설치본을 받으세요. - x64 설치 파일에는 Safari 기능이 없습니다.
- 이 버전은 Apple 공증을 받지 않았습니다. 처음 열 때 Gatekeeper 확인을 거치세요. 업데이트한 뒤 로컬 네트워크 권한을 다시 물을 수 있습니다.
Linux
배포판의 패키지 관리자로 .deb 또는 .rpm을 설치합니다. 앱은 /opt/evo-emulator/에 들어가고, 실행 명령은 evo-emulator이며 메뉴 항목도 생깁니다.
첫 실행
섹션 제목: “첫 실행”앱을 켜면 엔진, 브라우저 이미지, 연결 관문이 자동으로 시작됩니다. 앱 창에서 다음을 봅니다.
- 연결 상태: 엔진, 연결 범위(
dev/external), MCP 주소, 토큰 상태, 개발 앱 주소 - 세션 목록(지금 세션 수/상한)
- 고른 세션의 실시간 화면
- 녹화 시작·중지(“trace도 기록”)
- 비밀값
- 문제가 생겼을 때 다시 시도
- Apple silicon Mac의 arm64 앱에서는 Safari (Mac) 카드(Safari (Mac))
실시간 화면은 보기 전용입니다. 창에서 클릭하거나 키를 눌러도 브라우저로 가지 않습니다. 토큰 값은 창에 표시되지 않습니다. 왼쪽 정보창은 처음에 접혀 있고 » / «로 펴고 접습니다.
창을 닫아도 앱은 트레이에서 계속 돕니다. 완전히 끄려면 트레이에서 종료를 누르세요. 로그인할 때 창 없이 트레이로만 시작하려면 정보창의 “로그인할 때 창 없이 시작 (트레이)“를 켭니다.
웜 풀
섹션 제목: “웜 풀”세션이 하나도 없을 때도 다음 시험을 빨리 시작하려고 Chromium 브라우저 한 대와 그 화면을 미리 띄워 둡니다. 다음 env_start는 새로 띄우지 않고 이 브라우저를 그대로 넘겨받습니다.
- 서버를 직접 띄울 때는 환경 변수
EMU_WARM_POOL로 정합니다. 기본은1(켬)이고0이면 끕니다.0과1만 받으며 다른 값은 서버가 시작하지 않습니다. - 앱 창에는 이 값을 바꾸는 항목이 없습니다.
- 미리 띄운 브라우저도 메모리를 쓰므로, 메모리가 빠듯한 PC에서는
EMU_WARM_POOL=0으로 끄세요.
Evo CLI 연결
섹션 제목: “Evo CLI 연결”- 앱 창의 MCP 주소 옆 evo 연결 설정 복사를 누릅니다. 연결 항목(이름
browser-emulator, 주소, 토큰 헤더)이 클립보드에 들어갑니다. 복사 버튼은 토큰만 복사합니다. - Evo CLI를 쓰는 PC에서
~/.evo/settings.json을 엽니다. - 복사한 항목을
mcp_servers목록에 더합니다. - Evo CLI를 다시 시작합니다.
mcp__browser-emulator__*도구가 보이면 연결된 것입니다.
{ "mcp_servers": [ { "name": "browser-emulator", "url": "http://127.0.0.1:8765/mcp", "headers": { "Authorization": "Bearer <토큰>" } } ]}- 같은 PC에서는 MCP 주소가
http://127.0.0.1:8765/mcp입니다(앱 창에 보이는 “MCP 주소”와 같습니다). 다른 PC에서 붙도록external로 바꿨다면 그 PC에서 접속할 수 있는 이 PC의 주소를 쓰고 포트는8765그대로 둡니다. - 파일을 통째로 바꾸지 마세요. 기존 서버 설정이 사라집니다.
browser-emulator항목이 이미 있으면 그 항목을 바꾸세요. 같은 이름이 두 번 있으면 Evo CLI가 시작하지 않습니다(duplicate server name).- 복사한 내용에는 토큰이 들어 있습니다. Evo 채팅에 붙여 넣어 설정을 맡기면 토큰이 대화 기록에 남으므로, 파일에 직접 넣는 편이 안전합니다.
- 다른 MCP 클라이언트도 같은 주소와
Authorization헤더로 연결합니다. 토큰이 없거나 틀리면 거절됩니다. 로그인 확인을 켜면X-Emulator-Token헤더와auth·auth_client_id항목으로 달라집니다.
다른 PC에서 연결
섹션 제목: “다른 PC에서 연결”기본 연결 범위 dev에서는 이 PC(127.0.0.1)에서만 접속할 수 있습니다. 다른 PC의 Evo CLI를 연결하려면 앱 설정 파일에 "mode": "external"을 넣고 앱을 다시 켜세요. 명령줄 --mode=external로도 바꿀 수 있습니다.
| OS | 앱 설정 파일 |
|---|---|
| Windows | %APPDATA%\Evo Emulator\settings.json |
| macOS | ~/Library/Application Support/Evo Emulator/settings.json |
| Linux | ~/.config/Evo Emulator/settings.json |
external 모드에서는 이 PC의 사내망 주소마다 복사 버튼이 생깁니다. Evo CLI를 쓰는 PC에서 닿는 주소를 고르세요. 기본 연결(http)은 암호화되지 않으므로 믿을 수 있는 사내망에서만 씁니다. 다른 망을 건너거나 사내망을 믿을 수 없으면 https 관문을 켜세요.
토큰을 바꾸려면 앱을 끄고, 앱 데이터 폴더의 engine/gateway-token을 지운 뒤 다시 켭니다. 그다음 연결 설정을 다시 복사하세요.
앱 설정 파일에서 바꿀 수 있는 그 밖의 값: port(기본 8765), maxSessions(동시 세션, 기본 4, 1~16), devPorts(아래), fps(실시간 화면), gatewayTls·oidcIssuers(아래 https 관문·로그인 확인).
https 관문
섹션 제목: “https 관문”external 모드에서 관문을 https로 열 수 있습니다. 기본은 꺼짐(평문 http)이고, dev 모드는 같은 PC 안이라 늘 http입니다.
- 앱 설정 파일에
"gatewayTls": "on"을 넣고(명령줄은--gateway-tls=on) 앱을 다시 켭니다. - 연결 설정을 다시 복사합니다. 주소가
https://로 바뀌고 관문 키의 지문이tls_pin_sha256으로 함께 들어갑니다.
{ "name": "browser-emulator", "url": "https://<MCP 주소>/mcp", "headers": { "Authorization": "Bearer <토큰>" }, "tls_pin_sha256": "<지문>"}- 필요한 evo 판:
tls_pin_sha256을 아는 evo가 필요합니다(evo #476 이후 개발판 1.0.0-dev). 정식판 0.23.1은 이 항목을 모르고 자기 서명 인증서를 믿지 않아 붙지 못합니다. 그래서 기본값이 꺼짐입니다. - 사용자 PC에 인증서나 CA를 설치하지 않습니다. evo가 인증서 대신 키 지문을 비교합니다.
- 이 PC의 주소가 바뀌어도 지문은 그대로라 설정을 다시 넣지 않아도 됩니다(주소만 바꿉니다).
- evo에
server certificate key does not match tls_pin_sha256이 보이면 관문 키가 바뀐 것입니다(키 파일을 지웠거나 다른 PC). 연결 설정을 다시 복사하세요. - 키를 바꾸려면 앱을 끄고 앱 데이터 폴더의
engine/gateway-tls-key.pem을 지운 뒤 다시 켭니다. 키는 토큰과 같은 수준으로 보호하세요.
로그인 확인
섹션 제목: “로그인 확인”oidcIssuers에 evo 로그인 토큰의 발급자 주소를 적으면 관문이 요청한 사람을 확인합니다. 기본은 비어 있음(꺼짐)입니다. evo는 로그인 토큰을 https에만 보내므로 https 관문과 함께 쓸 때만 확인이 일어납니다.
-
주소는
https만 되고, 계정·질의 문자열·끝 슬래시는 넣을 수 없습니다. 이 PC가 발급자의 공개 키 주소에 닿아야 합니다. -
로그인 서버가 둘 이상이면(조직용·개인용) 모두 적습니다. 항목은 주소 문자열이거나, 창에 보일 이름을 붙인
{ "url": 주소, "label": "개인용" }입니다."oidcIssuers": [{ "url": "https://<개인용 서버>/realms/evo", "label": "개인용" },{ "url": "https://<조직용 서버>/realms/evo", "label": "조직용" }] -
이름은 1~20자이고 서버마다 달라야 합니다. 이름이 없으면 서버의 호스트 이름이 보입니다.
-
켜고 https 관문이면 복사되는 항목이 달라집니다.
Authorization헤더 대신X-Emulator-Token에 관문 토큰이 들어가고"auth": "org","auth_client_id": "evo-emulator"가 붙습니다. http 관문이거나 꺼짐이면 지금 항목 그대로입니다.{"name": "browser-emulator","url": "https://<MCP 주소>/mcp","headers": { "X-Emulator-Token": "<토큰>" },"auth": "org", "auth_client_id": "evo-emulator", "tls_pin_sha256": "<지문>"} -
필요한 evo 판:
auth_client_id는 evo 개발판 1.0.0-dev.1306 이후에서 됩니다(정식판 1.0.0 예정). 그 전 evo에서는 켜지 말고 지금 항목을 쓰세요. -
evo에서 처음 한 번
evo login --mcp browser-emulator(또는 evo 화면의/login browser-emulator)로 이 서버 전용 로그인을 합니다. 로그인 전에는 그 서버만not signed in으로 보입니다.
개발 중인 앱 열기
섹션 제목: “개발 중인 앱 열기”에뮬레이터의 브라우저는 격리 환경 안에서 돌기 때문에 이 PC의 127.0.0.1을 바로 열 수 없습니다.
- 앱 설정 파일의
devPorts에 개발 앱 포트를 적습니다. 예:"devPorts": [3000] - 파일을 저장하면 앱이 바뀐 포트를 읽어 적용합니다. 앱을 다시 켜지 않아도 되고, 열려 있는 세션도 끊기지 않습니다. 몇 초가 지나도 반영되지 않으면 파일이 올바른 JSON인지 확인하세요.
- 창에 나온 개발 앱 주소로 페이지를 엽니다.
다른 PC에서 도는 개발 앱은 ssh -R <포트>:localhost:<포트> <에뮬레이터 PC>로 이 PC에 끌어온 뒤 같은 방법으로 엽니다.
- 개발 앱은 이 PC의
127.0.0.1에만 열어 두세요. 톰캣처럼 모든 주소(0.0.0.0)에 여는 앱은 Docker(Linux) 엔진의 중계와 같은 포트를 겹쳐 열 수 없어, 시작이port_unavailable로 멈춥니다. page_open이 닿지 않는 주소에서 실패하면 오류에 원인과 할 일이 함께 나옵니다. 브라우저는 격리 환경 안에서 돌기 때문에localhost·127.0.0.1은 이 PC가 아니라 격리 환경 자신입니다. 이 PC의 개발 앱은 위 방법으로 여세요. 같은 주소로 다시 시도해도 결과는 같습니다.
Safari (Mac)
섹션 제목: “Safari (Mac)”Apple silicon Mac에서는 Mac 안의 macOS 가상 머신으로 Safari를 씁니다. 도구 이름과 인자는 Chromium·Firefox와 같습니다.
쓸 수 있는 곳
섹션 제목: “쓸 수 있는 곳”- macOS 26 이상 Apple silicon Mac에 arm64
.pkg로 설치한 데스크톱 앱에서 씁니다. 앱 창에 Safari (Mac) 카드가 있습니다.- Safari는 Apple container 엔진에서만 연결됩니다. arm64
.pkg는 macOS 26 이상에서 Apple container를 함께 설치합니다. - macOS 26 이상이라도
.dmg로 설치해 앱에 든 엔진(Colima 등)으로 돌면, 엔진이 시작된 뒤 Safari (Mac) 카드가 꺼진 채 “Apple container가 없어 지금 이 엔진으로 실행 중”이라는 이유와 함께 보입니다. arm64.pkg로 다시 설치하면 Apple container가 함께 설치됩니다. 그 전까지는 Chromium·Firefox를 쓰세요.
- Safari는 Apple container 엔진에서만 연결됩니다. arm64
- macOS 14~25 Apple silicon Mac에서는 카드가 꺼진 채 보입니다. macOS 26 이상이 필요하다는 이유와 지금 macOS 버전이 함께 보이며, 그동안은 Chromium·Firefox를 쓰라고 안내합니다.
- 서버용 서비스로 실행하면 Safari를 쓸 수 없습니다.
- Intel Mac이나 x64 설치 파일로 설치한 앱에서는 카드에 쓸 수 없는 이유만 보입니다. Apple silicon Mac에서 x64 앱을 쓰고 있으면 arm64 설치 파일로 다시 설치하세요(Rosetta로 실행한 x64 앱은 엔진이 시작되지 않고 arm64 설치본으로 다시 설치하라는 안내가 나옵니다).
- Windows와 Linux에서는 카드가 보이지 않습니다.
env_start에browser: "safari"를 주면not_supported가 돌아옵니다. - Mac이라도 앱에서 가상 머신을 준비하지 않았으면
not_supported와 준비 안내가 돌아옵니다.
처음 준비
섹션 제목: “처음 준비”- Safari (Mac) 카드에 담당자 이름을 적습니다. “토큰은 나만 씁니다. 다른 사람에게 주거나 다른 사람의 PC에 넣지 않습니다.“에 동의하고 담당자 등록을 누릅니다.
- **가상 머신 준비 (약 10분)**를 누릅니다. 앱이 Apple에서 macOS 복원 이미지(약 20GB)를 받아 가상 머신을 만듭니다. 진행 단계와 비율이 카드에 보입니다.
- macOS 이미지는 설치 파일에 들어 있지 않고 이 Mac에서 처음 준비할 때 받습니다. 디스크 여유 공간이 약 60GB 필요하고 80GB 이상을 권합니다. 모자라면 준비가
disk_space로 멈춥니다. 준비가 끝난 뒤에는 이미지와 가상 머신이 약 40GB를 씁니다. 시간은 내려받기에 설치·설정 약 5분이 더 걸립니다.
준비가 끝나면 버튼이 가상 머신 다시 준비로 바뀝니다.
로그인 확인을 켰다면 담당자 등록만으로는 Safari를 쓸 수 없습니다. 담당자 본인이 위 연결 항목으로 Safari를 한 번 요청하면 그 요청은 거절되고, 카드에 개인용 · alice (0281fa5a…)처럼 서버 이름·로그인 이름·id 앞 8자가 뜹니다. 이 로그인을 담당자로 승인을 누르면 그때부터 그 서버의 그 사람만 Safari를 씁니다. 같은 id라도 다른 서버의 로그인, 다른 사람, 로그인 없는 요청은 거절됩니다. 승인 전에 후보가 바뀌었으면 승인이 거절되니 창에 보이는 로그인을 다시 확인하세요. 로그인 서버 없이 id만 저장된 이전 기록은 믿지 않고 카드에 “다시 승인 필요”가 뜨므로, 담당자가 로그인으로 한 번 요청한 뒤 다시 승인해야 합니다.
가상 머신 안 macOS는 로그인 뒤 “Update Mac Automatically” 창을 띄웁니다. 이 창은 Safari 조종에 영향을 주지 않습니다. 닫으려면 Safari 세션이 열려 있을 때 가상 머신 화면 열기를 누르고, 그 창에서 Continue를 누르세요.
사용 조건
섹션 제목: “사용 조건”- 담당자를 등록하기 전에는 Safari 요청이
blocked_by_policy로 거절됩니다. - Safari는 한 번에 PC 한 대만 제어합니다. 다른 PC가 쓰는 동안 Safari를 열면
limit_exceeded가 돌아옵니다. Chromium·Firefox는 영향을 받지 않습니다. - 가상 머신 한 대에 Safari 세션 하나입니다. 앱의 가상 머신 준비는 가상 머신 한 대만 만들므로, 앱으로 준비하면 동시에 여는 Safari 세션은 1개입니다. 준비된 가상 머신이 모두 쓰이는 중이거나, Mac의 macOS 가상 머신 2대 상한에 닿아도
limit_exceeded입니다. 다른 macOS 가상 머신 앱도 이 수에 들어갑니다. - Safari 세션은
maxSessions(Chromium·Firefox의 동시 세션)에 세지 않습니다. - 24시간 안에 서로 다른 PC 3대 이상이 Safari를 요청하면 카드에 공유 의심 경고가 뜹니다. 토큰을 다른 사람과 나눴다면 토큰을 새로 만드세요(다른 PC에서 연결). 같은 공유기 뒤의 여러 PC는 한 대로 보입니다.
- 카드의 최근 Safari 요청에서 요청한 PC 주소, 시각, 결과를 봅니다. 토큰은 기록하지 않습니다.
- Safari 세션에도 Chromium·Firefox와 같은 네트워크 정책이 걸립니다. 클라우드 메타데이터 주소와 이 Mac 자신(loopback)으로 가는 요청이 막힙니다. 가상 머신을 켤 때 이 정책을 걸지 못하면 Safari가 열리지 않습니다.
사용법
섹션 제목: “사용법”env_start에browser: "safari"를 줍니다.- 꺼진 가상 머신을 켜면 첫 세션까지 20~40초 걸립니다. 세션이 끝난 가상 머신은 10분 동안 켜 두었다가 끕니다.
- 다른 PC에서 제어하려면 Mac 앱을
external모드로 켜고, 연결 주소와 토큰을 Evo CLI 연결과 같은 방법으로 넣습니다. - 화면 크기(
width·height)는 200 이상, 1440×780 이하입니다. screenshot은 보이는 영역만 찍습니다.snapshot은 iframe 안을 넣지 않고 요소 3000개까지 담습니다.env_reset은mode: clean만 됩니다.- 다음은 Safari에서
not_supported입니다.env_start의har·snapshot인자,env_reset의 스냅샷,screenshot의full_pagefile_set,console_list,network_list,downloads_list,network_throttlemedia_emulatescreen_shot,screen_click,screen_key,screen_typerecord_start,record_stop,env_snapshot_save
artifact_list·artifact_get에는 산출물이 없습니다.- 페이지는 http·https 주소만 엽니다. Safari의 요청은 에뮬레이터의 송신 프록시를 거치지 않으므로 리다이렉트와 페이지 안 하위 요청은 검사되지 않습니다.
- 스크린샷과 실시간 화면에서는 비밀값이 가려지지 않습니다.
비밀값
섹션 제목: “비밀값”시험 계정 비밀번호처럼 에이전트에게 보이면 안 되는 값을 넣는 기능입니다.
- 앱 창의 비밀값에 이름과 값을 넣고 저장합니다.
- 에이전트에게는 값이 아니라 이름을 알려 줍니다. 에이전트는 입력 도구의
secret에 그 이름을 넘기고,secret_list로 이름 목록을 봅니다.
- 이름은 영문·숫자·
_.-로 164자, 값은 84096자입니다. 줄바꿈과 앞뒤 공백은 넣을 수 없습니다. - 목록에는 이름만 보이고, 저장한 값은 다시 보여 주지 않습니다. 앱을 다시 켜지 않아도 바로 쓸 수 있습니다.
- 도구 결과, 로그, trace, HAR에서는 값이
[secret:<이름>]로 가려집니다. - 스크린샷, 실시간 화면, 영상은 가려지지 않습니다. 비밀번호 칸이 아닌 곳에 넣은 값은 화면에 글자로 보입니다.
- 값은 이 PC의 파일에 평문으로 저장되므로 토큰 파일과 같은 수준으로 보호하세요. 실수를 막는 장치이며, 에이전트가 일부러 값을 빼내는 것까지 막지는 못합니다.
서버용 서비스
섹션 제목: “서버용 서비스”데스크톱 창 없이 부팅 때 에뮬레이터를 시작합니다(로그인하지 않아도 됩니다). 실시간 화면 창은 없습니다. 같은 PC에서 앱과 함께 켜면 포트(8765)가 겹치니 둘 중 하나만 쓰세요.
| OS | 켜고 끄기 | 설정 | 토큰 |
|---|---|---|---|
| Windows | "C:\Program Files\Evo Emulator\service\evo-emulator-service.cmd" install · start · stop · status · uninstall (install·uninstall은 관리자) |
%ProgramData%\Evo Emulator\service-config.cmd |
%LOCALAPPDATA%\Evo Emulator Service\gateway-token |
| macOS | sudo "/Applications/Evo Emulator.app/Contents/Resources/emu/macos/evo-emulator-service" install · start · stop · status · uninstall |
/Library/Application Support/Evo Emulator/service.env |
서비스를 설치한 사용자의 ~/Library/Application Support/Evo Emulator Service/ |
| Linux | sudo systemctl enable --now evo-emulator |
/etc/evo-emulator/service.env |
sudo cat /var/lib/evo-emulator/gateway-token |
- 다른 PC에서 연결하려면 설정의
EMU_MODE를external로 바꾸고 서비스를 다시 시작합니다(Windows는stop뒤start, Linux는sudo systemctl restart evo-emulator). 개발 앱 포트는EMU_DEV_PORT로 정합니다. - 서비스에 비밀값을 넣으려면 토큰과 같은 폴더의
secrets.json({"이름": "값"})을 고친 뒤 서비스를 다시 시작합니다. - MCP 클라이언트에는 위 토큰과 이 PC의 MCP 주소를 넣습니다. 같은 PC면
http://127.0.0.1:8765/mcp, 다른 PC에서 붙는 구성이면 그 PC에서 접속할 수 있는 이 PC의 주소에 포트8765를 붙입니다. - Windows 서비스는 설치한 사용자로 부팅 때 시작하는 예약 작업이며 비밀번호를 저장하지 않습니다. 로그는 토큰과 같은 폴더의
service.log입니다. - Linux 서비스는 Docker만 지원합니다. 서비스 사용자는 docker 그룹에 들어가며, docker 그룹은 사실상 관리자 권한이라는 점에 주의하세요.
| OS | 방법 | 남는 것 |
|---|---|---|
| Windows | Windows 앱 목록에서 Evo Emulator를 제거합니다(조용히 지우려면 uninstall.exe /S). 서비스, 격리 환경, 엔진 데이터와 토큰, 로그인 항목, 방화벽 규칙이 함께 지워집니다 |
%APPDATA%\Evo Emulator\settings.json |
| macOS | sudo "/Applications/Evo Emulator.app/Contents/Resources/emu/macos/uninstall.sh". Apple container는 이 설치 파일이 설치한 경우에만 지웁니다 |
사용자 설정 |
| Linux | sudo apt remove evo-emulator 또는 sudo rpm -e evo-emulator. 설정과 서비스 사용자까지 지우려면 sudo apt purge evo-emulator |
~/.config/Evo Emulator |
남은 파일은 직접 지우세요. Windows에서 다른 사용자도 앱을 썼다면, 그 사용자가 wsl --unregister emu-runtime을 실행합니다.
알려진 제약
섹션 제목: “알려진 제약”- 브라우저는 Chromium과 Firefox이고, Apple silicon Mac에서는 Safari도 씁니다. Safari의 제약은 Safari (Mac)를 보세요.
- Apple 실리콘 Mac에 Intel(x64)용 앱을 설치해 Rosetta로 실행하면 앱은 열리지만 엔진이 시작되지 않고, Apple 실리콘용(arm64) 설치본으로 다시 설치하라는 안내가 나옵니다.
- 세션은 30분 동안 쓰지 않거나, 시작한 지 8시간이 지나면 끝납니다.
- 동시 세션은 기본 4개이며 앱 설정
maxSessions로 1~16개까지 바꿉니다. - 세션이 없어도 웜 풀 브라우저 한 대가 메모리를 차지합니다(웜 풀).
EMU_WARM_POOL=0으로 끕니다. - 페이지가 요청하지 않은 곳으로 브라우저가 보내는 백그라운드 통신(업데이트, 푸시 등)은 막힙니다. 막힌 요청은 네트워크 조회 결과 끝에 한 줄로 모아 보입니다.
- Firefox에서는 서비스 워커가 새 주소로 보내는 요청도 막힙니다. 그런 앱은 Chromium으로 시험하세요.
- 위험 사이트 경고 화면은 나오지 않습니다.
- 클라우드 메타데이터 주소는 열 수 없고, 페이지는 http·https 주소만 엽니다.
- WebRTC(UDP) 통신은 프록시를 거치지 않습니다.
- Windows on Arm 기기에서는 아직 충분히 시험하지 않았습니다.
더 보기
섹션 제목: “더 보기”- 에이전트에서 MCP 서버로 연결하는 방법은 Evo CLI 사용 설명서를 보세요.
- 브라우저 시험 중 문제를 신고하려면 Evo Dispatcher 버그 신고 공간을 쓰세요.
- 설치와 제거 방법은 이 문서의 설치와 제거를 다시 보세요.
답변은 문서를 근거로 만들지만 틀릴 수 있습니다. 출처 문서를 함께 확인하세요.