返回列表

部落格

iPhone 連不上開發電腦:區域網路與 Tactic Relay 的完整排查流程

同一 Wi-Fi、電腦顯示在線、連接埠有回應,各自能證明什麼?按最後正常的環節定位問題,保留原工作階段,並用一次小請求驗證恢復。

發布於 標籤: tactic-remote-1-11 / mobile-ai-coding / connection-diagnostics
放大鏡查看中間的連接斷點,象徵逐步排查連線。

在家裡能連線 Mac,走到咖啡店卻失敗;帳號下能看到電腦,開啟專案時一直逾時;終端機畫面能夠顯示,卻沒有新的回覆。這三種情況看起來都像連線故障,實際需要檢查的位置不同。

排查時,先找「最後正常的環節」。如果電腦根本沒在執行,就先恢復主機;如果區域網路連線失敗而已設定的 Relay 能用,就檢查區域網路;如果原工作階段有即時終端機輸出,就轉向智能體狀態。這樣每一步都有結果可判斷,也能保留正在處理的任務。

先留下現場,再動連線設定

記錄目前電腦名稱、專案和工作階段、連線方式、錯誤文字與大致時間。再看最近是否發生了網路切換、電腦睡眠、主機端更新或登入取消。

先不要移除電腦綁定、刪除工作階段或清空所有連線設定。這些操作會改變原來的授權或工作狀態,而且無法修復電腦睡眠和訪客網路隔離。一次只改變一個與現象有關的條件,再比較結果。

下面的順序適用於已有連線的定位。首次設定可先按iPhone 入門指南完成配套端與配對流程。

連線排查示意:電腦與服務執行後,分別檢查區域網路路徑或 Relay 路徑,連線成功再進入原工作階段。

兩種連線共享同一台開發電腦,但經過的網路與授權環節不同。按實際使用的路徑檢查。

第一步 確認電腦和配套服務仍在執行

電腦需要處於可以工作的狀態,配套 App 或 CLI 服務也需要執行。螢幕關閉與整機睡眠不是同一件事;電腦還在帳號列表中,也不能代替目前連線驗證。先看主機端是否有服務執行狀態、是否報錯,以及是否真的連到了預期的電腦。

在 Mac 上,可以執行以下唯讀指令檢查預設連接埠:

lsof -nP -iTCP:8765 -sTCP:LISTEN

預設連接埠是 8765;如果自己改過連接埠,使用實際設定。輸出中的 COMMAND、PID 和監聽位址,有助於判斷究竟是哪個處理程序在提供服務。

結果能說明什麼下一步
沒有輸出該檢查沒有發現此連接埠的監聽處理程序查看服務是否啟動、是否報錯,以及設定連接埠是否一致
有監聽處理程序本機有服務監聽此連接埠對照配套端狀態確認處理程序,再檢查手機到電腦的路徑
只監聽回環位址該監聽位址僅供電腦本機存取查看服務的區域網路設定;不要靠關閉認證來擴大存取
出現意外處理程序或連接埠衝突可能連線到了另一項服務確認處理程序歸屬,避免直接結束不認識的處理程序

這一步不會驗證 Tactic 身分,也不會證明手機可以存取。Mac App 和獨立 CLI 都可能使用同一個預設連接埠,排查時要明確自己啟動的是哪一個。電腦無法親自查看時,保留「主機狀態未確認」這個判斷,繼續檢查手機上能觀察到的錯誤。

第二步 區域網路連線檢查權限和實際可達性

兩台裝置顯示同一個 Wi-Fi 名稱,並不保證可以互相存取。訪客網路、企業網路隔離和 VPN 路由都可能影響連線。先在 iPhone 的「設定 → 隱私權與安全性 → 區域網路」中檢查 Tactic Remote 的存取權限;Apple 的區域網路權限說明介紹了這個入口。

然後核對電腦目前位址與 App 儲存的位址。換過路由器、從 Wi-Fi 切到有線網路,或 DHCP 分配了新位址時,原位址可能不再屬於這台電腦。以主機配套端目前顯示的位址為準,不要預設所有 Mac 的 Wi-Fi 都是 en0。

如果有另一台處在同一可信網路中的 Mac,可以對目標電腦做一次 TCP 連線檢查:

# 將範例位址替換為開發電腦的實際區域網路位址。
nc -vz -G 3 192.168.1.42 8765

這條指令只嘗試建立 TCP 連線,不傳送 Tactic 憑證或程式設計指令。-G 3 是 macOS nc 的連線逾時參數;其他系統的參數可能不同。

檢查結果如何解讀
連線成功這台測試裝置到目標連接埠可達;Tactic 認證和 iPhone 路徑仍需分別驗證
Connection refused連線請求被主動拒絕;檢查連接埠、服務、監聽設定和過濾規則。這個結果不能驗證 Tactic 身分,也不足以確認回應來自預期主機
逾時尚未收到連線回應;檢查位址、裝置隔離、路由、防火牆和主機狀態

在開發電腦上測試 127.0.0.1,只能檢查它自己。iPhone 瀏覽器裡的 127.0.0.1 則指向手機,不能用來存取 Mac。ping 不通也不足以單獨判斷服務離線,因為網路可能限制 ICMP。

需要調整防火牆時,針對實際執行的配套應用程式允許所需存取,保留認證。已有 VPN 的,可以在符合組織網路規定的前提下比較路由變化;不要把關閉全部防火牆、關閉認證或開放路由器連接埠當作常規修復方法。基礎設定見區域網路指南。

第三步 Relay 連線檢查帳號與主機狀態

離開家以後,手機無法繼續依賴家中電腦的區域網路位址。使用 Tactic Relay 時,需要確認兩端使用的是預期 Tactic 帳號,電腦已綁定,並且電腦端 Relay 正在連線服務。

按以下順序查看:

  1. 電腦是否醒著,配套端和網際網路連線是否正常。
  2. 手機與電腦是否登入了預期帳號,選擇的電腦名稱是否正確。
  3. 電腦端是否顯示 Relay 正常連線,還是正在重新連線或出現具體錯誤。
  4. 是否要求完成帳號驗證、重新登入,或完成瀏覽器到 App 的返回流程。
  5. 完成提示後,再連線該電腦並開啟專案。

Tactic 帳號登入用於主機關聯和存取授權,Claude Code 等智能體則使用開發電腦上自己的服務商帳號。帳號下能看到電腦、成功連線工作區、智能體已登入,屬於不同狀態。

1.11 修復了登入一段時間後綁定電腦可能失敗的問題。遇到驗證提示,先完成相應驗證再嘗試綁定。反覆移除與重新綁定,會增加需要確認的變化;它不應成為所有逾時問題的第一步。

已正確設定的兩種連線方式還可以作為對照:同一台電腦上,區域網路失敗而 Relay 成功時,優先看區域網路;區域網路成功而 Relay 失敗時,優先看帳號驗證、電腦端 Relay 與網際網路連線。這個對照用於縮小範圍,不能證明某一個組件一定沒有問題。

使用 Cloudflare Tunnel 時,另外核對通道位址

如果你使用的是 Cloudflare Tunnel,檢查通道處理程序、目前位址和實際服務對應。暫時通道重新啟動後,位址可能變化;儲存的舊位址不一定仍指向目前電腦。

瀏覽器能開啟一個 HTTP 頁面,也不能單獨證明 App 的 WebSocket 連線和認證都可用。保留完整錯誤,核對目前位址,再按Cloudflare Tunnel 設定指南檢查。不要把通道存取規則與 Tactic Relay 的帳號綁定混在一起修改。

第四步 回到原工作階段,驗證新的輸出

連線成功後,選擇故障前的電腦、專案和原工作階段。能列出專案,說明工作區存取已恢復;能看到原工作階段裡的即時終端機變化,說明工作階段輸出可以傳回手機。舊的歷史文字只能證明曾有記錄,不能證明目前連線正常。

如果終端機停在專案信任、服務商登入或啟動提示,轉向智能體等待處理指南。這時重複改 Wi-Fi 或重新綁定帳號,通常無法回答那個終端機提示。

若剛才傳送時斷線,先找與那條請求對應的新輸出。請求可能已到達電腦;恢復網路後不應立即把整段任務重新傳送。可以在確認工作階段閒置後,傳送範圍小的狀態查詢:

唯讀說明目前專案、已完成的工作和正在等待的事項。不要重新執行上一條任務,也不要修改檔案。

檢查目錄和結果是否與原任務一致,再決定後續操作。如果需要新建工作階段,先記錄舊工作階段的實際狀態,明確新工作階段不會自動接續全部情境。

仍然失敗時,把排查過程交給支援團隊

可以複製下面的範本,把已經知道的事實填進去;沒有驗證的項目寫「未確認」。

手機系統與 Tactic Remote 版本:
電腦系統、配套端類型與版本:
連線方式:區域網路 / Tactic Relay / Cloudflare Tunnel
開始失敗的時間與時區:
最近的變化:睡眠 / 網路切換 / 更新 / 登入 / 其他
最後正常的環節:登入 / 找到電腦 / 開啟專案 / 終端機即時輸出
完整錯誤文字:
主機端服務與 Relay 狀態:
已經檢查的項目及結果:
原工作階段是否仍可開啟:
剛才的請求是否可能已傳送:

對外分享前,移除憑證、配對 QR code、登入連結和私有終端機內容,按需要遮蓋帳號、路徑與網路位址。向支援團隊提供「區域網路連接埠可達,App 提示驗證失敗,電腦端版本為……」這樣的具體診斷,比只說「連不上」更容易定位。

恢復連線後,可對照下載頁檢查兩端版本,避免把版本不相符留到下次遠端使用時才發現。關於 1.11 的其他變化,以及手機和電腦端的更新方法,見Tactic Remote 1.11 詳解。

立即體驗 Tactic Remote

用手機遠端操作程式開發 Agent

連線到 Mac、Windows 或 Linux 電腦上的 Claude Code、Codex 等 Agent,在 iPhone 或 iPad 上查看進度並傳送下一個請求。