본문 바로가기
ColliePWA

02/Documentation

tmux 또는 Herdr에서 Claude Code를 실행하고 휴대폰에서 제어하기

SSH 연결이 끊겨도 Claude Code를 tmux 또는 Herdr에서 계속 실행합니다. 푸시 알림과 함께 휴대폰에서 세션을 관리하고, 프롬프트를 승인하고, Esc 또는 Ctrl을 입력합니다.

SSH 연결이 끊기면 Claude Code도 함께 종료됩니다. 휴대폰 터미널 키보드에는 Esc 및 Ctrl 키가 없습니다. 한 시간 뒤에 돌아와 보면 Claude Code는 승인 대기 프롬프트 상태로 줄곧 멈춰 있습니다.

이 가이드는 세 가지 문제를 모두 해결합니다. 연결이 끊겨도 유지되도록 Claude Code를 tmux 또는 Herdr에서 실행합니다. 그런 다음 Collie를 추가하여 대기 중인 세션을 휴대폰 최상단에 배치하고 필요한 특수 키를 제공합니다.

tmux에서 Claude Code 계속 실행하기

tmux 세션 내부에서 Claude Code를 시작합니다. 연결이 끊겨도 호스트에서 계속 실행됩니다.

tmux new -s claude       # start a session named claude
claude                   # run Claude Code inside it

Ctrl+b 누른 뒤 d 키로 분리합니다. 나중에 다른 머신에서 로그인하여 다시 연결합니다:

tmux attach -t claude

SSH 로그인이 아니라 tmux 서버가 세션을 소유하므로 연결이 끊겨도 Claude Code가 중지되지 않습니다. 호스트의 세션 목록을 확인하려면 tmux ls 명령을 실행합니다.

Herdr

Herdr는 코딩 에이전트를 위해 구축된 터미널 워크스페이스 관리자입니다. 동일한 방식으로 동작합니다.

curl -fsSL https://herdr.dev/install.sh | sh    # or: brew install herdr
herdr                                           # start Herdr, or reattach to it
claude                                          # in the pane Herdr opens

Ctrl+b 누른 뒤 q 키로 분리하거나 터미널을 닫습니다. Herdr 서버가 창과 Claude Code를 계속 실행합니다. 다시 연결하려면 herdr 명령을 다시 실행합니다.

zellij

zellij -s claude 실행 후 claude 시작하고, Ctrl o 누른 뒤 d 키로 분리하며, zellij attach claude 명령으로 다시 연결합니다. Collie는 하나의 zellij 세션만 미러링합니다. zellij 관련 참고 사항 항목을 참고하십시오.

여러 Claude Code 세션 동시에 실행하기

두 에이전트가 동일한 파일을 수정하지 않도록 각 세션에 전용 창과 체크아웃을 할당합니다.

# a second checkout, on its own branch
git worktree add ~/src/app-review -b review
tmux new-window -t claude -n review -c ~/src/app-review
claude                                     # in the new window

tmux 내부에서 창을 열려면 Ctrl+b 누른 뒤 c 키를 누르고, 창 목록을 보려면 Ctrl+b 누른 뒤 w 키를 누릅니다. 창을 좌우로 분할하려면 Ctrl+b 누른 뒤 % 키를 누르고, 상하로 분할하려면 Ctrl+b 누른 뒤 " 키를 누릅니다.

Herdr에서는 Herdr 실행 중에 각 에이전트마다 전용 워크스페이스를 지정합니다:

herdr workspace create --label review --cwd ~/src/app-review

여러 세션을 실행하면 입력 대기 프롬프트도 여러 개 발생합니다. Collie는 입력이 필요한 창을 대시보드 상단에 배치하고, 나머지 창은 워크스페이스별로 그룹화합니다. 행을 길게 누르면 해당 창이 상단에 고정됩니다. tmux 및 zellij에서 이 정렬 기능을 사용하려면 3단계의 beacon 훅이 필요합니다.

Collie를 사용하여 휴대폰에서 제어하기

Collie는 호스트에서 실행되며 Herdr, tmux 또는 zellij 창을 휴대폰 브라우저로 미러링합니다. Codex, OpenCode 및 기타 모든 터미널 에이전트에도 동일한 단계가 적용됩니다. 창 내부의 명령만 바뀝니다.

참고. Collie는 설계상 머신에 대한 원격 셸 접근을 제공합니다. 설치하기 전에 보안 문서를 읽으십시오.
  • Claude Code는 호스트의 Herdr, tmux 또는 zellij 창에서 실행됩니다. 휴대폰에서는 에이전트 코드가 실행되지 않습니다.
  • 휴대폰은 tailnet을 통해 브라우저에서 Collie를 엽니다. 대시보드에 창 목록이 표시되며 대기 세션이 먼저 나타납니다.
  • 출력을 확인하고, 응답을 제출하며, Keys 트레이에서 Esc, Tab, 화살표 또는 보조 키를 전송합니다. SSH 클라이언트는 필요하지 않습니다.
  • 에이전트에 입력이 필요할 때 선택 사양인 푸시 알림으로 안내받습니다.

준비물

  • Claude Code가 설치된 Linux 또는 macOS 호스트.
  • 터미널 멀티플렉서: Herdr, tmux 또는 zellij. Herdr는 에이전트를 직접 감지합니다. tmux 및 zellij의 경우 Collie는 beacon 훅을 사용하며, 이는 Linux가 필요합니다.
  • 호스트와 휴대폰에 Tailscale이 설치되어 있어야 하며 tailnet에 HTTPS가 활성화되어 있어야 합니다. 다른 구성은 배포 항목을 참고하십시오.
  • iPhone 또는 Android 휴대폰.

1. Collie 설치

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

Herdr에서는 플러그인을 직접 설치할 수 있습니다: herdr plugin install AltanS/collie. 설치에서 두 가지 방법을 모두 다룹니다.

2. 실행

collie start

처음 실행하면 Herdr, tmux, zellij가 있는지 확인한 다음 선택 항목을 .env에 기록합니다. tailscale serve을 시작하고 tailnet URL을 출력합니다. 시작을 참고하십시오.

3. 창(pane)에서 Claude Code 실행

Herdr에서는 창을 열고 claude을 실행합니다. Herdr가 해당 창을 Collie에 에이전트로 표시합니다.

tmux 또는 zellij에서는 호스트당 한 번 비컨 훅을 설치합니다. 이를 통해 Collie가 일반 셸과 에이전트를 구분할 수 있습니다. 다음으로 Collie가 미러링하는 세션에서 윈도우나 탭을 연 다음 Claude Code를 실행합니다:

collie hooks install claude    # once per host, Linux only
tmux new-window -n claude      # or: zellij action new-tab --name claude
claude

COLLIE_MUX_ENDPOINT_TMUX을 설정하지 않으면 Collie는 기본 tmux 서버를 미러링합니다. 위의 claude 세션이 자동으로 나타납니다.

실행 중인 Claude Code 인스턴스는 설정을 자동으로 다시 로드하지 않습니다. 훅을 설치한 후 Claude Code를 다시 시작하십시오. Collie는 Claude 자체 설정에 훅을 작성합니다을 참고하십시오.

4. 스마트폰에서 열기

호스트에서 collie qr을 실행하여 코드를 스캔하거나 collie url의 링크를 엽니다. 스마트폰을 동일한 tailnet에 유지하십시오.

  1. 스마트폰을 페어링합니다. 호스트에서 collie pair을 실행하고 QR 코드를 스캔합니다. 페어링하면 스마트폰에 창에 대한 쓰기 권한이 부여됩니다(기기 페어링).
  2. 홈 화면에 추가합니다. Android에서는 설정 상단의 설치을 탭합니다. iPhone에서는 Safari의 공유 시트를 탭합니다.

5. Claude Code에 응답

  • 대시보드는 입력이 필요한 창을 맨 위로 정렬합니다. 창을 탭하여 엽니다.
  • 입력창은 표준 텍스트 필드를 사용하므로 스마트폰 받아쓰기가 작동합니다.
  • 키보드 위의 액션 행에서 키을 탭합니다. 트레이에는 Esc, 화살표 키, Enter, Tab, Space, 보조 키, 숫자 및 F1~F12가 포함됩니다. Esc 및 Ctrl 조합 키는 스마트폰 키보드에 구애받지 않습니다.
  • Claude Code 버튼은 같은 행에 배치되어 있습니다: Model, Effort, Compact, Resume. 설정을 참고하십시오.

6. 알림 받기(선택 사항)

collie push-keys     # writes the VAPID keys to your .env
collie restart

스마트폰의 Collie 설정에서 알림을 켭니다. 입력 필요은 기본적으로 활성화되어 있습니다. iPhone에서는 먼저 Collie를 홈 화면에 설치하십시오. Safari는 홈 화면 웹 앱으로 Web Push를 제한합니다. Web Push을 참고하십시오.

스마트폰에서 Claude Code에 접근하는 다른 방법

  • Claude Code Remote Control은 Claude 앱 또는 claude.ai/code를 컴퓨터의 Claude Code 세션에 연결하며, 해당 트래픽은 Anthropic API를 통과합니다(Anthropic 문서). 반면 Collie는 터미널 창을 미러링하므로 멀티플렉서의 모든 에이전트와 작동하며 tailnet에 유지됩니다.
  • Termius, Moshi, Termux와 같은 SSH 앱은 전체 터미널을 노출합니다. 작동은 하지만 모바일 키보드의 터미널 컨트롤은 다루기 불편합니다. Esc, Ctrl 및 화살표 키를 사용하려면 별도의 우회 방법이 필요합니다.

GitHub에서 이 페이지 수정하기

The rest of the documentation