구성

각 명령어마다 플래그를 반복해서 입력하는 대신, 지속적인 기본 설정을 지정하기 위해 agent-browser.json 파일을 생성하세요.

구성 파일 위치

agent-browser는 두 가지 위치를 확인하며, 우선 순위에 따라 병합됩니다:

우선순위위치범위
1 (낮음)~/.agent-browser/config.json사용자 수준 기본값
2./agent-browser.json프로젝트 수준 오버라이드
3AGENT_BROWSER_* 환경 변수구성 값 오버라이드
4 (높음)CLI 플래그모든 것을 오버라이드

프로젝트 수준 설정은 사용자 수준 설정을 덮어씁니다. 환경 변수는 둘 다를 오버라이드합니다. CLI 플래그는 항상 최우선입니다.

기본 위치가 아닌 특정 구성 파일을 로드하려면 --config <경로> 또는 AGENT_BROWSER_CONFIG 환경 변수를 사용하세요:

agent-browser --config ./ci-config.json open example.com
AGENT_BROWSER_CONFIG=./ci-config.json agent-browser open example.com

예제 구성

{
  "headed": true,
  "proxy": "http://localhost:8080",
  "profile": "./browser-data",
  "userAgent": "my-agent/1.0",
  "ignoreHttpsErrors": true
}

모든 옵션

모든 CLI 플래그는 해당 이름의 카멜케이스 버전을 사용하여 구성 파일에서 설정할 수 있습니다:

구성 키CLI 플래그타입
headed--headedboolean
json--jsonboolean
full--full, -fboolean
debug--debugboolean
session--sessionstring
sessionName--session-namestring
executablePath--executable-pathstring
extensions--extensionstring[]
profile--profilestring
state--statestring
proxy--proxystring
proxyBypass--proxy-bypassstring
args--argsstring
userAgent--user-agentstring
provider-p, --providerstring
device--devicestring
ignoreHttpsErrors--ignore-https-errorsboolean
allowFileAccess--allow-file-accessboolean
cdp--cdpstring
autoConnect--auto-connectboolean
colorScheme--color-schemestring (dark, light, no-preference)
downloadPath--download-pathstring
contentBoundaries--content-boundariesboolean
maxOutput--max-outputnumber
allowedDomains--allowed-domainsstring[]
actionPolicy--action-policystring
confirmActions--confirm-actionsstring
confirmInteractive--confirm-interactiveboolean
engine--enginestring (chrome, lightpanda)
native--nativeboolean (실험적)
headers--headersstring (JSON)

일반적인 구성 사례

로컬 개발

{
  "headed": true,
  "profile": "./browser-data"
}

프록시 뒤에 있는 경우

{
  "proxy": "http://proxy.corp.example.com:8080",
  "proxyBypass": "localhost,*.internal.com",
  "ignoreHttpsErrors": true
}

CI / Devcontainer

{
  "args": "--no-sandbox,--disable-gpu",
  "ignoreHttpsErrors": true
}

iOS 테스트

{
  "provider": "ios",
  "device": "iPhone 16 Pro"
}

AI 에이전트 보안

{
  "contentBoundaries": true,
  "maxOutput": 50000,
  "allowedDomains": ["your-app.com", "*.your-app.com"],
  "actionPolicy": "./policy.json"
}

부울 옵션 오버라이드

부울 플래그는 구성 설정을 오버라이드하기 위해 선택적으로 true/false 값을 허용합니다:

agent-browser --headed false open example.com

플래그만 주는 경우 true를 전달한 것과 동일합니다:

agent-browser --headed open example.com       # --headed true 와 동일
agent-browser --headed true open example.com  # 명시적 지정

이 규칙은 모든 부울 플래그에 적용됩니다: --headed, --debug, --json, --ignore-https-errors, --allow-file-access, --auto-connect, --content-boundaries, --confirm-interactive, --native.

확장 기능 병합

사용자 수준 및 프로젝트 수준 구성에서 지정된 확장 기능은 재지정되지 않고 연결됩니다. 예를 들어, ~/.agent-browser/config.json["/ext1"]을 지정하고 ./agent-browser.json["/ext2"]을 지정하면 결과는 ["/ext1", "/ext2"]가 됩니다.

AGENT_BROWSER_EXTENSIONS 환경 변수와 CLI --extension 플래그는 표준 우선 순위 규칙을 따릅니다(환경 변수가 구성을 덮어쓰고, CLI는 뒤에 추가).

환경 변수

이 환경 변수들은 추가적인 데몬 및 런타임 동작을 구성합니다:

변수설명기본값
AGENT_BROWSER_AUTO_CONNECT실행 중인 크롬 인스턴스를 자동 탐지하고 연결합니다.(비활성화됨)
AGENT_BROWSER_ALLOW_FILE_ACCESSfile:// URL이 로컬 파일에 접근하도록 허용합니다.(비활성화됨)
AGENT_BROWSER_COLOR_SCHEME색상 테마 선호도 (dark, light, no-preference).(없음)
AGENT_BROWSER_DOWNLOAD_PATH브라우저 다운로드의 기본 디렉터리입니다.(임시 디렉터리)
AGENT_BROWSER_DEFAULT_TIMEOUT기본 플레이워트 타임아웃(밀리초). 30000 이하로 유지하여 IPC 타임아웃을 방지하세요.25000
AGENT_BROWSER_SESSION_NAME자동 저장/로드 상태 지속성 이름.(없음)
AGENT_BROWSER_STATE_EXPIRE_DAYSN일 이상 지난 저장된 세션 상태를 자동 삭제합니다.30
AGENT_BROWSER_ENCRYPTION_KEYAES-256-GCM 세션 암호화용 64자리 16진수 키.(없음)
AGENT_BROWSER_EXTENSIONS쉼표로 구분된 브라우저 확장 경로. 확장 기능은 헤드드 및 헤드리스 모드 모두에서 작동합니다.(없음)
AGENT_BROWSER_HEADED브라우저 창을 표시하거나 헤드리스 모드로 실행(1로 활성화).(비활성화됨)
AGENT_BROWSER_STREAM_PORT지정된 포트에서 웹소켓 스트리밍을 활성화 (예: 9223).(비활성화됨)
AGENT_BROWSER_IOS_DEVICEios 제공자에 대한 기본 iOS 장치 이름.(없음)
AGENT_BROWSER_IOS_UDIDios 제공자에 대한 기본 iOS 장치 UDID.(없음)
AGENT_BROWSER_DEBUG디버그 출력 활성화 (1로 활성화).(비활성화됨)
AGENT_BROWSER_CONTENT_BOUNDARIESLLM 안전성을 위해 페이지 출력을 경계 마커로 감싸기.(비활성화됨)
AGENT_BROWSER_MAX_OUTPUT페이지 출력 최대 문자 수 (제한 초과 시 자동 절단).(무제한)
AGENT_BROWSER_ALLOWED_DOMAINS쉼표로 구분된 허용 도메인 패턴 (예: example.com,*.example.com).(제한 없음)
AGENT_BROWSER_ACTION_POLICY액션 정책 JSON 파일 경로.(없음)
AGENT_BROWSER_CONFIRM_ACTIONS확인이 필요한 액션 카테고리 (쉼표로 구분).(없음)
AGENT_BROWSER_CONFIRM_INTERACTIVE인터랙티브 확인 프롬프트 활성화 (기본적으로 콘솔이 아닌 경우 자동 거부).(비활성화됨)
AGENT_BROWSER_ENGINE사용할 브라우저 엔진: chrome (기본), lightpanda. --native를 포함합니다.chrome
AGENT_BROWSER_NATIVE노드.js/플레이워트 대신 실험적인 루스트 데몬을 사용합니다.(비활성화됨)

오류 처리

  • 자동 탐지된 구성 파일 (~/.agent-browser/config.json, ./agent-browser.json)이 누락된 경우 무시됩니다.
  • 누락되거나 형식이 잘못된 파일이 포함된 --config <경로>는 오류와 함께 종료됩니다.
  • 자동 탐지된 파일 내 부적절한 JSON은 표준 오류에 경고를 출력하고 해당 파일 없이 계속 진행합니다.
  • 알 수 없는 키는 향후 호환성을 위해 무시됩니다.

팁: 프로젝트 수준 agent-browser.json 파일에 환경별 값(경로, 프록시 등)이 포함되어 있다면, 이를 .gitignore에 추가하는 것이 좋습니다.