<div align="center">
itwillsync
로컬 네트워크를 통해 모든 터미널 기반 AI 코딩 에이전트를 휴대폰과 동기화하세요.
npm version
License: MIT
npm downloads
CI
모든 세션을 위한 단일 대시보드에 코딩 에이전트를 휴대폰으로 동기화하세요. 에이전트 독립적(Agent-agnostic)이며, 개인 정보 보호를 최우선으로 하고, 클라우드를 사용하지 않습니다 (zero cloud).
Website | Docs | Demo Video
<img src="https://raw.githubusercontent.com/shrijayan/itwillsync/HEAD/docs/assets/demo.gif" alt="itwillsync demo: running npx itwillsync claude and QR code appearing in terminal" width="700">
</div>
빠른 시작 (Quick Start)
npx itwillsync claude
npx itwillsync aider
npx itwillsync bash
설치할 필요가 없습니다. Node.js 20 이상이 필요합니다.
why itwillsync (itwillsync를 사용해야 하는 이유)
작동 방식 (How It Works)
┌─────────────────┐ ┌─────────────────┐
│ 노트북(Your Laptop) │ 로컬 WiFi / Tailscale │ 휴대폰(Your Phone) │
│ │ │ │
...
- 에이전트 명령어와 함께
itwillsync를 실행합니다.
- 터미널에 QR 코드가 나타납니다.
- 휴대폰으로 스캔하면 브라우저에서 터미널이 열립니다.
- 휴대폰, 노트북 또는 두 기기 모두에서 에이전트를 동시에 제어할 수 있습니다.
사용 시점 (When To Use It)
- Claude가 긴 리팩토링(refactor) 작업을 하는 동안 주방으로 걸어갈 때 — 휴대폰에서 진행 상황을 확인합니다.
- **다중 세션 대시보드(multi-session dashboard)**를 통해 소파에 앉아 여러 에이전트를 모니터링할 때
- 에이전트의 주의가 필요할 때 알림을 받는 경우 (BEL/OSC 신호를 자동 감지합니다).
- Tailscale을 통해 카페에서 작업하는 경우 — 같은 WiFi에 있을 필요가 없습니다.
- 동료에게 AI 에이전트의 작동 모습을 보여줄 때 — QR 코드만 공유하면 됩니다.
- 회의 중 휴대폰으로 빠르게 승인할 때
다중 세션 대시보드 (Multi-Session Dashboard)
여러 에이전트를 실행하시나요? 허브 데몬(hub daemon)이 모든 세션을 한 곳에서 관리합니다.
┌─────────────────────────────────────┐
│ itwillsync 대시보드 │
│ │
...
- 세션 카드는 에이전트 이름, 작업 디렉터리(working directory), 상태, 가동 시간(uptime)을 보여줍니다.
- WebSocket을 통한 실시간 업데이트를 제공합니다.
- 카드를 탭하여 전체 터미널을 열 수 있습니다.
- 주의 감지 기능은 에이전트가 입력을 필요로 할 때 경고합니다.
- 절전 방지(Sleep prevention) 기능은 장시간 작업 동안 기기가 깨어 있도록 유지합니다.
호환성 (Works With)
Claude Code, Aider, Goose, Codex, Cline, Copilot CLI 등 또는 모든 터미널 기반 도구와 작동합니다.
npx itwillsync claude
npx itwillsync aider
npx itwillsync goose
...
만약 그것이 터미널에서 실행된다면, itwillsync가 동기화할 수 있습니다.
연결 모드 (Connection Modes)
| 모드(Mode) | 명령어(Command) | 조건 |
|---|
| Local WiFi (기본값) | npx itwillsync claude | 휴대폰이 동일 네트워크에 연결된 경우 |
| ... | | |
| 처음 실행 시, 설정 마법사(setup wizard)가 네트워크를 감지하고 사용자의 환경 설정을 저장합니다. | | |
npx itwillsync claude
...
명령어 (Commands)
| 플래그(Flag) | 설명(Description) |
|---|
--port <number> | 리스닝할 포트 번호 (기본값: 7964) |
| ... | |
보안 (Security)
- 종단 간 암호화(E2E encrypted) — 모든 WebSocket 메시지는 NaCl secretbox (XSalsa20-Poly1305)로 암호화됩니다.
- 무작위 토큰(Random tokens) — 각 세션마다 암호학적으로 무작위인 64자 문자열 토큰이 생성됩니다.
- QR 코드 인증(QR code auth) — 토큰은 QR 코드 URL에 내장되어 있어 수동 입력이 필요 없습니다.
- WebSocket 인증(WebSocket auth) — 모든 연결에는 토큰이 필요합니다 (시간 상수 비교, constant-time comparison).
- 속도 제한(Rate limiting) — 5회의 인증 실패 시 해당 IP는 60초 동안 잠깁니다.
- 제로 클라우드(Zero cloud) — 데이터가 로컬 네트워크(또는 Tailscale tailnet)를 벗어나지 않습니다.
- 계정 없음(No accounts) — 가입, 원격 측정(telemetry), 추적 기능이 없습니다.
모바일 최적화 (Mobile-Optimized)
휴대폰 터미널은 단순한 미러가 아니라, 모바일을 위해 구축되었습니다:
- 터치 친화적인 추가 키 바(extra keys bar) — Ctrl, Alt, Tab, Escape, 화살표 및 기능 키를 지원합니다.
- 데스크톱에서는 WebGL 가속 렌더링을 사용하고, 모바일에서는 캔버스 폴백(canvas fallback) 방식을 사용합니다.
- 연결이 끊어지면 스크롤백 버퍼 동기화와 함께 자동 재연결(Auto-reconnect)됩니다.
- 에이전트의 주의가 필요할 때 오디오 알림을 제공합니다.
개발 (Development)
git clone https://github.com/shrijayan/itwillsync.git
cd itwillsync
nvm use
...
모노레포 구조(Monorepo structure):
packages/
├── cli/ → 메인 npm 패키지 (itwillsync)
├── web-client/ → 브라우저 터미널 (xterm.js)
...
개발 설정 및 PR 가이드라인은 CONTRIBUTING.md를 참조하십시오.
라이선스 (License)
MIT