오픈 소스 · 스마트폰으로 CLI AI 에이전트 제어

AI 에이전트를
어디든 함께 가지고 다니세요

tunnelbox는 opencode (1.x / 2.x), Claude Code, Codex, DeepSeek Harness, OpenClaw, Hermes, Cursor, CodeBuddy, Kimi Code, TraeCode, Qoder를 주머니 속에 담아줍니다——스트리밍 출력 확인, 작업 전송, 위험한 작업 승인까지. 공인 IP도 포트 포워딩도 필요 없습니다.

macOS · Windows · Linux · 계정으로 로그인하면 끝
opencode serve

$ opencode serve --print-logs

[tunnelbox] 릴레이 wss://relay.tunnelbox.top 에 연결 중 …

[tunnelbox] 페어링 코드: 8F3K-9Q2Z (10분간 유효)

[tunnelbox] 스마트폰으로 QR을 스캔하여 시작하세요:

└ 또는 스마트폰에서 tunnelbox 앱을 열고 코드를 직접 입력하세요

[tunnelbox] ✓ 에이전트 등록됨 agentID: opencode-main

[tunnelbox] ✓ 스마트폰 연결 대기 중 …▍

방화벽과 사내 네트워크 관통 한 대의 PC에서 여러 에이전트 동시 실행 위험한 작업은 스마트폰에서 승인 스캔 한 번으로 몇 초 만에 페어링 릴레이에 내용 저장 안 함 · 프라이버시 우선

핵심 기능

하나의 리모컨으로 모든 에이전트를

CLI / 헤드리스 에이전트 생태계 위에 통합 원격 게이트웨이를——세션, 스트리밍, 권한, 명령을 하나의 프로토콜로 정규화합니다.

svg-connect

리버스 연결, 공인 IP 불필요

PC의 어댑터는 아웃바운드 연결만 수행합니다——공인 IP, 포트 매핑, 터널이 필요 없습니다. 어떤 방화벽이나 사내 네트워크에서도 작동합니다.

svg-agents

여러 에이전트, 한 대의 PC

opencode, Claude Code, Codex 등을 나란히 실행하세요. 각각 독립적으로 페어링·연결되며, 스마트폰에서 전환할 수 있고 같은 작업을 여러 에이전트로 비교할 수도 있습니다.

svg-approve

위험한 작업을 스마트폰에서 승인

bash 실행이나 파일 편집 전에 권한 요청이 스마트폰 카드로 전송됩니다——허용 / 거부 / 항상 허용을 한 번의 탭으로. 위험한 작업이 자동 승인되는 일은 없습니다.

svg-scan

QR 코드 스캔으로 페어링

터미널에 QR 코드와 페어링 코드가 출력됩니다. tunnelbox 앱의 "스캔하여 페어링"으로 즉시 연결하세요. 코드는 일회용이며 10분 후 만료됩니다.

svg-layers

하나의 프로토콜, 백엔드는 보이지 않음

세션 목록 / 스트리밍 출력 / 권한 승인 / 슬래시 명령이 모두 하나의 프로토콜로 정규화됩니다——스마트폰은 뒤에 어떤 에이전트가 있는지 알 필요가 없습니다.

svg-lock

프라이버시 우선

릴레이는 상태 비저장 전달만 하며 대화 내용을 저장하지 않습니다. 전송은 전 구간 TLS. 프라이버시를 중시하는 사용자는 릴레이를 직접 호스팅할 수 있습니다.

지원 에이전트

주요 CLI 에이전트를 모두 지원

각 에이전트는 세션 / 스트리밍 / 권한을 통합 원격 프로토콜로 정규화하는 어댑터에 대응합니다——릴레이와 스마트폰은 전혀 인식하지 못합니다.

에이전트 어댑터 유형 상태
opencode 인프로세스 플러그인 (@tunnelbox/opencode) A ✅ MVP · 구현 완료
OpenCode 2 인프로세스 V2 플러그인 (@tunnelbox/opencode2) A ✅ 구현 완료
DeepSeek Harness (dsh) 네이티브 Cordis 플러그인 (@tunnelbox/dsh-tunnelbox) B ✅ 구현 완료
Claude Code claude-agent-sdk 브리지 (별도 프로세스) B ✅ 구현 완료
Codex codex app-server 브리지 (별도 프로세스) B ✅ 구현 완료
OpenClaw 공식 Gateway operator WS · Gateway ≥ 2026.6.11 B ✅ 구현 완료 · 테스트 완료 (6.35 / 9.4)
Hermes hermes chat -Q -q oneshot 브리지 (+ 네이티브 플러그인) B ✅ 구현 완료
Cursor Cursor CLI agent acp (별도 프로세스) B ✅ 구현 완료
CodeBuddy CodeBuddy CLI codebuddy --acp (별도 프로세스) B ✅ 구현 완료
Kimi Code Kimi Code CLI kimi acp (별도 프로세스) B ✅ 구현 완료
TraeCode TraeCode CLI traecli acp serve (별도 프로세스) B ✅ 구현 완료 · 실험적 · E2E 미검증
Qoder Qoder CLI qoder --acp (별도 프로세스) B ✅ 구현 완료

A 인프로세스 플러그인 · 에이전트 서버 프로세스 내부에서 실행 · B CLI / 헤드리스 브리지 · 별도 커넥터 프로세스가 비대화형 모드를 구동합니다. 동일 유형의 다중 인스턴스를 지원합니다(opencode-a / opencode-b …).

작동 방식

리버스 연결 + 상태 비저장 릴레이

에이전트 생태계를 위한 통합 원격 게이트웨이: 스마트폰은 릴레이에 연결하고, PC의 어댑터는 역방향으로 연결됩니다——메시지는 양방향으로 흐릅니다.

svg-phone

내 스마트폰

Android · iOS 앱

  • WSS로 릴레이에 연결
  • 세션 및 스트리밍 출력 열람
  • 작업 전송 / 권한 승인
svg-relay

릴레이 relay (Go)

클라우드 서버 · 직접 호스팅 가능

  • 페어링 / 인증 / 전달
  • 상태 비저장——대화 저장 안 함
  • NATS 다중 노드 수평 확장
svg-pc

내 PC

에이전트 어댑터

  • 아웃바운드 연결(아웃바운드 WS)
  • opencode 1.x / 2.x: 인프로세스 플러그인
  • 기타: CLI / SDK 브리지
어댑터가 아웃바운드로 연결

리버스 연결은 NAT와 방화벽을 자연스럽게 관통합니다——사내 네트워크와 기숙사 환경에서도 잘 작동하며, 공인 IP나 터널 서비스가 필요 없습니다.

릴레이는 전달만 담당

비용이 낮고 확장이 쉽습니다. 노드는 상태 비저장이며 자동으로 재연결되고, 세션 데이터는 항상 PC의 에이전트 로컬 저장소에만 존재합니다.

한 번 페어링으로 계속 사용

첫 스캔 후 세션 토큰을 받아 자동으로 재연결됩니다. MySQL을 설정하면 릴레이를 재시작해도 다시 페어링할 필요가 없습니다.

다운로드

지금 바로 시작하세요

공식 웹사이트에서 tunnelbox 앱을 다운로드하세요(Android · iOS 모두 제공). QR 코드를 스캔하거나 아래 버튼을 누르세요.

스캔하여 앱 다운로드

Android · iOS

tunnelbox 앱

네이티브 모바일 앱: 스캔 페어링, 원격 세션, 스트리밍 출력, 위험 작업 승인, 푸시 알림.

튜토리얼

세 단계로 페어링하고 바로 출발하세요

모든 에이전트는 같은 경로를 따릅니다: PC에 어댑터 설치 → 스마트폰으로 스캔 → 시작. 아래 설치 매뉴얼은 각 에이전트별 단계별 명령을 제공합니다——클릭 한 번으로 복사하세요.

1

1단계 · PC에서 에이전트 어댑터 실행

사용할 에이전트의 어댑터를 설치하고 실행하세요(명령은 아래 "설치 매뉴얼" 참고). 실행되면 터미널에 QR 코드 + 페어링 코드가 출력됩니다.

2

2단계 · 스마트폰에 tunnelbox 앱 설치 및 열기

공식 웹사이트에서 tunnelbox 앱(Android · iOS)을 다운로드하여 설치하고 로그인하세요.

3

3단계 · 스캔하여 페어링

"스캔하여 페어링"을 누르고 터미널의 QR 코드를 비추면 자동으로 연결됩니다——또는 페어링 코드를 직접 입력하세요. 페어링이 완료되면 에이전트가 홈 목록에 나타납니다.

4

4단계 · 원격 조작 시작

에이전트 채팅 페이지를 여세요: 탭으로 세션 전환 / 생성, 프롬프트 전송, 스트리밍 출력 실시간 확인, 카드에서 위험 작업 승인, 언제든 "중지"를 누르세요.

에이전트별 설치 매뉴얼

아래에서 에이전트를 선택하고 단계를 차례로 따라 하세요——모든 명령에 클릭 한 번 복사 버튼이 있습니다.

사전 요구 사항

  • 권장 환경: macOS / Linux / Windows (WSL)
  • Node를 별도로 설치할 필요 없음——opencode는 Bun 런타임을 내장하고 플러그인이 그 안에서 실행됩니다

OpenCode 2.x를 사용 중인가요? V2는 새로운 플러그인 API를 사용합니다. OpenCode 2 탭으로 전환하세요.

opencode 설치(공식)

먼저 opencode 본체를 설치하세요(macOS / Linux는 공식 원라이너, Windows는 WSL 또는 Chocolatey / Scoop):

# macOS / Linux (official one-line installer)
curl -fsSL https://opencode.ai/install | bash

# Windows (PowerShell): Chocolatey / Scoop / WSL
choco install opencode

설치 후 opencode --version이 버전을 출력하면 성공입니다.

설치 단계

1opencode.json의 plugin 배열에 npm 패키지 추가(첫 시작 시 자동 설치)
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@tunnelbox/opencode"]
}

실행 및 페어링

2opencode를 재시작하세요(--print-logs 권장). 플러그인이 릴레이에 연결되어 QR 코드와 페어링 코드를 출력합니다. opencode 안에서 "휴대폰 페어링 코드 표시"를 요청하거나 언제든 /pair를 입력하면 채팅에서 페어링 코드와 스캔 가능한 QR을 바로 받을 수 있습니다.
opencode serve --print-logs

✅ 터미널에 [tunnelbox] QR 코드가 표시되면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

공식 릴레이를 사용하면 설정이 필요 없습니다. 자체 릴레이를 사용하려면 TUNNELBOX_RELAY_URL 환경 변수를 설정하거나 opencode.json의 객체 형식으로 options.relayUrl을 전달하세요:

// opencode.json (custom relay)
{
  "plugin": [{ "package": "@tunnelbox/opencode", "options": { "relayUrl": "wss://relay.tunnelbox.top" } }]
}

상태는 ~/.tunnelbox/remote-state.json에 저장됩니다(에이전트 ID와 언어만). 한 대의 PC에서 여러 어댑터를 실행할 수 있으며 각각 독립적으로 페어링되고 스마트폰에서 한 번의 탭으로 전환할 수 있습니다.

사전 요구 사항

  • OpenCode 2.x 설치됨 (opencode --version이 2.x 표시)
  • 아직 opencode 1.x를 사용 중인가요? opencode 탭을 사용하세요. OpenCode 2는 새로운 플러그인 API를 사용합니다

OpenCode 2 설치 (공식)

OpenCode 2는 별도의 메이저 버전입니다. 공식 설치 방법:

# macOS / Linux (공식 원라이너)
curl -fsSL https://opencode.ai/v2/install | bash

# npm (macOS / Linux / Windows)
npm install -g @opencode/cli

# Homebrew
brew install anomalyco/tap/opencode-v2

OpenCode 2는 Windows 패키지 관리자(Chocolatey / Scoop)를 지원하지 않습니다. npm 또는 독립 실행 바이너리를 사용하세요.

tunnelbox 어댑터 설치

1opencode.json(c)의 plugins 배열에 npm 패키지를 추가합니다 (첫 실행 시 자동 설치)
// opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "plugins": ["@tunnelbox/opencode2"]
}

실행 및 페어링

2OpenCode를 재시작합니다 (백그라운드 서비스로 실행 중이면 opencode service restart). 그런 다음 아무 세션에서 /pair를 입력하거나 모델이 tunnelbox_pair 도구를 호출하게 하면 페어링 코드와 QR 코드를 받을 수 있습니다.
opencode serve

OpenCode 2의 플러그인은 보통 공유 백그라운드 서비스에서 실행되므로 TUI 터미널에 QR 코드가 표시되지 않을 수 있습니다. /pair는 항상 사용할 수 있습니다.

✅ QR 코드가 표시되면 성공입니다. 휴대폰으로 스캔해 페어링하세요.

선택 설정 및 팁

공식 릴레이 연결에는 설정이 필요 없습니다. 사용자 지정 릴레이를 쓰려면 TUNNELBOX_RELAY_URL을 설정하거나 객체 형식으로 options.relayUrl을 전달하세요:

// opencode.jsonc (사용자 지정 릴레이)
{
  "plugins": [{ "package": "@tunnelbox/opencode2", "options": { "relayUrl": "wss://relay.tunnelbox.top" } }]
}

상태 파일은 ~/.tunnelbox/remote-state.json에 저장됩니다. 1.x 어댑터(@tunnelbox/opencode)와 이 2.x 어댑터는 같은 PC에서 별행 실행되며 각각 독립적으로 페어링됩니다.

사전 요구 사항

  • Node.js ≥ 22 (tunnelbox 어댑터 필요)
  • 유료 Claude 플랜(Pro / Max / Team) 또는 Anthropic Console API 키

Claude Code 설치(공식)

먼저 Claude Code 본체를 설치하세요(공식 네이티브 설치 프로그램——자동 업데이트, 추가 런타임 불필요):

# macOS / Linux / WSL (official native installer)
curl -fsSL https://claude.ai/install.sh | bash

# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

설치 후 claude --version이 작동하면 성공입니다. 첫 실행 시 유료 Claude 계정으로 로그인하세요.

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/claude-code

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다. 스마트폰에는 Claude SDK가 필요 없습니다.
tunnelbox-claude-code

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CWD=D:/workspace/project \
TUNNELBOX_CLAUDE_MODE=plan \
tunnelbox-claude-code

도구 승인은 기본적으로 스마트폰으로 전송됩니다(허용 / 거부 / 항상 허용). 연결이 끊기거나 120초가 초과되면 자동으로 거부됩니다(fail-closed)——자동 승인되지 않습니다. 모드: default / plan / acceptEdits / bypassPermissions.

사전 요구 사항

  • Node.js ≥ 22
  • OpenAI 계정(ChatGPT Plus / Pro 또는 플랫폼 API 키)과 codex app-server 하위 명령을 지원하는 Codex CLI

Codex CLI 설치(공식)

먼저 Codex CLI 본체를 설치하세요(공식 설치 프로그램 또는 npm):

# macOS / Linux (official installer)
curl -fsSL https://chatgpt.com/codex/install.sh | sh

# Windows PowerShell
irm https://chatgpt.com/codex/install.ps1 | iex

# or Node: npm install -g @openai/codex
npm install -g @openai/codex

codex --version으로 확인한 뒤 codex login으로 로그인하세요. 어댑터 자체 점검: tunnelbox-codex --check(codex app-server 사용 가능 여부 확인).

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/codex

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다.
tunnelbox-codex

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CODEX_SANDBOX=workspace-write \
tunnelbox-codex

# optional: TUNNELBOX_CODEX_APPSERVER_ARGS="--stdio"

승인과 선택은 네이티브입니다: codex가 도구 승인 요청과 객관식 질문을 스마트폰으로 바로 보내며(허용 / 거부, 옵션 선택), 추론 과정은 실시간 스트리밍됩니다. 연결 끊김 / 시간 초과는 자동 거부(fail-closed)입니다. 허용 범위는 여전히 TUNNELBOX_CODEX_SANDBOX에 따릅니다(read-only / workspace-write / danger-full-access).

사전 요구 사항

  • Node.js ^22.19 또는 >=24
  • DeepSeek API 키(dsh 자격 증명은 $DSH_HOME/.credentials.yaml, 기본값 ~/.dsh)

DeepSeek Harness 설치(공식)

먼저 dsh 본체를 설치하세요(DeepSeek 공식 npm 패키지, Node.js ^22.19 또는 >=24 필요):

# Install dsh globally (official package)
npm install -g @deepseek-ai/dsh

# or try instantly: npx @deepseek-ai/dsh web

설치 후 dsh --version이 작동하면 성공입니다. 처음 사용할 때 DeepSeek API 키를 설정하세요($DSH_HOME/.credentials.yaml에 저장).

설치 단계

1npm에서 dsh profile로 설치(1회, 저장소 클론 불필요)
dsh plugin --profile tunnelbox add @tunnelbox/dsh-tunnelbox
dsh --profile tunnelbox --dump-config   # verify the tunnelbox-dsh layer

실행 및 페어링

2harness와 플러그인을 시작하세요. 터미널에 QR 코드와 페어링 코드가 출력됩니다:
dsh --profile tunnelbox

✅ QR 코드가 나타나면 완료. 모델 / 작업 디렉터리는 profile의 cordis.yml에서 설정할 수 있습니다.

선택 설정 및 팁

모두 선택 사항입니다. profile 설정 예시(cordis.patch.yml):

- id: tunnelbox-dsh
  config:
    relayUrl: 'wss://relay.tunnelbox.top'
    model: 'deepseek-flash'
    cwd: 'D:/workspace/project'

승인은 dsh의 approval / sandbox-policy를 따릅니다(기본 workspace-write + ask)——위험한 작업은 스마트폰으로 전송됩니다. 여러 인스턴스를 실행하려면 서로 다른 DSH_HOME을 설정하세요.

사전 요구 사항

  • Node.js ≥ 22.19
  • 로컬 OpenClaw Gateway ≥ 2026.6.11(protocol v4) 실행 가능——구 라인(< 2026.9.1)과 신 라인(≥ 2026.9.1) 모두 지원(런타임 기능 감지)

OpenClaw 설치(공식)

먼저 OpenClaw를 설치하고(공식 설치 프로그램) onboard 마법사를 완료하세요:

# macOS / Linux (official installer)
curl -fsSL https://openclaw.ai/install.sh | bash

# Windows PowerShell
iwr -useb https://openclaw.ai/install.ps1 | iex

# finish the setup wizard after install
openclaw onboard

openclaw가 작동하고 Gateway가 실행 중이면 준비 완료입니다.

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/openclaw
2Gateway 인증(보통 자동)

어댑터는 ~/.openclaw/openclaw.json에서 Gateway 토큰을 자동으로 읽습니다(또는 TUNNELBOX_OPENCLAW_TOKEN). Gateway가 대신 기기 승인을 요구하면 한 번 승인하세요:

openclaw devices list              # note the requestId
openclaw devices approve <requestId>

실행 및 페어링

3어댑터를 시작하세요(로컬 Gateway에 연결). 기기가 승인되면 터미널에 tunnelbox QR 코드가 출력됩니다:
tunnelbox-openclaw

✅ 기기를 승인하면 QR 코드가 나타납니다——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_OPENCLAW_GATEWAY_URL=ws://127.0.0.1:18789 \
tunnelbox-openclaw

세션 삭제는 Gateway를 통해 완전 삭제됩니다(sessions.delete, operator.admin 필요). 어댑터는 gateway.auth.token / password를 자동 검색합니다(설정, 환경 변수, 실행 중인 Gateway 프로세스 또는 2026.9.1 이후 자격 증명 파일). TUNNELBOX_OPENCLAW_TOKEN으로 재정의, --check-gateway-auth로 확인, --save-token으로 저장, TUNNELBOX_OPENCLAW_AUTOSTART=start|install로 Gateway 자동 시작이 가능합니다. 승인(exec/plugin)과 도구 카드(명령 인수 포함)는 스마트폰으로 전송됩니다. 대화형 선택 / 질문 카드는 Gateway ≥ 2026.7(question.*)이 필요하며, 구버전 Gateway는 이러한 프롬프트를 승인 또는 일반 텍스트로 표시합니다.

사전 요구 사항

  • Node.js ≥ 22
  • Hermes 계정 / 모델 API 키(hermes setup 시 설정)

Hermes Agent 설치(공식)

먼저 Hermes Agent를 설치하고(공식 설치 프로그램) 설정을 마치세요:

# official installer
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# finish setup after install
hermes setup

hermes chat -Q -q "hi"가 응답하면 준비 완료입니다.

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/hermes

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다.
tunnelbox-hermes

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예:

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_HERMES_MODEL="anthropic/claude-sonnet-4" \
tunnelbox-hermes

참고: 이 헤드리스 어댑터는 스마트폰 승인을 제공하지 않습니다. 위험한 작업은 hermes 자체 보안 정책으로 제어됩니다(fail-closed). 세션은 실제 Hermes 세션으로 이어집니다(첫 턴 후 id 자동 검색). 대화형 세션의 승인 / 질문 흐름은 Hermes 공식 네이티브 플러그인(native-plugin/)에 있습니다.

사전 요구 사항

  • Node.js ≥ 22
  • Cursor 계정(헤드리스 사용은 Cursor 플랜으로 과금됨)

Cursor CLI 설치(공식)

먼저 Cursor CLI 본체를 설치하세요(공식 설치 프로그램):

# macOS / Linux (official installer)
curl https://cursor.com/install -fsS | bash

# Windows PowerShell
irm 'https://cursor.com/install?win32=true' | iex

agent -p "hello"가 정상 출력되면 준비 완료입니다(헤드리스 사용은 Cursor 과금 대상).

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/cursor

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다. 헤드리스 사용은 Cursor 과금 대상——플랜에 포함되어 있는지 확인하세요.
tunnelbox-cursor

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예(plan 모드 + 파일 편집 허용):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CURSOR_MODE=plan \
TUNNELBOX_CURSOR_FORCE=1 \
tunnelbox-cursor

스마트폰 승인은 불가능합니다(Cursor hooks는 IDE / Cloud agent 전용이며, 헤드리스 agent -p에는 외부 승인 릴레이가 없음). 또한 print 모드는 사고 과정을 억제합니다(추론 카드 없음). 실제로 실행되는 내용은 permissions allow/deny + --force/--yolo + --sandbox로 결정됩니다. 기본은 읽기 전용(--force 없으면 에이전트는 제안만 하고 편집하지 않음). 실제로 편집하려면 TUNNELBOX_CURSOR_FORCE=1을 설정하세요. CLI가 아직 없다면 macOS / Linux는 curl https://cursor.com/install -fsS | bash, Windows는 irm 'https://cursor.com/install?win32=true' | iex.

사전 요구 사항

  • Node.js ≥ 22
  • CodeBuddy CLI 설치 및 로그인 완료(npm i -g @tencent-ai/codebuddy-code; codebuddy를 한 번 실행해 로그인하거나 CODEBUDDY_API_KEY 설정)

CodeBuddy CLI 설치(공식)

먼저 CodeBuddy CLI 본체를 설치하세요(npm 전역 설치):

# install the CodeBuddy CLI
npm install -g @tencent-ai/codebuddy-code

# first login (or use CODEBUDDY_API_KEY)
codebuddy

codebuddy --version이 버전을 출력하면 준비 완료입니다. 첫 실행에는 로그인이 필요합니다.

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/codebuddy

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다.
tunnelbox-codebuddy

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예(plan 모드):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CODEBUDDY_MODE=plan \
tunnelbox-codebuddy

codebuddy --acp(ACP)를 구동합니다. 도구 승인은 스마트폰으로 전송됩니다(허용 / 거부 / 항상 허용). 오프라인이거나 120초 시간 초과 시 자동 거부(fail-closed). 선택 / 계획 / 질문은 네이티브 ACP입니다(AskUserQuestion / ExitPlanMode / elicitation). 로그인되어 있지 않으면 codebuddy를 한 번 실행해 로그인하세요(또는 CODEBUDDY_API_KEY 설정).

사전 요구 사항

  • Node.js ≥ 22
  • Kimi Code CLI 설치 및 로그인 완료(kimi를 한 번 실행하고 /login 전송)

Kimi Code CLI 설치(공식)

먼저 Kimi Code CLI 본체를 설치하고(공식 스크립트 또는 npm) 한 번 실행하여 /login을 전송하세요:

# macOS / Linux (official installer)
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash

# Windows PowerShell
irm https://code.kimi.com/kimi-code/install.ps1 | iex

# first login
kimi   # then send /login

kimi --version이 버전을 출력하면 준비 완료입니다. 첫 실행에는 /login이 필요합니다.

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/kimi

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다.
tunnelbox-kimi

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예(plan 모드):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_KIMI_MODE=plan \
tunnelbox-kimi

kimi acp(ACP)를 구동합니다. 공식 기능 매트릭스에는 네이티브 session/list|resume|delete가 포함됩니다. 도구 승인과 질문 프롬프트는 session/request_permission을 공유하여 스마트폰으로 전송됩니다. 오프라인이거나 120초 시간 초과 시 자동 거부(fail-closed). 로그인되어 있지 않으면 kimi를 한 번 실행하고 /login을 전송하세요.

사전 요구 사항

  • Node.js ≥ 22
  • TraeCode CLI 설치 및 로그인 완료(traecli login). 참고: TraeCode CLI는 TRAE 엔터프라이즈 플래그십 플랜이 필요합니다

TraeCode CLI 설치(공식)

공식 문서에 따라 TraeCode CLI 본체를 설치한 뒤 로그인하세요:

# see https://docs.trae.cn/cli_what-is-trae-cli
traecli login

traecli --version이 작동하고 traecli login이 성공하면 준비 완료입니다.

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/trae

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다.
tunnelbox-trae

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예(auto 권한 모드):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_TRAE_PERMISSION_MODE=auto \
tunnelbox-trae

traecli acp serve(ACP)를 구동합니다. 공식 문서는 ACP 지원만 명시하고 기능 매트릭스를 공개하지 않아 이 어댑터는 실험적입니다——스트리밍 / 승인 / 선택 / 중단은 실제 CLI로 검증하세요(npm run probe). 승인은 기본적으로 fail-closed입니다. TraeCode CLI는 TRAE 엔터프라이즈 플래그십 플랜이 필요하며 기본은 Max 모드입니다(할당량 주의).

사전 요구 사항

  • Node.js ≥ 22
  • Qoder CLI 설치 및 로그인 완료(qoder login 또는 QODER_PERSONAL_ACCESS_TOKEN 설정)

Qoder CLI 설치(공식)

먼저 Qoder CLI 본체를 설치하고(npm) 로그인하세요:

# install Qoder CLI
npm install -g @qoder-ai/qodercli

# log in (or set QODER_PERSONAL_ACCESS_TOKEN)
qoder login

qoder --version이 버전을 출력하고 로그인되어 있으면 준비 완료입니다.

설치 단계

1npm으로 어댑터를 전역 설치(저장소 클론 불필요)
# no repo clone needed
npm install -g @tunnelbox/qoder

실행 및 페어링

2어댑터를 시작하세요(PC에서 상주 실행). 터미널에 QR 코드와 페어링 코드가 출력됩니다.
tunnelbox-qoder

✅ QR 코드가 나타나면 완료——스마트폰으로 스캔하여 페어링하세요.

선택 설정 및 팁

모두 선택 사항입니다. 일반적인 예(auto 권한 모드):

TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_QODER_PERMISSION_MODE=auto \
tunnelbox-qoder

qoder --acp(ACP)를 구동합니다. 도구 승인은 스마트폰으로 전송됩니다(허용 / 거부 / 항상 허용). 오프라인이거나 120초 시간 초과 시 자동 거부(fail-closed). 선택 / 계획 / 질문은 ACP 권한 채널을 통해 처리됩니다. 로그인되어 있지 않으면 qoder login을 실행하거나 QODER_PERSONAL_ACCESS_TOKEN을 설정하세요.

더 나아가기: 더 많은 에이전트와 자체 호스팅

  • 어댑터별 README:위 매뉴얼 외에도 더 깊은 아키텍처 / 프로토콜 세부 사항은 저장소의 plugin/ 아래 각 어댑터 README에 있습니다.
  • 릴레이 자체 호스팅:docker compose up -d로 릴레이를 한 명령으로 배포합니다(선택적 MySQL 영속화). nginx.conf 템플릿이 리버스 프록시 HTTPS를 제공하며, NATS_URL을 설정하면 여러 노드로 확장할 수 있습니다.

FAQ

자주 묻는 질문

PC에 공인 IP가 없습니다——사내 / 기숙사 네트워크에서 작동하나요?

네. PC의 어댑터는 아웃바운드 WebSocket 연결(리버스 연결)만 수행합니다. 공인 IP, 포트 포워딩, 터널이 필요 없으며 NAT와 방화벽을 관통하므로 사내 네트워크에서도 잘 작동합니다.

메시지가 릴레이를 통과하는데 안전한가요?

릴레이는 상태 비저장 전달만 하며 대화 내용을 저장하지 않습니다. 전송은 전 구간 TLS이며, 페어링 코드는 일회용으로 10분 후 만료되고, 세션 토큰은 SHA-256 해시로 저장됩니다. 프라이버시를 중시하는 사용자는 릴레이를 직접 호스팅하여 데이터를 자신의 서버에 둘 수 있습니다.

대화 기록은 어디에 저장되나요?

PC의 에이전트 로컬 저장소에만 저장됩니다. 세션을 열면 앱이 실시간으로 PC에서 기록을 가져옵니다. PC가 꺼져 있거나 플러그인이 오프라인이면 가져올 수 없습니다. 릴레이는 클라우드 동기화나 백업을 하지 않습니다——이는 의도적인 프라이버시 우선·저비용 절충입니다.

어떤 에이전트를 지원하나요? 여러 개를 동시에 실행할 수 있나요?

opencode (1.x / 2.x), Claude Code, Codex, DeepSeek Harness, OpenClaw, Hermes, Cursor를 지원하며 동일 유형의 다중 인스턴스(예: opencode-a / opencode-b)도 허용됩니다. 각각 독립적으로 페어링·연결되며 스마트폰 목록에서 전환하거나 같은 작업을 여러 에이전트로 나란히 비교할 수 있습니다.

위험한 작업은 항상 승인이 필요한가요?

네. bash나 파일 편집 같은 도구가 호출되면 각 에이전트의 네이티브 ask / 승인 모델에 따라 요청이 스마트폰으로 전송되며, 허용 또는 거부한 뒤에만 실행됩니다. 특정 도구에 대해 "항상 허용"을 선택할 수도 있습니다(현재 세션에 한함).

무료인가요? 자체 호스팅 / 배포가 가능한가요?

무료이자 오픈 소스입니다(저장소의 LICENSE 참고). 릴레이는 자체 호스팅할 수 있습니다: Docker / docker compose로 한 명령으로 배포하고, nginx 리버스 프록시로 HTTPS, MySQL 영속화, NATS 다중 노드 확장을 지원합니다. Android / iOS 앱은 공식 웹사이트에서 받을 수 있습니다.

AionUi 같은 제품과 무엇이 다른가요?

tunnelbox는 스마트폰 원격 제어를 중심으로 설계되었습니다: 릴레이 리버스 연결과 네이티브 Android / iOS 앱으로 PC의 여러 CLI 에이전트를 어디서든 조작할 수 있습니다. 통합 프로토콜, 상태 비저장 릴레이, 자체 호스팅 친화성 덕분에 한 대의 머신에서 여러 에이전트를 쉽게 운영·관리할 수 있습니다.

AI를 주머니에——지금 시작하세요

PC에 어댑터를 설치하고 스마트폰을 꺼내 스캔하세요. 모든 에이전트가 대기 중입니다.

시작하기 GitHub에서 스타