反向連線,不需公網 IP
電腦上的轉接器只會主動對外連線——不需公網 IP、連接埠對應或通道。任何防火牆或公司網路都能運作。
tunnelbox 把 opencode、Claude Code、Codex、DeepSeek Harness、OpenClaw、Hermes、Cursor、CodeBuddy、Kimi Code、TraeCode 與 Qoder 通通裝進你的口袋——即時觀看串流輸出、派發任務、審批高風險操作。不需公網 IP,也不需連接埠轉送。
$ opencode serve --print-logs
[tunnelbox] 正在連線中繼 wss://relay.tunnelbox.top …
[tunnelbox] 配對碼:8F3K-9Q2Z (10 分鐘內有效)
[tunnelbox] 用手機掃描 QR Code 開始:
└ 或是在手機上開啟 tunnelbox App 手動輸入配對碼
[tunnelbox] ✓ 代理已註冊 agentID: opencode-main
[tunnelbox] ✓ 等待手機連線 …▍
核心功能
在 CLI / headless 代理生態之上,加上一層統一的遠端閘道——工作階段、串流、權限與命令全部正規化為單一協定。
電腦上的轉接器只會主動對外連線——不需公網 IP、連接埠對應或通道。任何防火牆或公司網路都能運作。
同時執行 opencode、Claude Code、Codex 等多個代理。各自獨立配對與連線;在手機上隨時切換,甚至能讓不同代理比較同一項任務。
在執行 bash 或編輯檔案前,權限請求會即時推送到手機上的卡片——允許 / 拒絕 / 永遠允許,一鍵完成。任何危險操作都不會自動放行。
終端機會印出 QR Code 與配對碼。在 tunnelbox App 中選擇「掃描配對」即可立即連線;配對碼為一次性,10 分鐘後失效。
工作階段清單 / 串流輸出 / 權限審批 / 斜線命令全部正規化為單一協定——手機端完全不必知道背後是哪個代理。
中繼只做無狀態轉送,不儲存任何對話內容。傳輸全程 TLS。重視隱私的使用者可自行架設中繼,完全掌握資料。
支援的代理
每個代理都對應一個轉接器,將其工作階段 / 串流 / 權限正規化為統一的遠端協定——中繼與手機端完全無感。
| 代理 | 轉接器 | 類型 | 狀態 |
|---|---|---|---|
| O opencode | 行程內外掛(@tunnelbox/opencode) | A | ✅ MVP · 已實作 |
| DS DeepSeek Harness (dsh) | 原生 Cordis 外掛(@tunnelbox/dsh-tunnelbox) | B | ✅ 已實作 |
| CC Claude Code | claude-agent-sdk 橋接(獨立行程) | B | ✅ 已實作 |
| CX Codex | codex app-server 橋接(獨立行程) | B | ✅ 已實作 |
| OW OpenClaw | 官方 Gateway operator WS · 閘道 ≥ 2026.6.11 | B | ✅ 已實作 · 已測試(6.35 / 9.4) |
| HM Hermes | hermes chat -Q -q oneshot 橋接(含原生外掛) | B | ✅ 已實作 |
| CS Cursor | Cursor CLI agent acp(獨立行程) | B | ✅ 已實作 |
| CB CodeBuddy | CodeBuddy CLI codebuddy --acp(獨立行程) | B | ✅ 已實作 |
| K Kimi Code | Kimi Code CLI kimi acp(獨立行程) | B | ✅ 已實作 |
| T TraeCode | TraeCode CLI traecli acp serve(獨立行程) | B | ✅ 已實作 · 實驗性 · 待端對端測試 |
| Q Qoder | Qoder CLI qoder --acp(獨立行程) | B | ✅ 已實作 |
A 行程內外掛 · 在代理伺服器行程內執行;B CLI / headless 橋接 · 由獨立連接器行程驅動非互動模式。支援同類型多個執行個體(opencode1 / opencode2…)。
運作原理
為代理生態打造的統一遠端閘道:手機連上中繼,電腦上的轉接器反向連回——訊息雙向流通。
Android · iOS App
雲端伺服器 · 可自行架設
代理轉接器
反向連線可自然穿透 NAT 與防火牆——公司網路與宿舍環境都能順利運作,不需公網 IP 或通道服務。
成本低且易於擴充。節點為無狀態、斷線會自動重連;工作階段資料永遠只存在你電腦上的代理本機儲存空間。
首次掃描後會取得工作階段權杖,之後自動重連。設定 MySQL 後,中繼重新啟動也不需重新配對。
下載
從官方網站下載 tunnelbox App(Android 與 iOS 皆已提供)。掃描 QR Code 或點選下方按鈕。
掃描下載 App
教學
所有代理都走同一條路:在電腦安裝轉接器 → 用手機掃描 → 開始。下方安裝手冊提供每個代理的逐步命令——一鍵即可複製。
安裝並執行對應代理的轉接器(命令見下方「安裝手冊」)。啟動後,終端機會印出 QR Code + 配對碼。
從官方網站下載並安裝 tunnelbox App(Android 與 iOS),然後登入。
點選「掃描配對」並對準終端機的 QR Code 即可自動連線——也可手動輸入配對碼。配對完成後,代理會出現在首頁清單中。
開啟代理聊天頁面:以分頁切換 / 建立工作階段、傳送提示詞、即時觀看串流輸出、在卡片上審批高風險操作,並可隨時按下「停止」。
在下方選擇你的代理,逐步照著做——每道命令都有一鍵複製按鈕。
先安裝 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 應會顯示版本號。
// opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@tunnelbox/opencode"]
}--print-logs);外掛會連上中繼並印出 QR Code 與配對碼。在 opencode 內也可以要求「顯示手機配對碼」,或隨時輸入 /pair,直接在聊天中取得配對碼與可掃描的 QR Code。opencode serve --print-logs✅ 當終端機顯示 [tunnelbox] QR Code 時即完成——用手機掃描即可配對。
使用官方中繼不需任何設定。若要使用自己的中繼,可設定 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 與語言)。同一台電腦可執行多個轉接器——各自獨立配對,手機上點一下即可切換。
先安裝 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 帳號登入。
# no repo clone needed
npm install -g @tunnelbox/claude-codetunnelbox-claude-code✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例:
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。
codex app-server 子命令先安裝 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 可用)。
# no repo clone needed
npm install -g @tunnelbox/codextunnelbox-codex✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例:
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)。
$DSH_HOME/.credentials.yaml,預設為 ~/.dsh)先安裝 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 key(儲存於 $DSH_HOME/.credentials.yaml)。
dsh plugin --profile tunnelbox add @tunnelbox/dsh-tunnelbox
dsh --profile tunnelbox --dump-config # verify the tunnelbox-dsh layerdsh --profile tunnelbox✅ 出現 QR Code 即完成。模型 / 工作目錄可在 profile 的 cordis.yml 中設定。
全部為選用。profile 設定範例(cordis.patch.yml):
- id: tunnelbox-dsh
config:
relayUrl: 'wss://relay.tunnelbox.top'
model: 'deepseek-v4-flash'
cwd: 'D:/workspace/project'審批遵循 dsh 的 approval / sandbox-policy(預設 workspace-write + ask)——高風險操作會推送到你的手機。可用不同的 DSH_HOME 執行多個執行個體。
先安裝 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 正在運作時即完成。
# no repo clone needed
npm install -g @tunnelbox/openclaw轉接器會自動從 ~/.openclaw/openclaw.json 讀取你的 Gateway 權杖(或 TUNNELBOX_OPENCLAW_TOKEN)。若你的 Gateway 改為要求裝置審批,請審批一次:
openclaw devices list # note the requestId
openclaw devices approve <requestId>tunnelbox-openclaw✅ 裝置審批通過後會出現 QR Code——用手機掃描即可配對。
全部為選用。常見範例:
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 則會將這類提示呈現為審批或純文字。
hermes setup 時設定)先安裝 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" 有回應時即完成。
# no repo clone needed
npm install -g @tunnelbox/hermestunnelbox-hermes✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例:
TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_HERMES_MODEL="anthropic/claude-sonnet-4" \
tunnelbox-hermes注意:此 headless 轉接器不提供手機審批;危險操作由 hermes 本身的安全策略控管(fail-closed)。工作階段會延續真實的 Hermes 工作階段(第一輪後會自動探索 id)。互動式工作階段的審批 / 提問流程位於 Hermes 官方原生外掛(native-plugin/)。
先安裝 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" 正常輸出時即完成(headless 使用由 Cursor 計費)。
# no repo clone needed
npm install -g @tunnelbox/cursortunnelbox-cursor✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例(plan 模式 + 允許編輯檔案):
TUNNELBOX_RELAY_URL=wss://relay.tunnelbox.top \
TUNNELBOX_CURSOR_MODE=plan \
TUNNELBOX_CURSOR_FORCE=1 \
tunnelbox-cursor無法進行手機審批(Cursor hooks 僅支援 IDE / Cloud agent;headless 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。
先安裝 CodeBuddy CLI 本體(npm 全域安裝):
# install the CodeBuddy CLI
npm install -g @tencent-ai/codebuddy-code
# first login (or use CODEBUDDY_API_KEY)
codebuddy當 codebuddy --version 顯示版本時即完成;首次執行需要登入。
# no repo clone needed
npm install -g @tunnelbox/codebuddytunnelbox-codebuddy✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例(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)。
先安裝 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。
# no repo clone needed
npm install -g @tunnelbox/kimitunnelbox-kimi✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例(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。
先依官方文件安裝 TraeCode CLI 本體,然後登入:
# see https://docs.trae.cn/cli_what-is-trae-cli
traecli login當 traecli --version 可執行且 traecli login 成功時即完成。
# no repo clone needed
npm install -g @tunnelbox/traetunnelbox-trae✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例(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 模式(請注意額度)。
先安裝 Qoder CLI 本體(npm),然後登入:
# install Qoder CLI
npm install -g @qoder-ai/qodercli
# log in (or set QODER_PERSONAL_ACCESS_TOKEN)
qoder login當 qoder --version 顯示版本且已登入時即完成。
# no repo clone needed
npm install -g @tunnelbox/qodertunnelbox-qoder✅ 出現 QR Code 即完成——用手機掃描即可配對。
全部為選用。常見範例(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。
plugin/ 下各轉接器的 README。docker compose up -d 一行指令即可部署中繼(可選用 MySQL 持久化)。nginx.conf 範本提供反向代理 HTTPS;設定 NATS_URL 即可擴充至多節點。常見問題
可以。你電腦上的轉接器只會發出對外 WebSocket 連線(反向連線)。不需公網 IP、連接埠轉送或通道;它能穿透 NAT 與防火牆,因此公司網路也能正常運作。
中繼只做無狀態轉送,且不儲存任何對話內容。傳輸全程 TLS;配對碼為一次性且 10 分鐘後失效;工作階段權杖以 SHA-256 雜湊儲存。重視隱私的使用者可自行架設中繼,讓資料留在自己的伺服器上。
只存在你電腦上代理的本機儲存空間。當你開啟工作階段時,App 會即時向你的電腦取得紀錄;電腦關機或外掛離線時便無法取得。中繼不進行雲端同步或備份——這是刻意採取的隱私優先、低成本取捨。
支援 opencode、Claude Code、Codex、DeepSeek Harness、OpenClaw、Hermes 與 Cursor,且同類型允許多個執行個體(例如 opencode1 / opencode2)。各自獨立配對與連線——可從手機清單切換,或讓不同代理執行同一項任務以並排比較。
是的。當呼叫 bash 或編輯檔案等工具時,請求會依各代理原生的 ask / 審批模型推送到你的手機——只有在你允許或拒絕後才會執行。你也可以為某個工具選擇「永遠允許」(僅限本次工作階段)。
免費且開源(請見儲存庫中的 LICENSE)。中繼可自行架設:Docker / docker compose 一行指令即可部署,透過 nginx 反向代理提供 HTTPS,支援 MySQL 持久化與 NATS 多節點擴充。Android / iOS App 可於官方網站取得。
tunnelbox 以手機遠端控制為核心:中繼反向連線加上原生 Android / iOS App,讓你隨時隨地遙控電腦上的多個 CLI 代理。統一的協定、無狀態中繼與易於自行架設的特性,讓你在單一機器上輕鬆執行與管理多個代理。
在電腦安裝轉接器,拿出手機掃描。你的所有代理,隨時待命。