MadoHub Docs

Companion

MadoHub iOS 앱을 Mac과 페어링하여 로컬 네트워크에서 캔버스를 미러링합니다.

Companion은 로컬 Wi-Fi를 통해 MadoHub 캔버스를 iOS 앱으로 미러링합니다. 자리에서 벗어나도 폰으로 에이전트를 지켜볼 수 있고, 키보드로 돌아오지 않고도 간단한 키 입력을 보내거나 플로우를 시작할 수 있습니다.

이는 클라우드 릴레이가 아닌 LAN 미러입니다. 캔버스, 에이전트, 터미널 출력 그 어느 것도 MadoHub 서버를 거치지 않습니다. Mac이 로컬 네트워크에서 작은 서버를 실행하고 폰이 직접 연결하며, 두 기기가 같은 Wi-Fi에 있는 한 동기화 상태를 유지합니다.

할 수 있는 일

  • 폰에서 캔버스 보기 — 모든 프레임, 타일, 에이전트 상태, 활동 라인, 그리고 최근 터미널 출력의 끝부분을 읽기 전용으로 볼 수 있습니다.
  • 타일을 열어 전체 터미널 내용 읽기 — 폰은 데스크톱과 동일한 타일 상태(유휴, 작업 중, 대기 중, 중지됨, 완료됨, 실패함, 종료됨)를 보여줍니다.
  • 타일에 키 입력 보내기 — 자유 텍스트와 함께 escape, ctrl-c, enter를 특수 키로 보낼 수 있으며, 로컬에서 직접 입력한 것과 동일하게 전달됩니다.
  • 폰에서 터미널이나 프레임 생성 — 데스크톱 뷰포트 중앙에 새 터미널을 띄우거나, 경로로 워크스페이스 프레임을 열 수 있습니다.
  • 원격으로 플로우 실행 — 폰에서 작업 프롬프트와 함께 Flow를 인스턴스화하면 데스크톱이 실행을 시작합니다.
  • 페어링 토큰 재설정 — 폰을 분실하거나 처음부터 다시 시작하고 싶을 때 설정에서 모든 페어링된 기기를 즉시 무효화할 수 있습니다.

사용 방법

  1. Mac에서 설정 → 일반을 열고 Companion을 활성화합니다.
  2. 설정 패널에 Mac의 로컬 IP와 포트(예: 192.168.1.23:9280), 페어링 토큰, 폰으로 복사할 수 있는 madohub://companion?… 링크가 표시됩니다.
  3. 폰에서 링크를 엽니다(또는 iOS 앱에 주소와 토큰을 직접 입력합니다).
  4. 폰이 페어링되고 캔버스 미러링을 시작합니다. 설정에 현재 연결된 기기 수가 표시됩니다.
  5. 폰에서 타일을 탭하여 내용을 읽거나, 타일에 입력을 보내거나, 메뉴로 터미널 생성, 프레임 열기, 플로우 실행을 할 수 있습니다.

모든 페어링을 해제하려면 설정에서 reset token을 클릭하세요. 모든 페어링된 기기가 즉시 무효화됩니다. 서버가 실행 중이면 새 토큰으로 다시 시작됩니다.

일반적인 사용 사례

  • "소파에서 오래 걸리는 에이전트 지켜보기" — 폰을 열어 타일 상태와 최근 출력을 확인하고, 엉뚱한 방향으로 가면 ctrl-c를 보냅니다.
  • "자리로 돌아가지 않고 동료 리뷰 플로우 시작" — 폰에서 작업 프롬프트와 함께 Peer review 플로우를 실행합니다.
  • "방 건너편에서 권한 프롬프트 승인" — 타일을 탭하고 y나 enter를 보내 에이전트를 차단 해제합니다.

팁과 모범 사례

  • 두 기기 모두 같은 Wi-Fi에 연결되어 있어야 합니다. Companion은 인터넷이나 서브넷이 다른 환경에서는 작동하지 않습니다.
  • 캔버스 미러는 읽기 전용입니다 — 타일을 보고 입력을 보낼 수는 있지만, 폰에서 타일을 드래그하거나 연결을 다시 이을 수는 없습니다.
  • 페어링된 폰을 분실했거나 네트워크를 바꿨다면 토큰을 재설정하세요. 새 토큰은 이전의 모든 페어링을 즉시 무효화합니다.
  • 서버는 먼저 9280 포트를 시도하고 사용 중이면 9299까지 올라가며, 머신마다 실제 포트가 다를 수 있습니다 — 추측하지 말고 설정에서 링크를 복사하세요.

보안과 프라이버시

  • LAN 전용, 클라우드 릴레이 없음. 캔버스, 에이전트, 터미널 출력은 로컬 네트워크에 머무르며, 그 어느 것도 MadoHub 서버를 거치지 않습니다.
  • 페어링은 토큰 + challenge-response를 사용, 모든 요청에 bearer 토큰을 쓰지 않음. 토큰 자체는 네트워크를 통과하지 않습니다. 연결마다 새로운 challenge에 대한 salted 응답만 전달되므로, 가로챈 응답을 이후 연결에 재사용할 수 없습니다.
  • 토큰 없이는 아무도 쓰기를 할 수 없습니다. 같은 Wi-Fi의 수동 관찰자는 미러 트래픽을 읽을 수 있지만(TLS는 아직 없습니다), 자신만의 인증된 세션을 열거나 토큰 없이 입력을 주입할 수는 없습니다.
  • 서버는 적대적인 LAN에 대해 스스로를 보호 — 최대 64개의 동시 연결만 허용하며, 60초 동안 응답이 없는 인증된 클라이언트는 연결 슬롯을 무한정 점유하지 못하도록 끊어냅니다.

관련 기능

  • Flows — 폰에서 원격으로 플로우를 실행합니다.
  • Settings — Companion을 활성화하고 토큰을 재설정하는 곳입니다.
  • Team Collaboration — 자신의 캔버스가 아닌 팀원을 모니터링합니다.

제한 사항

  • Companion은 두 기기 모두 같은 로컬 Wi-Fi에 있어야 합니다. LAN 외부(인터넷) 사용은 아직 지원되지 않습니다.
  • 연결에 TLS가 없습니다. 같은 LAN의 수동 관찰자가 미러 트래픽을 읽을 수 있으며, 능동적 중간자 공격은 아직 다루지 않습니다.
  • 캔버스 미러는 읽기 전용입니다 — 폰에서 타일을 드래그하거나 연결을 다시 이을 수 없습니다.
  • Companion은 현재 Mac 호스트가 필요합니다. Windows 호스트는 아직 지원되지 않습니다.

On this page