멀티 머신 관리
클라우드와 셀프호스트
계정에 연결된 멀티 머신 관리(자신의 네트워크 밖의 머신 포함)는 Cloud 버전에서 제공됩니다. 셀프호스트 버전도 서로 직접 닿을 수 있는 여러 머신(같은 네트워크 또는 Tailscale)을 계정 없이 묶을 수 있습니다 — 아래 "계정 없이 머신 페어링 (셀프호스트)"를 참고하세요.
ADHDev Cloud를 사용하면 하나의 계정으로 단일 대시보드에서 여러 개발 머신을 관리할 수 있습니다.
제공되는 것
- 노트북, 데스크탑, 업무용 머신 또는 원격 서버를 위한 단일 대시보드
- IDE, CLI 워크플로우에 걸친 머신 인식 세션 가시성
- 실행 컨트롤, 프로바이더 설정, 로그, 세션-호스트 복구가 있는 머신 상세 페이지
- 로컬 네트워크 외부에서의 클라우드 접근
이것은 클라우드와 셀프호스트의 가장 명확한 차이 중 하나입니다. 클라우드는 계정 연결 제어 플레인입니다. 셀프호스트는 호스트 머신의 로컬 대시보드이며, 서로 닿을 수 있는 네트워크의 페어링된 머신을 받아들일 수 있습니다.
작동 방식
각 머신은 동일한 클라우드 계정에 인증된 자체 ADHDev 데몬을 실행합니다:
npm install -g adhdev
adhdev setup
adhdev daemon동일한 계정 아래 머신이 연결되면 대시보드에 함께 표시됩니다.
Repo Mesh (데몬 간 오케스트레이션)
Repo Mesh는 동일 계정의 여러 데몬을 코디네이션하여 하나의 코디네이터 세션이 여러 머신 또는 git 워크트리에 걸쳐 작업을 구동할 수 있게 합니다. node-datachannel을 통한 직접 데몬 간 P2P DataChannel로 실행되며, 클라우드 서버 WebSocket은 SDP offer/answer/ICE 시그널링만 릴레이하고 두 데몬이 동일한 계정에 속하는 것을 인증합니다. 이것은 데몬 조율입니다 — 대시보드 명령 폴백이 아닙니다. 대시보드 명령/데이터 트래픽은 여전히 대시보드↔데몬 P2P 채널만 사용합니다.
클라우드 대시보드는 Repo Mesh 페이지(/mesh)에서 Mesh를 표시합니다.
핵심 개념:
- Node — Mesh에 참여하는 워크스페이스: 에이전트가 실행할 수 있는 레포 체크아웃 또는 격리된 git 워크트리.
- Mission — 향해 작업하는 태스크를 그룹화하고 내구적 레코드로 유지되는 목표.
- Task — 노드의 에이전트가 수행하는 작업 단위로,
pending → assigned → completed/failed를 통해 이동. - Queue — 유휴 노드가 자율적으로 클레임하는 대기 태스크의 데몬 로컬 목록. 큐는 로컬 우선이고 권위가 있습니다; Cloud/D1은 가벼운 멤버십/시그널링 메타데이터만 보유합니다.
- Ledger — 노드 전체에서 이미 일어난 일의 추가 전용 Mesh 감사 로그 (히스토리, 할 일 목록 아님). 경계 있는 P2P 원장 슬라이스로 데몬 간에 조정됩니다.
- Refinery — 워크트리 브랜치를 베이스로 수렴하는 프로세스: 검증 → 머지 → 푸시 → 정리.
코디네이터 데몬이 집계 mesh_status 스냅샷을 소유합니다. 워커 세션은 코디네이터가 디스패치하며 기본적으로 자동 승인됩니다. 완료는 LLM 자체 보고가 아닌 증거 기반(git 상태/체크포인트, 원장 이벤트)입니다. Repo Mesh 도구는 Mesh 모드의 MCP 서버를 통해 코디네이터 세션에 노출됩니다 — MCP 서버를 참고하세요.
풀 그림 — 풀 기반 오케스트레이션, 워크트리 격리 레포 협업, Refinery 수렴, 교차 검증 — 은 전용 Repo Mesh 가이드를 참고하세요.
Machines
Machines 페이지는 머신 수준 개요입니다. 다음을 빠르게 볼 수 있는 곳입니다:
- 어떤 머신이 온라인인지
- 세션이 어떤 머신에 속하는지
- 연결 및 런타임 상태
- 상세히 열고 싶은 머신
머신 상세
머신을 열면 메인 대시보드보다 더 운영적인 뷰를 제공합니다:
- 현재 IDE, CLI 세션을 위한 Workspace
- 호스팅 CLI 런타임 진단 및 복구를 위한 Hosted Runtimes
- 머신/프로바이더 설정을 위한 Providers
- 머신 상태를 위한 System
- 런타임 및 데몬 로그를 위한 Logs
높은 수준의 대시보드가 문제를 알려주지만 머신별 컨텍스트가 필요할 때 사용하는 페이지입니다.
일반적인 사용 사례
멀티 머신 클라우드 설정은 특히 다음과 같은 경우에 유용합니다:
- 한 머신은 백그라운드 에이전트 작업에 유지
- 개인 및 업무 장치 분리
- 다른 곳에서 실행 중인 세션에 대한 모바일 승인 원할 때
- 물리적으로 사용하지 않는 머신의 CLI 런타임 복구 필요
플랜 제한
| 플랜 | 최대 머신 |
|---|---|
| Free | 1 |
| Pro | 2 |
| Ultra | 5 |
| Enterprise | 무제한 |
머신 제한에 도달하면 하나를 제거하거나 업그레이드할 때까지 추가 머신 등록이 거부됩니다.
셀프호스트 차이점
셀프호스트는 머신들을 계정 연결 호스팅 대시보드로 통합하지 않습니다.
로컬 전용 대시보드(원하면 서로 닿을 수 있는 네트워크의 페어링된 머신 포함)를 원할 때 셀프호스트를 사용하세요. 여러 장치와 네트워크에 걸친 계정 연결 머신 가시성을 원할 때 클라우드를 사용하세요.
계정 없이 머신 페어링 (셀프호스트)
1.0.76부터(1.0.77에서 끝까지 동작하도록 수정) 무료 스탠드얼론 데몬이 여러 머신에 걸쳐 동작할 수 있습니다. 서로 직접 닿을 수 있는 머신(같은 네트워크 또는 Tailscale)은 메시 화면에서 주소와 일회용 코드로 페어링합니다. 호스트 머신이 다른 머신에 작업을 넘기고 그 세션을 보여 줍니다. 클라우드 계정이 필요 없습니다.
- 다른 머신이 닿을 수 있는 주소로 호스트를 시작합니다. 기본값은
127.0.0.1(이 머신 전용)이라 다른 머신이 연결할 수 없습니다.adhdev standalone --host 0.0.0.0 --token <some-secret>을 쓰거나 LAN 또는 Tailscale IP로 바인딩하세요. 데몬이 루프백 전용이면 페어링 카드가--host 0.0.0.0(또는 LAN/Tailscale IP)으로 다시 시작하라는 경고를 보여 줍니다. - 호스트에서 코드를 만듭니다. 메시 화면의 다른 머신 연결 카드에서 호스트 탭을 선택하고 연결 코드 만들기를 누릅니다. 카드에 주소(이 머신의 LAN 또는 Tailscale IP와 포트, 기본
3847)와 코드가 표시됩니다. 코드는 한 번만 표시되고 만료 시각이 있으며 복사로 복사할 수 있습니다. - 다른 머신에서 참가합니다. 그 머신에서 같은 저장소의 메시를 만들거나 열고, 메시 화면의 같은 카드에서 멤버 탭을 연 뒤 호스트 주소를
호스트:포트(예:100.64.0.2:3847)로, 그리고 코드를 입력하고 연결을 누릅니다. 카드에 페어링 완료가 표시되고, 연결이 올라올 때까지 연결 대기 중이 보입니다. - 호스트에서 관리합니다. 페어링된 머신은 호스트 탭의 연결된 머신에 나열되며, 연결 해제로 제거할 수 있습니다.
페어링하면 비서도 다른 머신에 호스팅된 프로젝트로 요청을 전달하고 결과를 자기 채팅으로 가져올 수 있습니다.
보안
메시 피어는 대시보드 토큰을 쓰지 않습니다. 각 머신은 /ws/mesh에서 자신의 페어링 시크릿으로 인증합니다(HMAC 핸드셰이크). 대시보드 토큰이나 비밀번호 없이 0.0.0.0에 바인딩하면 그 네트워크의 누구나 대시보드에 접근할 수 있으며, 서버가 시작할 때 경고를 출력합니다. 자세한 내용은 Standalone을 참고하세요.
클라우드 전용으로 남는 것:
- 자신의 네트워크 밖에 있는 머신에 접근하기 (클라우드 P2P와 TURN)
- 푸시 알림
- 호스팅 REST API와 API 키
- 머신 간 프로젝트 파일 전송 (스탠드얼론은 WebRTC 파일 링크를 열 수 없음)
머신 이름 지정
하나 이상의 박스가 연결되면 친근한 머신 이름이 중요해집니다.
머신 닉네임은 대시보드 전체에 나타나며 세션이 실제로 실행 중인 위치를 명확히 구분하는 데 도움이 됩니다.
