PocketHook Safari 확장 프로그램이란?#
셀프 호스팅 Agent Server가 실제 브라우저 안에서 작업할 수 있게 해주는 macOS용 Safari 확장 프로그램입니다: 탭 열고 닫기, 페이지 읽기, 컨트롤 찾아 클릭하기, 폼 입력, 스크린샷 캡처 — 당신의 세션에서, 당신의 로그인 상태 그대로, 당신의 머신에서.
모든 것이 로컬에서 실행됩니다. 확장 프로그램은 당신의 Mac에 있는 Agent Server와만 통신하며(루프백), 그 외 어디로도 아무것도 전송되지 않습니다.
설치#
확장 프로그램은 공증된 macOS 앱으로 Agent Server와 함께 제공됩니다 — App Store도, Xcode도 필요 없습니다:
bun run safari:install
이 명령은 Pockethook Safari.app을 /Applications에 설치하고 실행합니다. 그다음 Safari에서:
- 설정 → 확장 프로그램 — PocketHook Safari를 활성화하고 웹 사이트 접근을 허용합니다.
- 서버에서 일회용 페어링 코드를 생성합니다:
bun run safari:code
- Safari 툴바에서 확장 프로그램 팝업을 열고, 코드를 입력한 뒤 Pair를 누릅니다. 초록색 점이 표시되면 연결된 것입니다.
bun run safari:status로 언제든지 연결 상태를 확인할 수 있습니다.
권한 레벨#
에이전트에게 얼마나 많은 자율성을 줄지, 서버별로 bun run safari:config를 통해 직접 결정합니다:
| 레벨 | 의미 |
|---|---|
confirm (기본값) | 외부에 영향을 미치는 모든 클릭(투표, 제출, 게시, 구매 등)은 먼저 당신에게 확인을 요청합니다 |
autonomous | 투표, 팔로우, 제출은 묻지 않고 실행됩니다. 결제, 영구 삭제, 계정 또는 보안 변경은 여전히 확인을 요청합니다 |
readonly | 탐색, 검사, 캡처만 가능 — 클릭과 입력은 비활성화됩니다 |
에이전트가 할 수 있는 것#
- 탭 열기, 이동, 닫기
- 페이지 검사: 안정적인 셀렉터, 상태, 시맨틱 속성을 가진 보이는 컨트롤
- 보이는 텍스트나 식별 속성으로 컨트롤 찾기
- 클릭과 폼 입력(프레임워크 인식, 전/후 검증 포함)
- 스크롤과 스크린샷 캡처, 결과는 채팅으로 전달
모든 액션은 실제로 무슨 일이 일어났는지 보고합니다 — 클릭이 정말로 무언가를 바꿨는지까지 포함해서 — 그래서 에이전트는 추측하는 대신 검증합니다.
보안 모델#
- 루프백 전용 — 확장 프로그램은 당신이 설정한 로컬 주소에만 연결됩니다.
- 일회용 페어링 코드 — 코드는 5분 후 만료되며 한 번만 사용할 수 있습니다. 생성된 자격 증명은 절대 당신의 Mac을 떠나지 않습니다.
- 명령 만료 — 확장 프로그램이 20초 안에 가져가지 않은 명령은 폐기되므로, 뒤늦게 실행되는 일이 없습니다.
- 열쇠는 당신에게 — 결제와 파괴적인 액션은 클릭을 허용하는 모든 권한 레벨에서 항상 당신의 명시적 확인을 요구합니다.
- 감사 가능 — 확장 프로그램의 JavaScript는 앱 번들 안에 읽을 수 있는 형태로 제공됩니다.
다운로드#
확장 프로그램은 Agent Server에 번들로 포함되어 있으며(assets/safari/PocketHook-Safari.zip), 직접 받을 수도 있습니다: PocketHook-Safari.zip — macOS용으로 서명 및 공증되었습니다.