본문 바로가기
ColliePWA

에이전트 클러스터를 모바일에서 제어.

ColliePWA는 로컬 터미널 멀티플렉서를 모바일과 연결합니다. 백그라운드에서 오래 실행되는 코딩 에이전트의 상태를 추적하고, 사용자 입력을 대기 중인 세션을 확인하여 스마트폰에서 바로 응답할 수 있습니다.

  • 지원 멀티플렉서:
  • Herdr
  • tmux
  • Zellij

버전 1.0 기준 Herdr을 공식 지원합니다. tmux 및 zellij는 실험적 지원 단계입니다. 상세 내용: Multiplexer

실행 중인 ColliePWA 인터페이스의 목업 화면입니다. 실제 백엔드와 연결되어 있지 않습니다.

01/데모

여기서 직접 테스트해 볼 수 있습니다.

실제 구동되는 ColliePWA 앱입니다. 에이전트 목록, 터미널 출력, 응답은 브라우저에서 재생되는 더미 데이터입니다. 백엔드에서 실행되는 프로세스는 없으며 네트워크로 데이터를 전송하지 않습니다.

  1. 01맨 위에 있는 blocked 상태의 에이전트를 선택합니다.
  2. 02질문 내용을 확인합니다. 실제 터미널 화면을 그대로 미러링합니다.
  3. 03답변을 탭하면 에이전트가 작업을 이어갑니다.
  4. 04Keys를 탭합니다. Esc, Tab, 방향키, Ctrl 등 모바일 키보드에 없는 키를 제공합니다.
데모 전체 화면으로 열기

02/주요 기능

핵심 구현 두 가지와 1.0 신규 기능

실행 중일 때

실제 터미널 화면 미러링

요약본이나 텍스트 로그가 아닙니다. ColliePWA는 ANSI 색상을 포함해 에이전트의 실제 터미널 출력을 그대로 렌더링합니다. 모바일에서도 데스크톱 터미널과 동일한 화면을 확인합니다.

실행 중인 페인 미러링 화면. 색상 코드를 포함한 원본 출력을 유지합니다. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

입력 대기 상태일 때

터치 한 번으로 응답

권한 요청 프롬프트를 버튼 세 개로 변환합니다. 오작동을 방지하기 위해 응답 전송 직전 현재 화면 상태와 프롬프트를 대조 검증합니다.

권한 요청 대기 상태로 멈춘 페인 화면. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

1.0 변경 사항

036개 언어 지원

설정에서 영어, 독일어, 스페인어, 한국어, 일본어, 중국어를 지원합니다. UI 텍스트에만 적용되며, 에이전트 터미널 출력은 번역 없이 원문 그대로 전달합니다.

상세 내용: 설정

ColliePWA 설정의 언어 선택 항목. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

04디바이스 인증 및 제어

collie pair 명령은 10분 동안 최대 5회 입력 가능한 8자리 코드를 생성합니다. 클라이언트는 이 코드로 1회성 토큰을 발급받고, 브릿지는 토큰 해시만 저장합니다. 이름으로 디바이스를 등록 해제하면 다음 요청부터 즉시 차단됩니다.

상세 내용: 보안

등록된 기기가 없는 브릿지의 페어링 화면. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

05음성 입력 지원

녹음 버튼을 길게 눌러 음성을 텍스트로 변환하고 입력창에 채웁니다. 자체 호스팅한 whisper.cpp나 parakeet.cpp 등 모든 OpenAI 호환 엔드포인트를 지원합니다. 별도 API 키 없이 기존 Codex CLI 세션을 활용할 수도 있습니다. HTTPS 환경이 필요하며 tailscale serve로 간단히 구성할 수 있습니다.

상세 내용: 음성 입력 및 Web Push

음성 설정 화면: 변환된 텍스트가 삽입될 위치를 지정합니다. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

06상태 변경 알림

에이전트가 입력을 대기하거나 완료되면 알림을 보냅니다. 알림을 선택하면 해당 에이전트 화면으로 이동합니다. HTTPS 환경과 collie push-keys 구성이 필요합니다.

상세 내용: 음성 입력 및 Web Push

07Git 워크트리 스페이스

Herdr 환경에서는 열려 있는 저장소의 git 워크트리를 추가하면 별도 루트가 아닌 해당 체크아웃 하위로 중첩됩니다. Herdr가 워크트리를 직접 관리하므로 일반 스페이스와 동일하게 동작합니다.

`collie` 하위로 중첩된 워크트리 2개. 저장소 외부의 `blog`는 단일 스페이스로 유지됩니다. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

08Zen 모드

디바이스별 토글 옵션으로 페인 메뉴에 추가할 수 있습니다. 플로팅 버튼 하나만 남기고 터미널 외의 모든 UI를 숨깁니다. 화면 복귀 요소가 최소화되므로 기본값은 꺼짐입니다.

상세 내용: 설정

Zen 모드 설정: 페인 메뉴 표시 여부를 지정합니다. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

네트워크 연결

09단일 진입점 구성

ColliePWA는 루프백 인터페이스에만 바인딩되며 인터넷에 포트를 직접 노출하지 않습니다. 호스트 URL을 모바일로 전달하는 프록시 계층이 필요합니다. collie start를 통해 Tailscale을 자동으로 설정할 수 있으며, 타 메시 네트워크, 터널, 커스텀 리버스 프록시 연동 가이드도 제공합니다.

상세 내용: 보안

10단일 진입점을 통한 멀티 호스트 제어

팩은 모든 머신에서 ColliePWA가 실행되는 구조입니다. 모바일은 리드를 거쳐 전체 머신에 연결됩니다. 업로드, 저널, 감사 로그, 업데이트, 장애 조치는 머신별로 처리되며 tmux와 zellij 환경에서도 동일하게 동작합니다. Herdr에 저장된 머신은 Herdr 창 안에만 유지됩니다. 모바일 화면에는 팩이 표시됩니다.

상세 내용: Packs

3대 머신으로 구성된 팩 상태: 리드 1대, 대리 1대, 피어 1대. ColliePWA 실제 화면입니다. 연결된 대상이 없으므로 탭해도 반응하지 않습니다.

기타 기능

11전체 에이전트 통합 뷰
사용자 입력 대기 상태에 따라 에이전트를 그룹화합니다. 확인이 필요한 blocked 상태 에이전트가 최상단에 배치됩니다.
12전체 실행 기록 스크롤
ColliePWA는 에이전트 세션의 전체 출력을 읽어옵니다. 마지막 스크린샷이 아닌 작업 실행 로그 전체를 스크롤해서 확인할 수 있습니다.
13단일 인터페이스에서 멀티 세션 제어
Herdr 설정 경로에 정의된 모든 세션을 브릿지에서 호스팅합니다. 호스트 접속을 변경할 필요 없이 상단 헤더에서 세션을 즉시 전환할 수 있습니다.

ColliePWA README의 전체 기능 목록

03/대상 사용자

멀티플렉서에서 에이전트를 실행하고 자리를 비우는 개발자를 위한 도구.

ColliePWA는 단일 호스트의 터미널 창에서 여러 코딩 에이전트를 실행하는 단일 사용자를 위한 도구입니다. 기존 터미널을 대체하지 않습니다. 대기 중인 에이전트에 스마트폰으로 답변하고 본래 하던 일로 복귀할 수 있게 돕습니다.

기존 작업 환경 그대로 연결
이미 사용 중인 멀티플렉서인 Herdr, tmux, zellij에 직접 연결합니다. 새로운 세션 모델이나 에이전트 래퍼가 필요 없습니다. 1.0에서는 Herdr을 공식 지원하며, tmux와 zellij는 실험적 지원 단계입니다.
스토어 없음, 클라우드 없음, 계정 없음
Tailnet을 통해 로컬 머신에서 직접 제공되는 PWA입니다. 스토어 등록, 서비스 계정, 클라우드 요금제가 없습니다. 외부 서비스는 브라우저 푸시 알림이나 로컬 엔진 대신 선택한 클라우드 음성 변환 엔드포인트처럼 직접 켠 것만 동작합니다. 홈 화면에 추가하면 앱처럼 동작합니다.
모바일 키보드의 한계를 보완한 구성
특수 키, 방향키, 수정자 키가 키패드에 배치되어 있습니다. 자주 쓰는 빠른 응답과 슬래시 명령어는 탭 한 번으로 전송됩니다. 입력창은 일반 텍스트 필드이므로 모바일 내장 음성 인식을 바로 쓸 수 있습니다. HTTPS 환경에서 collie stt setup을 실행하면 자체 음성 입력도 활성화됩니다.
에이전트 입력 대기 알림
에이전트가 입력을 기다리거나 작업을 완료했을 때 Web Push 알림을 받을 수 있습니다. 알림을 누르면 해당 창이 바로 열립니다. HTTPS 환경 및 collie push-keys 설정이 필요합니다.
여러 머신을 하나의 URL로 연결
Pack 기능을 통해 모든 호스트를 하나의 주소로 묶고, 사전 승인된 페일오버를 브라우저에서 직접 트리거할 수 있습니다. 한 번의 확인으로 동일한 화면에서 팩 전체를 업데이트합니다.
MIT 라이선스. 기여를 환영합니다.
소스 코드는 MIT 라이선스로 GitHub에 공개되어 있습니다. tmux 및 zellij 환경의 버그 보고와 정상 동작 사례 공유를 환영합니다.

04/보안 모델

로컬 머신 권한 기반의 셸 인터페이스.

ColliePWA는 실행 사용자의 권한으로 로컬 터미널에 직접 명령을 전달합니다. 네트워크 엔드포인트에 접근 가능한 모든 클라이언트는 터미널 세션을 조회하고 임의의 셸 명령을 실행할 수 있습니다. 관리형 호스팅을 지원하지 않는 이유입니다.

로컬 에이전트 프로세스 직결
에이전트가 실행 중인 호스트 머신에서 특정 멀티플렉서 세션을 미러링합니다. 1.0 기준 Herdr이 완전히 검증되었습니다. tmux와 zellij 지원은 실험 단계이며 추가 검증이 필요합니다. 외부 관리 서버, 클라우드 연동, 별도 계정 시스템은 없습니다.
루프백 바인딩 및 진입점 제한
0.0.0.0 바인딩을 금지하고 루프백 인터페이스에만 바인딩합니다. tailscale serve 또는 사용자 정의 리버스 프록시 등 인증된 진입점 하나만 노출해야 합니다. Tailscale Funnel 등 공용 노출은 권장하지 않습니다.
디바이스 단위 인증
진입점 계층은 연결된 기기 식별만 검증하며 사용자 신원을 인증하지 않습니다. ColliePWA 자체 로그인 및 비밀번호 체계가 없으므로 기기 잠금 해제 상태에 유의해야 합니다.
로컬 호스트 사용자 접근 범위
멀티플렉서 소켓은 파일 시스템 권한을 통해 로컬 다중 사용자를 격리합니다. 반면 ColliePWA는 로컬 TCP 포트를 청취하므로 다른 로컬 프로세스가 접근할 수 있습니다. 진입점 ACL 및 Tailscale의 COLLIE_TRUSTED_USER 설정을 통해 접근 범위를 제한하십시오.

전체 소스는 MIT 라이선스로 공개되어 있습니다. 구동 전 반드시 보안 가이드를 확인하십시오.

05/설치 가이드

원라인 스크립트 실행 또는 소스 직접 빌드.

ColliePWA는 에이전트가 구동되는 호스트 머신에 직접 설치합니다. 설치 스크립트는 타깃 플랫폼 바이너리를 내려받아 무결성을 검증합니다. 소스 빌드 시 git과 Bun이 필요하며, 공식 빌드가 제공되지 않는 환경에서 사용합니다. 두 방식 모두 바이너리를 PATH에 등록하며, 서비스를 자동으로 시작하지 않습니다.

$ curl -fsSL https://colliepwa.dev/install.sh | sh

단일 POSIX sh 스크립트입니다. sudo 권한을 요구하지 않고, 백그라운드 서비스를 등록하지 않으며, ~/.local/share/collie~/.local/bin 경로 외에는 쓰기 작업을 수행하지 않습니다. 플랫폼에 맞는 최신 릴리스를 내려받아 공개된 sha256 해시와 대조 검증 후 설치를 진행합니다. 검증 실패 시 설치가 중단됩니다. 기존 버전과 병렬로 저장 후 실행 바이너리를 PATH에 링크합니다. curl, tar, sha256 도구만 요구하며 별도의 컴파일 툴체인은 필요 없습니다.

제공되는 URL은 미러 엔드포인트입니다. 원본 스크립트는 ColliePWA 저장소의 scripts/install.sh에 있습니다. 스크립트 내용을 먼저 검토한 후 아래 명령을 실행하십시오.

$ curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | less
$ curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | sh

추후 collie update 명령으로 다음 릴리스를 동일한 방식으로 검증 및 적용할 수 있습니다. 기존 버전은 로컬 디스크에 유지되므로 collie update --rollback으로 즉시 롤백 가능합니다. 바이너리 설치에만 적용되는 기능이며, 소스 빌드는 git 풀 방식으로 갱신되어 이전 바이너리 롤백을 지원하지 않습니다.

2026-08-31 기준 scripts/install.sh (커밋 2ded11d)에서 생성됨.

마지막 단계: 실행합니다.

# one step left. It asks which multiplexer to mirror — herdr, tmux or
# zellij — and writes your answer to ~/.config/collie/.env, creating it.
$ collie start

설정은 선택 사항이며, start가 생성하는 ~/.config/collie/.env 파일에서 관리합니다. 기본값을 변경해야 한다면 해당 파일에서 COLLIE_TRUSTED_USER 및 포트나 프런트도어를 지정합니다.

출력된 URL을 동일 네트워크에 연결된 모바일 브라우저로 엽니다. PWA 홈 화면 추가를 지원합니다.

사설 네트워크 접근 경로 설정 필요. ColliePWA는 루프백 인터페이스에만 바인딩되며 공용 인터넷에 노출되지 않습니다. 호스트 접근을 위해 터널링 레이어가 필요합니다. Tailscale 사용이 권장 구성입니다. collie start 실행 시 tailscale serve를 구성하여 기기 간 접근 가능한 MagicDNS 도메인을 제공합니다. 오버레이 메시, VPN 터널, 루프백 앞단의 리버스 프록시도 구성 가능하며 세부 설정은 DEPLOYMENT.md에 기술되어 있습니다. ColliePWA는 단일 운영자 전용으로 설계되었으며, 다중 사용자 및 공개 모드는 지원하지 않습니다.

요구 사양, 설치 방식 비교 및 초기 실행 출력 안내