nicobailon/surf-cli
The CLI for AI agents to control Chrome. Zero config, agent-agnostic, battle-tested.
What it solves
Surf는 AI 에이전트가 웹 브라우저(Chrome 및 기타)를 제어할 수 있도록 단순화된, 에이전트 불가지론적(agent-agnostic) CLI를 제공합니다. Unix socket을 통해 표준 CLI 명령어로 브라우저와 상호작용할 수 있게 함으로써, 복잡한 설정, MCP server 또는 독점적인 API key의 필요성을 제거합니다.
How it works
Surf는 브라우저 확장 프로그램과 native host와 통신하는 CLI 도구로 작동합니다. 접근성 트리(accessibility tree)의 안정적인 요소 식별자(element refs)를를 사용하여 상호작용이 DOM 변경에 탄력적으로 대응하도록 보장합니다. 또한 Tailscale을 통해 원격 제어를 지원하여, 상호 인증 Ed25519 challenge-response 인증을 사용하여 한 머신에서 CLI를 통해 다른 머신의 브라우저를 제어할 수 있습니다.
Who it’s for
특정 AI 제공업체나 브라우저 자동화 프레임워크에 얽매이지 않고, 에이전트가 웹을 탐색하고, 페이지와 상호작용하며, 작업을 수행할 수 있는 신뢰할 수 있고 설정이 필요 없는 방법을 필요로 하는 AI 에이전트 개발자.
Highlights
Agent-Agnostic: shell 명령어를 실행할 수 있는 모든 도구(예: Claude Code, GPT, Gemini, Cursor)와 함께 작동합니다.
Zero Config: 확장 프로그램 설치와 native host 설정만 필요합니다.
AI without API Keys: 기존 브라우저 로그인을 활용하여 ChatGPT, Gemini, Perplexity, 및 Grok을 쿼리합니다.
Semantic Locators: 취약한 CSS selector 대신 ARIA role, text, 또는 label을 사용하여 요소를 찾고 상호작용합니다.
Window Isolation: 에이전트가 별도의 창에서 작업하도록 하여 사용자의 활성 탭에 간섭하지 않도록 합니다.
Network Capture: API 호출을 필터링하고 재생할 수 있도록 네트워크 요청을 로그로 기록합니다.
Remote Access: Tailscale을 사용하여 Tailnet 상에서 브라우저를 안전하게 제어합니다.