기존 Chrome에 작업용 Workspace를 만드는 이유
요약
BeatBrowser는 기존 Chrome 프로파일과 로그인 상태를 유지하면서, 작업(Task) 단위의 전용 Workspace 환경을 제공하는 브라우저 조작 툴입니다. 이는 단순한 창 분리를 넘어, 작업의 소속과 주도권을 명확히 관리하여 안정적인 개발 및 테스트 환경을 구축하는 데 초점을 맞추고 있습니다. 특히, 복원된 기록이라도 자동으로 조작을 재개하지 않고, 사람이 수동으로 확인하고 인계받는 과정을 강조합니다.
핵심 포인트
- 기존 Chrome 프로파일 유지: 전용 브라우저 대신 기존 로그인 상태를 활용하여 작업 환경 구축.
- TaskSpace 개념 도입: 작업의 소속과 주도권을 관리하는 별도의 경계를 설정함.
- 수동 조작 원칙 고수: 복원된 기록이라도 자동 재실행을 막고, 사람이 확인 후 수동으로 진행하도록 설계.
- 연결 권한 분리: 로컬(stdio MCP) 및 클라우드 Agent 모드를 통해 연결 경로와 인증 상태를 명확히 구분함.

브라우저 조작 툴은 이미 여러 가지가 있습니다. 새롭게 만들 이유를 생각할 때, 어떤 조작 커맨드를 늘릴지보다 먼저 어떤 작업 환경을 남기고 싶은지를 결정할 필요가 있었습니다.
저는 Codex, Claude Code, Cursor 등을 사용하며, 때로는 클라우드상의 에이전트도 이용합니다. 제가 남기고 싶은 것은 평소의 Chrome과 그 로그인 상태입니다. 에이전트는 선택할 수 있고, 작업에는 전용 장소가 있으며, 사람이 상태를 확인하고 조작을 인계받을 수 있습니다. 이러한 구성으로 개발하고 있는 것이 BeatBrowser입니다.
여기서는 1.4.1의 설계를 브라우저, 작업(Task), 연결 권한이라는 세 가지 경계에서 설명합니다. 새로운 실측이나 성능 비교는 아닙니다.
브라우저를 남기는 선택
BeatBrowser는 Chrome 확장 기능과 로컬 Node Bridge를 사용하여 명시적으로 연결된 Chrome 프로파일에 MCP 클라이언트를 연결합니다. 전용 브라우저로의 전환이나 Cookie 추출은 불필요합니다.
이것이 유일한 정답은 아닙니다. ego lite와 같은 전용 브라우저는 작업별 BrowserContext를 통한 분리를 가집니다. Playwright MCP에도 기존 Chrome에 대한 확장 연결이 있으며, agent-browser에는 Dashboard가 있습니다.
BeatBrowser에서 선택한 것은 기존 Chrome과의 연결과, 확장 기능 내에서 작업을 관리하는 흐름을 함께 제공하는 것입니다. 같은 기능을 다른 툴로 조립할 수 없다는 주장은 아닙니다.
작업의 경계는 계정의 경계가 아니다
TaskSpace는 작업용 Chrome 창, 이름이 지정된 페이지, 소유자(owner), 실행 상태, 기록을 관리합니다. 사람은 Workspace에서 작업의 소속을 확인하고, 일시 정지, 인계, 재개, 중지, 정리 작업을 할 수 있습니다.

일회용 개발 환경에서 얻은 이미지입니다. 고객 사이트에서의 업무 완료나 현재 각 클라이언트에서의 신규 검증을 의미하지는 않습니다.
같은 Chrome 프로파일 내에서는 Cookie와 Storage를 공유합니다. 별도의 창에서 구동할 수 있다는 것과, 별도 계정으로 구동할 수 있는 것은 다릅니다.
작업의 소속과 조작의 주도권은 TaskSpace에서 관리하고, 사이트의 계정 상태를 분리해야 할 필요가 있을 때는 Chrome 프로파일을 분리합니다. 이 구분을 모호하게 하면, 창이 나뉘어 있을 뿐인데 인증 상태까지 분리된 것처럼 보이게 됩니다.
복원된 기록에 자동으로 조작을 허용하지 않는다
확장 기능을 재로드하면, 미완료 작업 기록은 일시 정지되어 복원됩니다. 중간의 입력이나 전송을 자동으로 재실행하지 않습니다.
브라우저 전체를 재시작하면, 페이지 식별도 바뀝니다. 저장된 기록과 같은 URL이 발견된다고 해서, 같은 페이지를 조작해도 좋다고 판단하지 않습니다. 사람이 페이지를 명시적으로 연결하고, 재개 역시 별도로 진행합니다.
작업 창을 활성화했을 때도, 멈추는 것은 후속 조작입니다. 이미 전송된 입력은 취소할 수 없습니다. 복원된 상태, 작업 권한, 외부 사이트에서 발생한 결과는 각각 확인해야 할 대상입니다.
연결 권한과 브라우저 상태도 분리한다

로컬에서는 stdio MCP와 로컬 Bridge를 사용합니다. 공개 도메인이나 터널은 필요하지 않습니다.
클라우드 Agent 모드는 임의 설정의 프리뷰입니다. 대응 클라이언트에서 자신의 인증된 터널을 거쳐 본 기기의 remote adapter에 연결합니다. 에이전트별로 인증 정보를 분리함으로써, 그 연결을 취소하거나 업데이트할 수 있습니다.
다만, 인증 정보를 분리한다고 해서 Cookie 컨테이너가 늘어나는 것은 아닙니다. PC와 Chrome은 온라인 상태를 유지해야 하며, 획득한 페이지 내용이나 이미지는 선택된 에이전트나 제공자에게 전달됩니다. 원격 모드의 21개 툴은 로컬보다 범위가 좁고, Muse나 Grok Bot의 각 구현에서도 별도의 검증이 필요합니다.
가장 먼저 확인해야 할 것
도입을 위해서는 Node.js 20 이상, Chrome 116 이상, 대응하는 stdio MCP 클라이언트가 필요합니다. 로컬 예시는 Codex, Claude Code, WorkBuddy, OpenCode입니다. 확장 기능은 개발자 모드에서 수동으로 로드합니다.
처음에는 일반 페이지의 제목을 읽고 멈추는 작업이 적절합니다. 연결되었는지, 페이지를 읽었는지, 일시 정지했는지, 사람에게 제어가 돌아왔는지를 나누어 확인할 수 있습니다. 최소화된 포커스 창 촬영이나 일부 네이티브 다이얼로그에는 아직 과제가 남아있습니다.
일상적인 Chrome을 계속 사용하면서 에이전트를 선택할 수 있다는 점과, 작업을 사람이 인계받을 수 있다는 점. 이러한 장점을 설명하기 위해서도 분리되지 않은 것까지 분리된 것처럼 보이지 않도록 설계가 필요하다고 생각합니다.
참고 자료
개발사로서 관여하는 BeatBrowser는 MIT에서 공개하고 있습니다. 번역과 구성 정리에는 AI를 사용했으며, 공개 구현 및 문서와 비교하여 확인했습니다.
토론

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기