구성
각 명령어마다 플래그를 반복해서 입력하는 대신, 지속적인 기본 설정을 지정하기 위해 agent-browser.json 파일을 생성하세요.
구성 파일 위치
agent-browser는 두 가지 위치를 확인하며, 우선 순위에 따라 병합됩니다:
| 우선순위 | 위치 | 범위 |
|---|---|---|
| 1 (낮음) | ~/.agent-browser/config.json | 사용자 수준 기본값 |
| 2 | ./agent-browser.json | 프로젝트 수준 오버라이드 |
| 3 | AGENT_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 | --headed | boolean |
json | --json | boolean |
full | --full, -f | boolean |
debug | --debug | boolean |
session | --session | string |
sessionName | --session-name | string |
executablePath | --executable-path | string |
extensions | --extension | string[] |
profile | --profile | string |
state | --state | string |
proxy | --proxy | string |
proxyBypass | --proxy-bypass | string |
args | --args | string |
userAgent | --user-agent | string |
provider | -p, --provider | string |
device | --device | string |
ignoreHttpsErrors | --ignore-https-errors | boolean |
allowFileAccess | --allow-file-access | boolean |
cdp | --cdp | string |
autoConnect | --auto-connect | boolean |
colorScheme | --color-scheme | string (dark, light, no-preference) |
downloadPath | --download-path | string |
contentBoundaries | --content-boundaries | boolean |
maxOutput | --max-output | number |
allowedDomains | --allowed-domains | string[] |
actionPolicy | --action-policy | string |
confirmActions | --confirm-actions | string |
confirmInteractive | --confirm-interactive | boolean |
engine | --engine | string (chrome, lightpanda) |
native | --native | boolean (실험적) |
headers | --headers | string (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_ACCESS | file:// 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_DAYS | N일 이상 지난 저장된 세션 상태를 자동 삭제합니다. | 30 |
AGENT_BROWSER_ENCRYPTION_KEY | AES-256-GCM 세션 암호화용 64자리 16진수 키. | (없음) |
AGENT_BROWSER_EXTENSIONS | 쉼표로 구분된 브라우저 확장 경로. 확장 기능은 헤드드 및 헤드리스 모드 모두에서 작동합니다. | (없음) |
AGENT_BROWSER_HEADED | 브라우저 창을 표시하거나 헤드리스 모드로 실행(1로 활성화). | (비활성화됨) |
AGENT_BROWSER_STREAM_PORT | 지정된 포트에서 웹소켓 스트리밍을 활성화 (예: 9223). | (비활성화됨) |
AGENT_BROWSER_IOS_DEVICE | ios 제공자에 대한 기본 iOS 장치 이름. | (없음) |
AGENT_BROWSER_IOS_UDID | ios 제공자에 대한 기본 iOS 장치 UDID. | (없음) |
AGENT_BROWSER_DEBUG | 디버그 출력 활성화 (1로 활성화). | (비활성화됨) |
AGENT_BROWSER_CONTENT_BOUNDARIES | LLM 안전성을 위해 페이지 출력을 경계 마커로 감싸기. | (비활성화됨) |
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에 추가하는 것이 좋습니다.