Give your AI agent a real browser — with a human in the loop. Open-source MCP-native browser agent.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
!Auto Browser 데모
AI 에이전트에게 실제 브라우저를 제공하되, 사람이 개입할 수 있도록 하세요.
Auto Browser는 승인된 워크플로를 위한 MCP 네이티브 브라우저 제어 플레인입니다. MCP 클라이언트, LLM 에이전트, 운영자에게 공유 Playwright 브라우저를 제공하며, 사람의 개입, 재사용 가능한 인증 프로필, 승인, 감사 추적, 로컬 우선 배포를 지원합니다.
다음과 함께 작동합니다:
pip install auto-browser-client로 SDK, pip install auto-browser-langchain으로 LangChain/LangGraph/CrewAI 어댑터, uvx auto-browser-mcp로 제로 설정 MCP stdio 브리지를 실행할 수 있습니다. 릴리스는 태그 푸시 시 PyPI 신뢰 게시(OIDC)를 통해 게시됩니다.GET /sessions/{id}/witness/verify 및 읽기 전용 browser.verify_witness MCP 도구가 전체 체인을 탐색하고 로그가 변경, 재정렬 또는 잘린 경우 첫 번째로 다른 영수증을 보고합니다.전체 릴리스 기록은 CHANGELOG.md를 참조하세요.
| 브라우저 제어 | 운영자 안전 | 배포 및 통합 | ||
|---|---|---|---|---|
| Playwright 기반 세션: 스크린샷, DOM 요약, OCR 발췌, 탭 제어, 다운로드, 네트워크 검사 | 승인 게이트, 운영자 신원 헤더, 감사 이벤트, PII 스크러빙, Witness 영수증, 보호 프로필 | HTTP를 통한 MCP, 번들 stdio 브리지, REST API, Docker Compose, Codespaces, 인증 프로필, 선택적 세션별 격리 |
git clone https://github.com/LvcidPsyche/auto-browser.git
cd auto-browser
docker compose up --build
기본 설정으로 로컬 개발에 충분합니다.
선택 사항:
cp.env.example.env
make doctor
로컬 Docker 액세스 권한과 localhost 소켓을 열 수 있는 권한이 있는 일반 터미널에서 make doctor를 실행하세요.
열기:
http://127.0.0.1:8000/docshttp://127.0.0.1:8000/dashboardhttp://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale모든 게시된 포트는 기본적으로 127.0.0.1에 바인딩됩니다.
Codespaces는 스택을 자동으로 프로비저닝합니다. 대시보드와 noVNC 탭은 일반적으로 약 90초 안에 준비됩니다.
이 저장소에서 가장 중요한 흐름은 다음과 같습니다:
여기서 시작하세요:
examples/login-and-save-profile.mdexamples/README.md최소 세션 생성:
curl -s http://127.0.0.1:8000/sessions \
-X POST \
-H 'content-type: application/json' \
-d '{"name":"demo","start_url":"https://example.com"}' | jq
최소 관찰:
curl -s http://127.0.0.1:8000/sessions/<session-id>/observe | jq
Auto Browser는 다음을 노출합니다:
http://127.0.0.1:8000/mcp의 HTTP MCP 엔드포인트http://127.0.0.1:8000/mcp/tools 및 http://127.0.0.1:8000/mcp/tools/call의 편의 엔드포인트uvx auto-browser-mcp 또는 저장소 체크아웃의 scripts/mcpstdiobridge.py기본 MCP 도구 프로필은 curated로, 더 나은 도구 선택을 위해 브라우저 표면을 간결하게 유지합니다. 전체 내부 도구 표면을 원하면 다음을 설정하세요:
MCP_TOOL_PROFILE=full
원시 도구 호출 예시:
curl -s http://127.0.0.1:8000/mcp/tools/call \
-X POST \
-H 'content-type: application/json' \
-d '{
"name":"browser.create_session",
"arguments":{
"name":"demo",
"start_url":"https://example.com"
}
}' | jq
클라이언트 설정 가이드:
docs/mcp-clients.mdexamples/claude-desktop-setup.mdexamples/cursor-mcp-setup.mdexamples/claudedesktopconfig.jsonAuto Browser는 에이전트 스킬 유도를 위한 Stage 0 수렴 하네스를 제공합니다. 구조화된 작업 계약을 실행하고, 변조 확인된 추적을 기록하며, 완료를 검증하고, 서명된 출처와 함께 단계적 스킬 후보를 작성합니다. 생성된 스킬은 단계적으로만 유지되며, 승격은 명시적이고 검토를 거칩니다.
읽기 전용 검사 도구(harness.listruns, harness.getstatus, harness.gettrace)는 기본 curated MCP 도구 프로필에 노출되어 에이전트가 상승된 액세스 없이 하네스 상태를 조사할 수 있습니다. 수렴 실행, 드리프트 검사, 후보 관리, 졸업은 MCPTOOL_PROFILE=full이 필요하거나 REST를 통해 직접 호출할 수 있습니다.
docs/convergence-harness.md에서 시작하세요. 결정론적 로컬 스모크 테스트는 다음과 같습니다:
python -m controller.harness.run --contract evals/contracts/example_read.json --mock-final-url https://example.com --mock-final-text "Example Domain"
MCP 클라이언트의 경우 MCPTOOLPROFILE=full을 설정하여 harness.* 도구를 노출하세요.
실제 프라이빗 배포를 위해 최소한 다음을 설정하세요:
APP_ENV=production
API_BEARER_TOKEN=<strong-random-secret>
REQUIRE_OPERATOR_ID=true
AUTH_STATE_ENCRYPTION_KEY=<44-char-fernet-key>
REQUIRE_AUTH_STATE_ENCRYPTION=true
REQUEST_RATE_LIMIT_ENABLED=true
METRICS_ENABLED=true
STEALTH_ENABLED=false
COMPLIANCE_TEMPLATE은 시작 시 미리 구성된 상태를 적용할 수 있습니다:
| 프리셋 | 인증 암호화 | 운영자 ID | PII 스크러빙 | 격리 | 최대 세션 수명 | ||
|---|---|---|---|---|---|---|---|
strict |
필수 | 필수 | 모든 레이어 | docker_ephemeral |
4시간 | ||
balanced |
- | 필수 | 네트워크 + 텍스트 | 공유 | 24시간 |
두 프리셋 모두 업로드 승인이 필요하며 Witness 영수증을 활성화합니다. 시작 시 적용된 정책을 /data/compliance-manifest.json에 기록합니다. 레거시 이름(HIPAA, SOC2, GDPR, PCI-DSS)은 더 이상 사용되지 않는 별칭으로 계속 작동하며 시작 시 경고를 출력합니다.
예시:
COMPLIANCE_TEMPLATE=strict docker compose up
배포 세부 사항, 호스팅된 Witness 노트, CLI 인증 모드, 역방향 SSH 가이드는 다음을 참조하세요:
docs/deployment.mddocs/production-hardening.mdflowchart LR
User[인간 운영자] -->|감시 / 인수| noVNC[noVNC]
LLM[OpenAI / Claude / Gemini] -->|공유 도구| Controller[컨트롤러 API]
Controller -->|Playwright 프로토콜| Browser[브라우저 노드]
noVNC --> Browser
Browser --> Artifacts[(스크린샷 / 추적 / 인증 상태)]
Controller --> Artifacts
Controller --> Policy[허용 목록 + 승인 게이트]
핵심 구성 요소:
browser-node/는 Chromium, Xvfb, x11vnc, noVNC를 실행합니다.controller/는 FastAPI 컨트롤러, MCP 전송, 정책 레일, 오케스트레이션 엔드포인트를 노출합니다.data/는 런타임 아티팩트, 인증 상태, 승인, 감사 로그, 선택적 CLI 캐시를 보관합니다.scripts/는 doctor, 스모크 테스트, 브리지, 릴리스 검사를 위한 로컬 도우미를 포함합니다.| 경로 | 내용 | ||
|---|---|---|---|
controller/ |
컨트롤러 API, MCP 전송, 테스트, 패키징 | ||
browser-node/ |
브라우저 런타임 및 Playwright 연결 계층 | ||
examples/ |
복사-붙여넣기 흐름 및 MCP 클라이언트 설정 | ||
integrations/langchain/ |
LangChain, LangGraph, CrewAI 어댑터 | ||
docs/ |
아키텍처, 배포, 강화, 시작 문서 | ||
scripts/ |
doctor, 스모크 하네스, stdio 브리지, 인증 도우미 | ||
ops/ |
지원 서비스 템플릿 및 운영 자산 |
| 명령어 | 목적 | ||
|---|---|---|---|
make help |
사용 가능한 저장소 명령어 목록 | ||
make lint |
앱, 테스트, 도우미 스크립트에 대한 Ruff 검사 실행 | ||
make test |
Docker에서 컨트롤러 테스트 실행 | ||
make test-local |
호스트 Python 3.10+에서 컨트롤러 테스트 실행 | ||
make eval |
결정론적 제공자/프로필 평가 점수 실행 | ||
make doctor |
로컬 준비 상태 스모크 실행 | ||
make release-audit |
전체 릴리스 검증 패스 실행 | ||
make smoke-isolation |
세션별 Docker 격리 확인 | ||
make smoke-reverse-ssh |
역방향 SSH 원격 액세스 확인 |
| 원하는 작업 | 여기서 시작 | ||
|---|---|---|---|
| 시스템 구조 이해 | docs/architecture.md |
||
| Claude Desktop 또는 Cursor 연결 | docs/mcp-clients.md |
||
| curl 기반 예제 실행 | examples/README.md |
||
| 신뢰할 수 있는 호스트에 배포 | docs/deployment.md |
||
| 프로덕션 제약 조건 검토 | docs/production-hardening.md |
||
| 수렴 하네스 실행 | docs/convergence-harness.md |
||
| 릴리스 기록 확인 | CHANGELOG.md |
||
| 프로젝트 방향 확인 | ROADMAP.md |
기여를 원하시면 다음을 시작하세요:
CONTRIBUTING.mddocs/good-first-issues.mdCODEOFCONDUCT.mdAuto Browser가 유용하다면, 별표를 눌러 다른 사람들이 찾을 수 있게 도와주세요. 후원 및 팁 옵션은 TIPS.md에 있습니다.