핵심 기능
AI 에이전트를 위해 설계된 시맨틱 웹 브라우저 엔진의 기능을 확인하세요.
시맨틱 우선 설계
픽셀 렌더링 없이 HTML을 파싱하여 페이지 유형, 제목, 입력 필드, 액션 버튼 등을 자동으로 추출합니다.
11개 AI 도구
navigate, snapshot, click, type, select, extract, scroll, wait_for, eval_js 등 11개 도구를 제공합니다.
정책 엔진
도메인 화이트리스트, 샌드박스 모드, strict 모드 등으로 에이전트의 웹 접근 범위를 안전하게 제한합니다.
데이터 추출
CSS 셀렉터, Structured, JSON, HTML — 4가지 모드로 웹 페이지에서 구조화된 데이터를 추출합니다.
쿠키 & 스토리지
쿠키 관리, localStorage/sessionStorage 상태 저장, 세션 간 컨텍스트 유지를 지원합니다.
리플레이 & 추적
모든 액션을 기록하고 재생할 수 있는 ReplayEngine과 구조화된 로그/아티팩트 수집 기능을 제공합니다.
11개 AI 도구
Claude, GPT 등 LLM의 도구 호출 형식과 완벽하게 호환됩니다.
| 도구 | 설명 |
|---|---|
| navigate | URL로 이동하고 페이지 로드 상태를 확인 |
| snapshot | 현재 페이지의 시맨틱 스냅샷 생성 |
| click | 시맨틱 타겟으로 요소 클릭 |
| type | 입력 필드에 텍스트 입력 |
| select | 드롭다운에서 옵션 선택 |
| extract | 4가지 모드로 데이터 추출 |
| scroll | 페이지 스크롤 (up/down/top/bottom) |
| wait_for | 조건 충족까지 대기 |
| eval_js | JavaScript 코드 실행 |
| clear | 입력 필드 내용 삭제 |
| submit | 폼 제출 |
코드 예제
직관적인 Python API로 웹 페이지를 탐색하고 데이터를 추출하세요.
기본 네비게이션 & 스냅샷
from an_web import ANWebEngine
async with ANWebEngine() as engine:
session = await engine.create_session()
await session.navigate("https://example.com")
snap = await session.snapshot()
print(f"Title: {snap.title}")
print(f"Type: {snap.page_type}")
print(f"Actions: {snap.primary_actions}")데이터 추출
# CSS 셀렉터로 추출
result = await session.act({
"tool": "extract",
"query": {
"mode": "css",
"selector": "h1, h2, h3"
}
})
# Structured 모드 — 필드 매핑
result = await session.act({
"tool": "extract",
"query": {
"mode": "structured",
"selector": "div.item",
"fields": {"title": "h2", "price": ".price"}
}
})정책 기반 안전 제어
from an_web.policy import PolicyRules, PolicyChecker
rules = PolicyRules.sandboxed(
allowed_domains=["example.com", "api.example.com"]
)
checker = PolicyChecker(rules)
result = checker.check_navigate("https://example.com")
print(result.allowed) # True
result = checker.check_navigate("https://evil.com")
print(result.allowed) # False아키텍처
10개 서브패키지로 구성된 모듈러 아키텍처
core
엔진, 세션
dom
HTML 파서
actions
11개 도구
semantic
페이지 분석
policy
보안 정책