運作架構說明
了解手機、Tailscale 通道與 Mac mini 三者之間的關係,有助於後續所有設定步驟的判斷。
Mac mini 是常駐伺服器,AI agent 在它上面執行作業,包括讀寫檔案、執行指令、修改程式碼與跑測試。手機不執行 AI 運算,它只是輸入與輸出的介面:將指令送至 Mac mini,再顯示輸出結果或待確認事項。運算資源與本機檔案始終保留在 Mac mini 上。
此架構有三個直接影響:第一,程式碼不會上傳至雲端,安全與合規邊界比純雲端工具明確;第二,只要 Mac mini 未進入睡眠、網路連通、session 保持活躍,便可從任何地點重新接入;第三,遠端操控的核心問題有兩個:如何安全地連線至該機器,以及如何讓 session 在斷線後繼續存活。
四種工具的遙控方式比較
四個工具的手機遙控方式各不相同。下表說明各工具的定位與對應的遠端操控路徑。
| 工具 | 它是什麼 | 手機遙控方式 | 上手難度 |
|---|---|---|---|
| Claude Code | Anthropic 的終端機編碼 agent,跑在你機器上、對你的本機檔案動工。 | 內建 Remote Control(2026 年 2 月起,research preview,全方案可用)。用官方 Claude App 或 claude.ai/code 直接遙控同一個本機 session。 | ★ 最簡單 |
| Codex | OpenAI 的編碼 agent,有 CLI、IDE 外掛與 macOS App 三種形態。 | 手機端 整合進 ChatGPT App(2026 年 5 月起,preview)。關鍵雷區:手機設定只能從 Codex Mac App 發起,不能從 CLI 或 IDE 外掛設定。 | ★★ 有眉角 |
| Hermes Agent | Nous Research 的自架自主 agent,模型不限、會自己長出技能、記憶持久化。 | 內建訊息閘道:把 bot 接上 Telegram/Discord/Slack/WhatsApp/Signal/iMessage 等 20+ 平台,你用聊天軟體傳訊息就是下指令。 | ★★ 中等 |
| OpenClaw 🦞 | Peter Steinberger 的個人 AI 助理(前身 Clawdbot/Moltbot),本機執行、可調度其他 agent。 | 同樣走聊天頻道(WhatsApp/Telegram/iMessage…),另可用 Tailscale Serve/Funnel 開遠端 dashboard;甚至能把 Claude Code、Codex CLI 當工具來指揮。 | ★★ 中等 |
四個工具對應兩種遙控方式:Claude Code 與 Codex 採「官方原生遙控」(專用 App 加畫面同步);Hermes 與 OpenClaw 採「訊息閘道」(透過已在使用的聊天軟體傳訊給 bot)。另有一種通用的「純終端機 SSH」方案可作為底層備援,共三層,下方逐層說明。
第 0 層:基礎配置(所有方案的前提)
無論最終選擇哪種遙控方案,以下四項設定都必須先完成。手機連線失敗或 session 消失,多數情況源自這一層未正確設定。
防止睡眠、開放 SSH 連線、建立 VPN 網路、設定持久 session
1禁止 Mac mini 睡著
Mac mini 進入睡眠後,所有背景 session 會終止。在「系統設定 → 能源(Energy Saver)」關閉自動休眠,勾選「防止電腦自動進入睡眠」。臨時可用指令:
# 讓機器在這個指令存在期間都不睡(含磁碟與顯示器)
caffeinate -dimsu
2打開 Remote Login(SSH)
「系統設定 → 一般 → 共享(Sharing)→ 遠端登入(Remote Login)」打開。這是所有純終端機方案、以及 Tailscale SSH 的前提。
3裝 Tailscale,建立私有 mesh 網路
Tailscale 透過 WireGuard 在裝置之間建立私有 mesh 網路,每台機器取得固定的 100.x.x.x IP,在家庭網路、公司網路或行動網路下均可連線,且不需要對公網開放任何 port。手機端安裝同一個 Tailscale 並登入同一帳號即可。
# 在 Mac mini 上
brew install tailscale # 或從 Mac App Store 裝 GUI 版
sudo tailscale up --ssh # --ssh 讓你免管金鑰、用 Tailscale 身分登入
tailscale ip # 記下這個 100.x 的 IP
4裝 tmux,讓 session 不會隨斷線而死
手機鎖屏、網路中斷或 SSH 連線斷開時,若未使用 tmux,進行中的 agent 工作會隨之終止。tmux 將 session 保持在背景執行,重新連線後可接回原有畫面與工作狀態。
brew install tmux
tmux new -s agent # 開一個叫 agent 的 session
# 在裡面啟動 claude / codex / hermes …
# 要離開但不關掉:按 Ctrl+B 再按 D(detach)
tmux attach -t agent # 下次重連,接回原本的畫面
tmux ls # 列出所有還活著的 session
不要將 Mac mini 的 SSH port 直接轉發至公網,也不要長期使用 ngrok 對外暴露服務。將所有連線限制在 Tailscale 私有網路內。手機可連到的服務,洩漏憑證後攻擊者同樣可連到。
第 1 層:官方原生遙控
Claude Code 與 Codex 提供各自的官方遙控方案,透過專用 App 實現畫面同步與推播通知,不需額外設定命令列網路。
用 Claude App 連接本機 session
Anthropic 於 2026 年 2 月推出 Remote Control。Session 全程在 Mac mini 上執行,手機或瀏覽器作為額外的輸入與輸出介面,本機檔案、設定與 MCP server 均保留在機器上。指令、輸出與工具動作會在所有裝置間即時同步。
1在 Mac mini 上開啟遠端
三種啟動方式擇一:
claude remote-control # 伺服器模式
claude --remote-control # (或 --rc)開一個已開遠端的互動 session
# 或在既有 session 裡輸入斜線指令:
/remote-control # 會把目前 session 連同對話歷史轉成可遠端
啟動後終端機會顯示 session URL,按空白鍵可叫出 QR code 讓手機快速連入。建議先用 /rename 給 session 取個好認的名字。
2手機端接上
- 還沒裝 App?在 Claude Code 裡輸入
/mobile,會跳出 iOS/Android 下載用的 QR code。 - 用同一個帳號與組織登入 Claude App 或 claude.ai/code。
- 在 Code 分頁就會看到你的「Remote Control Session (Mac)」,線上時會顯示一個帶綠點的電腦圖示。
- 之後在終端機、瀏覽器、手機三邊輸入指令可以交替混用,對話保持同步。
3打開推播,不用一直盯著
遠端啟用後,Claude 可在「長任務跑完」或「需要你做決定」時推播到手機。你也能在 prompt 裡直接要求,例如「跑完測試通知我」。設定方式:手機裝好 App、在終端機 /config 把「Push when Claude decides」打開。注意推播需要 Claude Code v2.1.110 以上,而且要先開過一次手機 App 讓它註冊 push token。
有幾個斜線指令只能在本機終端機使用,手機端用不了:/mcp、/plugin、/resume(它們都會開互動式選單,需要終端機)。另外,一台機器同時只能跑一個遠端 session。Team/Enterprise 方案預設關閉,需管理員先在 admin 設定打開。
Codex 手機遙控設定與注意事項
OpenAI 於 2026 年 5 月 14 日在 ChatGPT 手機 App(iOS/Android,preview,含 Free/Go 在內全方案)加入 Codex 遠端遙控功能。連線後手機載入主機即時狀態,可接續既有對話、檢視輸出、批准指令、切換模型,或開始新任務。
Mac mini 上執行的是 Codex CLI,但依官方文件說明,手機遙控設定無法從 CLI 或 IDE 外掛發起,必須使用 Codex macOS App 作為 host 進行設定。因此需在同一台 Mac mini 上另外安裝 Codex Mac App 來啟用遠端,或改用第 2、3 層的訊息閘道或 SSH 方式操控 Codex CLI。
1在 Mac mini 裝/更新 Codex Mac App
- 更新 macOS 上的 Codex App,以及手機上的 ChatGPT App。
- 用同一個帳號與 workspace 登入;若是 ChatGPT workspace,管理員可能要先開啟 Remote Control 權限。
2掃 QR 配對
- 在 Codex App 側邊欄選「Set up Codex mobile」,它會顯示一個 QR code。
- 用手機 ChatGPT App 掃描,完成配對。主機要保持清醒、在線、登入同帳號。
Windows 作為 host 的手機遙控功能截至 2026 年 5 月尚未上線。若只使用 Codex CLI 且不想另裝 Mac App,可直接採用第 3 層的 SSH + tmux 方式:連線後執行 tmux attach 再輸入 codex。
第 2 層:訊息閘道 Agent
Hermes 與 OpenClaw 不使用專用遙控 App,而是將 agent 接上聊天平台,透過 Telegram、WhatsApp 或 iMessage 等既有工具發送指令,支援文字與語音輸入。
將 agent 接上聊天平台作為操控介面
Hermes Agent 是模型不限的自架自主 agent,可將成功的工作流程儲存為可重用技能,記憶與 session 持久化存於 SQLite。Gateway 支援 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、iMessage(透過 BlueBubbles)等 20 個以上平台,各平台共用同一個 agent 實例與 session 路由。
1裝起來、選好模型與後端
# 安裝後設定(檔案都放在 ~/.hermes 底下)
hermes config set model anthropic/claude-opus-4.6
hermes config set terminal.backend ssh # local / docker / ssh 等多種後端
hermes --tui # 推薦的現代 TUI 介面
Hermes 需要至少 64K context 的模型才能撐住多步驟工具呼叫。它的 SSH/本機後端會保留 shell 狀態(cd、環境變數、alias 在同一 session 內持續有效),還內建 cron 排程,能把結果推到任一平台。
2接上一個聊天平台當遙控入口
- 以 Telegram 為例:在 BotFather 取得 token,填進 Hermes 的 gateway 設定,啟動 gateway。
- 之後在手機上對這個 bot 傳文字(或語音 note,Hermes 支援語音)就等於下指令。
- 它跑在 Mac mini 上、留在 Tailscale 私網內,安全邊界由你掌握。
Hermes 的定位是常駐背景的通用助理,而非 IDE 內的編碼工具。常見組合方式:Claude Code 負責程式碼作業,Hermes 處理其餘事項(監控、排程、跨平台通知),兩者分工互補。
本機個人助理,可編排其他 agent
OpenClaw(前身 Clawdbot/Moltbot)是在本機裝置執行的個人 AI 助理。透過已在使用的訊息頻道回應指令,支援 WhatsApp、Telegram、Slack、Discord、iMessage、Signal 等平台。控制平面為本機 gateway(ws://127.0.0.1:18789)。
1引導式安裝
openclaw onboard # 一步步帶你設定 gateway、workspace、頻道、技能
2從手機遠端接觸的兩條路
- 聊天頻道:接好 Telegram/WhatsApp/iMessage 等,直接傳訊息即可(最貼近「隨手指揮」)。
- Tailscale Serve/Funnel:把 gateway dashboard 與 WebChat 經 Tailscale 安全地暴露,手機瀏覽器就能開。
3作為調度層使用
OpenClaw 的社群設定(如 TechNickAI 的 openclaw-config)可加入持久記憶、技能與自主排程工作流,並有 /fleet 指令從一台主機管理多台遠端 OpenClaw。進階用法是將 Claude Code、Codex CLI 等作為可呼叫工具納入編排,由 OpenClaw 統一接受指令後調度多個 agent 執行。
多數 OpenClaw 進階設定(含 openclaw-config)預設機器上已安裝並執行 Claude Code。實務上常見的分工方式是:OpenClaw 作為對話入口與調度層,Claude Code 或 Codex 負責實際執行作業。
第 3 層:純終端機 SSH 備援方案
SSH 加 tmux 可操控機器上的任何工具,包括以上四個 agent。當官方 App 或閘道方案無法使用時,此方法始終可行。
手機終端機透過 Tailscale 連線,接回既有 session
操作流程:在手機安裝 SSH 或 mosh 終端機 App,透過 Tailscale 連至 Mac mini,執行 tmux attach 接回預先開啟的 session,再輸入 claude、codex 或 hermes。tmux 確保手機鎖屏或連線中斷不影響 session 內的工作。
1手機端挑一個終端機 App
- Termius:跨平台,介面友善,設定流程簡單。
- Blink Shell:iOS 終端機選項,支援 mosh,斷線重連穩定。
- Moshi:為 Claude Code 與 CLI agent 設計,內建 mosh 與 tmux 整合,提供專屬的 Ctrl+B 按鈕與 tmux 快捷面板。
2連線並接回 session
# 從手機終端機,透過 Tailscale IP 連入
ssh your-user@100.x.x.x
# 接回先前開好的 agent session
tmux attach -t agent
# 直接在裡面啟動/續用任一 agent
claude # Claude Code
codex # Codex CLI
hermes --tui # Hermes
此方法的優點是通用性:只要工具可在終端機執行,不論有無官方手機 App 或遠端功能,均可透過 SSH 操控。代價是手機打字及純文字介面的限制,因此通常作為備援方案,日常使用仍以原生 App 或聊天 bot 為主。
方案選擇依據
依使用情境選擇對應方案,各方案並不互斥,可依需求組合使用。
Claude Code Remote Control
需要畫面同步與推播通知,不想額外設定網路。透過官方 Claude App 直接遙控本機 session。
Codex(透過 Mac App + ChatGPT)
已重度使用 Codex,可在 Mac mini 額外安裝 Codex Mac App。注意:手機遙控設定必須從 Mac App 發起。
Hermes / OpenClaw 聊天閘道
需要透過 Telegram 或語音訊息發出指令,或需要常駐監控、排程與跨平台通知。
SSH + tmux 備援方案
官方 App 無法使用、需操控無手機介面的工具,或需要最大操控彈性時使用。
常見組合:底層統一使用 Tailscale 加 tmux;日常開發使用 Claude Code Remote Control;外出時透過 OpenClaw 或 Hermes 聊天 bot 發送指令;遇到問題時使用 SSH 手動處理。四種方案可疊加使用,並不互斥。
社群回報的常見問題與操作建議
以下整理自 Reddit(r/ClaudeAI、r/LocalLLaMA)、Hacker News 與多位實作者公開分享的經驗,涵蓋官方文件未明確說明的常見問題與因應方式。
連線失敗或 session 消失:多數情況為 Mac 進入睡眠
Mac mini 進入睡眠後,所有背景 session 終止。先在系統設定關閉自動休眠,或以 caffeinate -dimsu 保持清醒。第二常見原因是未使用 tmux,SSH 斷線後工作即終止。
使用 Tailscale,不要開放公網 port 或長期掛 ngrok
將所有連線限制在 Tailscale 私有 mesh 網路內,手機至主機的流量端對端加密,不暴露對外 port。ngrok 可用於臨時示範,不適合作為常態遠端方案。
手機輸入:使用語音轉文字與 Quick Actions
行動端輸入效率較低。可使用系統語音轉文字;Hermes 與 OpenClaw 均支援語音訊息;將常用指令儲存為 Quick Action 或 snippet 一鍵發送(Moshi 與 Remote Control 等 App 提供此功能)。
遠端操作時,指令需具體說明細節
透過手機操控時不易即時介入修正。建議將任務描述得足夠具體,例如說明使用哪套驗證方式、需要哪些頁面、保護哪條路由,而非籠統下指令(如「加個登入」)。並將大型功能拆分為較小的步驟分次執行。
Codex CLI 與 Codex App 的手機遙控設定不同
手機遠端設定只能從 Codex macOS App 發起,CLI 與 IDE 外掛無法啟動此流程。若僅安裝 CLI 卻無法建立手機連線,需補裝 Mac App,或改用 SSH 或閘道方式操控 CLI。
啟用推播,在 prompt 中指明完成後通知
Claude Code 在長任務完成或需要確認時可發送推播通知,也可在 prompt 中直接指示「跑完測試通知我」。啟用推播後可離開畫面進行其他事務。需要 v2.1.110 以上版本,且需先開啟手機 App 完成 push token 註冊。
設定信任指令白名單,但不建議在伺服器上全面停用權限確認
可為信任的指令設定 allowlist 或自動批准(Hermes 具備可學習偏好的批准系統)以減少手動確認次數。在 24 小時運行且可存取所有本機檔案的伺服器上,應謹慎使用停用所有權限確認的選項,高風險作業建議改用 Docker 後端隔離執行。
各工具的建議職責劃分
Claude Code 負責程式碼作業(IDE 整合、大 context 工作);Hermes 或 OpenClaw 作為常駐助理與調度層(監控、排程、跨平台通知、語音輸入);SSH 作為備援方案。各方案疊加使用,而非擇一。
快速參考:基礎配置指令
在 Mac mini 上完成以下設定後,四種遙控方案均可在此基礎上運作。
① Mac mini 地基(跑一次)
# 工具
brew install tmux tailscale
# 私有網路(記下印出的 100.x IP)
sudo tailscale up --ssh
tailscale ip
# 系統設定手動處理兩件事:
# 能源 → 防止自動睡眠
# 一般 → 共享 → 遠端登入(SSH)打開
# 開一個常駐 session 養著 agent
tmux new -s agent
② 各 agent 的遙控開關
# Claude Code:開遠端,手機/瀏覽器接管
claude --remote-control # 或於 session 內 /remote-control;/mobile 取得 App QR
# Codex CLI:直接互動;手機原生遙控需另裝 Codex Mac App 設定
codex
# Hermes:接聊天平台當入口
hermes --tui
# OpenClaw:引導式設定頻道與技能
openclaw onboard
③ 外出時,從手機接回
ssh your-user@100.x.x.x
tmux attach -t agent # 接回畫面,繼續工作
上面指令以一般情境為例,實際路徑、版本與選項請以各工具當下的官方文件為準(Remote Control、Codex mobile 都還在 preview,介面與流程仍在調整)。涉及帳號登入、權限授權的步驟,務必由你本人在裝置上親自完成。