https://i.redd.it/f1dsno0xkyhh1.gif 최근 AI 에이전트(AI agents)가 통제 불능 상태가 된다는 이야기가 많이 들리고 있습니다. 저 또한 알 수 없는 기여자가 내 머신에서 직접 내 오픈 소스(OSS)로 PR(Pull Request)을 보내는 상황이 다소 불편합니다. 특히 의존성(dependencies)을 설치하고, 개발 서버(dev server)를 실행하며, 결과물을 내 일상적인 브라우저에서 여는 경우라면 더욱 그렇습니다. 그래서 궁금해졌습니다. 저장소(repository), 의존성, Claude Code, 개발 서버, 그리고 브라우저를 포함한 모든 것을 하나의 로컬 일회용 샌드박스(local disposable sandbox) 안에 넣을 수 있을까? 그리고 호스트 브라우저에서 앱을 열지 않고도 터미널에서 완전히 브라우저를 관찰하고 제어할 수 있을까? 결과적으로 이것은 놀라울 정도로 잘 작동합니다. 저는 코딩 에이전트(coding agents)를 위한 오픈 소스 로컬 샌드박스인 h5i를 구축했습니다.
┌──────────────── HOST ────────────────┐
│ │
│ Terminal │
│ watch / click / type │
│ │
└──────────────────┬───────────────────┘
pixels + input
┌──────────────────▼───────────────────┐
│ LOCAL DISPOSABLE SANDBOX │
│ │
│ repository + dependencies │
│ ↕ │
│ Claude Code │
│ ↕ │
│ dev server ↔ Chrome │
│ │
│ Fresh browser profile │
│ No host cookies or extensions │
└──────────────────────────────────────┘
Claude는 코드를 수정하고, 의존성을 설치하며, 서버를 시작할 수 있고, agent-browser를 통해 샌드박스 내부의 실제 Chrome 브라우저를 제어할 수 있습니다. 저는 Kitty 그래픽 프로토콜(Kitty graphics protocol)을 사용하여 터미널에서 직접 동일한 브라우저를 관찰하고, 클릭하고, 타이핑하거나 제어권을 가져올 수 있습니다.
Repo: https://github.com/h5i-dev/h5i