開源・Windows・純 PowerShell・零依賴

手機開的新對話,也能落在自己的電腦上

Claude Code 桌面版開的對話會自動出現在手機上;但反過來,手機主動開的新對話預設跑在雲端,碰不到你電腦裡的檔案、工具和設定。這個小工具補上反方向:讓你的 Windows 電腦一直掛在手機的裝置清單裡,手機開新對話就落在你自己的機器上,重開機、斷網之後也會自己回來。

貼一句話就裝好 看程式碼(MIT)

來龍去脈:為什麼會有這個東西

我很常用手機交代 Claude Code 做事。以前在電腦上開一個新的 Claude Code 對話,還得先在對話框裡打一次 /remote-control,手機才看得到那一場;電腦重開機之後,更要先用遠端桌面連回去打指令。用久了就覺得,這件事 ChatGPT 的 Codex 做得比較像人:電腦配對一次,之後不管從電腦還是手機開新視窗,兩邊都同時看得到。

後來我才發現,Claude Code 其實早就補上了一半。桌面版的設定裡有一個開關叫 Connect new sessions to Remote Control(文件上的舊名是 Enable remote control by default),打開之後,電腦上每一場新對話都會自動連上手機,不用再打指令。我這台是 8 月下旬的桌面版更新之後就開始自動連的,只是我一直照舊習慣打指令,沒感覺到差別,9 月才真的注意到。

但另一半一直沒補上:從手機上的 Claude App 主動開一個新對話,預設不是開在我的電腦上,而是開在 Anthropic 的雲端伺服器上。AI 本來就在雲端跑,差別在於那個對話碰不到我電腦裡的檔案、工具和設定,等於是另一台空機器。我這幾個月累積的參考資料、記憶、各種自動化流程,它一個都用不到。

官方其實有解法,叫伺服器模式:在電腦上跑 claude remote-control,你的電腦就會出現在手機 App 的 Devices 清單裡,可以直接在上面開新對話。問題是它當常駐服務很勉強:斷網大約 10 分鐘會自己退出,開機也不會自己啟動。所以我先寫了一支常駐程式把它包起來,自己用了一陣子;這次整理成別人也能照著裝的版本,放上 GitHub。

手機 Claude AppCode 分頁 → Devices → 你的電腦 → New session
claude.ai 中繼只轉發訊息,程式碼與檔案不經過它
你的 Windows 電腦閘道讓 claude remote-control 一直活著;對話在這裡跑、用得到本機檔案

它做什麼,不做什麼

做的事

  • 把官方的 claude remote-control 伺服器隱藏在背景跑,沒有黑色視窗
  • 它退出就自動重開,連續失敗會退避,不會瘋狂重生
  • 開機自動啟動(只放一個「啟動」資料夾捷徑,不裝服務、不建排程)
  • 伺服器連續秒退三次就寫一個告警檔,不會默默壞掉
  • 附一支 doctor:逐項告訴你哪裡不符合、怎麼修,最後真的把伺服器起來測一次

不做的事

  • 不碰 Mac/Linux,第一版只支援 Windows 10/11
  • 不需要 Python、Node、管理員權限,也不改登錄檔、不動 feature flag
  • 不取代桌面版的自動連線,那個方向官方已經做了;它只補「手機開新對話落在本機」這一段
  • 不幫你登入。你需要 claude.ai 的訂閱帳號(Pro/Max/Team),API 金鑰走不通

順便講清楚:設定在哪裡、要開哪些

想要的效果在哪裡設定備註
電腦開的對話自動出現在手機Claude 桌面版 → Settings → Claude Code → Connect new sessions to Remote Control官方文件仍寫舊名 Enable remote control by default。我的實測是 8 月下旬更新後就預設會連,開關的狀態不一定對得上
終端機(CLI)開的對話自動連手機在 Claude Code 裡打 /configEnable Remote Control for all sessions設定檔的鍵是 remoteControlAtStartup,放在使用者層級的 settings.json
手機主動開的新對話落在自己電腦上電腦上跑 claude remote-control(伺服器模式)這就是本工具負責讓它一直活著的那個程式
手機不用架東西也能交辦桌面版 Cowork 分頁的 Dispatch,手機配對一次走的是「傳任務給桌面版」,不是直接開 Code 對話;Pro/Max 限定
手機端選「電腦」不是選「GitHub 專案」。選了專案就是雲端對話,跟本機無關。

安裝:貼一句話給你的 Claude Code,它自己裝

會用這個工具的人,電腦上一定已經有 Claude Code。所以最簡單的裝法不是你打指令,是叫它裝。做完一步就打勾,勾勾會記在你的瀏覽器裡。

桌面版的 Code 分頁開一個新對話就可以,在哪個資料夾都沒關係。用終端機的人打 claude 也一樣。

請把 https://github.com/Nouischen/claude-code-phone-gateway 這個專案 clone 到 C:\Projects\claude-code-phone-gateway(沒有 C:\Projects 就先建一個),然後照它的 README 安裝:先跑 doctor.ps1,把結果給我看;有 FAIL 就停下來,用白話告訴我要怎麼修。沒有 FAIL 就跑 install.ps1,安裝名稱用「我的電腦」,把輸出給我看。最後告訴我手機上要怎麼開新對話。

接下來會發生的事:它會自己下載程式、做一輪健檢、然後安裝。中間如果它問你「可不可以執行這個指令」,按允許。大約一兩分鐘。

成功的話,它最後會回你類似這樣的內容:

[4/4] gateway running and connected: https://claude.ai/code?environment=env_...

裝好了。手機上:打開 Claude App → Code → Devices 點你的電腦 → 資料夾選 claude-code-phone-gateway → New session

整句照貼就好,一個字都不用改。句子裡的「我的電腦」只是清單上的一個顯示名稱,不影響任何功能。

如果它說健檢有 FAIL:它會把修法用白話講給你聽。照做完,跟它說「好了,再試一次」。最常見的兩種是電腦上還沒登入訂閱帳號(它會教你打 /login),以及 Claude Code 版本太舊(它會幫你更新)。
  1. 打開 Claude App,點下方的 Code
  2. 找到 Devices(裝置),點你的電腦。清單上顯示的是電腦本身的名稱,像 DESKTOP-ABC123 這種,旁邊有綠點代表在線
  3. Directory(資料夾)選 claude-code-phone-gateway,按 New session
  4. 對它說一句:列出這個資料夾裡的檔案

它回你 doctor.ps1gateway.ps1README.md 這些檔名,就代表這場對話真的跑在你的電腦上。以後在這裡開的每一場對話,都用得到電腦裡的檔案。之後電腦開機它會自己啟動,你不用再碰它。

如果 App 要你「選一個 GitHub 專案」,那是雲端對話那條路,退回去改從 Devices 裡點你的電腦。

之後想移除

一樣跟你的 Claude Code 說一句:

請到 C:\Projects\claude-code-phone-gateway 執行 install.ps1 -Uninstall 把手機閘道移除,把輸出給我看。

它回你 Uninstalled (1 process(es) stopped, none remaining) 就是移除乾淨了。紀錄檔會留著,不影響。

想自己一步一步做?不靠 Claude Code 也可以,這裡是手動版

四個步驟,每一步都告訴你貼什麼、會看到什麼。

手動 1:打開 PowerShell

按鍵盤上的 Windows 鍵,直接打 powershell,按 Enter。會跳出一個藍色或黑色的文字視窗,最後一行長得像 PS C:\Users\你的名字>,後面有一個閃爍的游標。之後的指令都是貼在這個視窗裡再按 Enter。用一般方式開就好,不用「以系統管理員身分執行」。

手動 2:把程式抓到電腦裡

按「複製」→ 回到 PowerShell 視窗 → 按一下滑鼠右鍵(在這個視窗裡,右鍵就是貼上)→ 按 Enter。

git clone https://github.com/Nouischen/claude-code-phone-gateway.git; cd claude-code-phone-gateway

會跑幾秒鐘,看到類似這樣就對了:

Cloning into 'claude-code-phone-gateway'...
remote: Enumerating objects: 30, done.
Receiving objects: 100% (30/30), done.
PS C:\Users\你的名字\claude-code-phone-gateway>

只要看最後一行:結尾是 claude-code-phone-gateway> 就代表電腦已經站在程式的資料夾裡,接下來的指令都直接貼在這個視窗。不用理解那一行是什麼意思。

出現紅字 'git' is not recognized 代表電腦沒有 Git:到 GitHub 頁面 按綠色的 CodeDownload ZIP,解壓縮後打開那個資料夾,在裡面的空白處按右鍵選「在終端機中開啟」(Windows 10 是先按住 Shift 再按右鍵,選「在此處開啟 PowerShell 視窗」),跳出來的視窗結尾是 claude-code-phone-gateway-main> 就對了,之後都用這個視窗。

手動 3:健檢

貼上、按 Enter。每一行開頭是綠色的 PASS、黃色的 WARN 或紅色的 FAIL。

powershell -NoProfile -ExecutionPolicy Bypass -File .\doctor.ps1
[PASS] Windows 10 build 26200
[PASS] PowerShell 5.1.26100.9168
[PASS] Claude Code 2.1.258
[PASS] claude.ai login found
[PASS] No ANTHROPIC_API_KEY in environment
[PASS] WorkDir C:\Users\you\claude-code-phone-gateway
[WARN] WorkDir is not yet trusted
[INFO] No startup shortcut yet
[INFO] Live probe skipped: WorkDir not trusted yet
Result: ready. 1 warning(s).

那一行黃色 WARN 是正常的,下一步會處理。只要沒有紅色 FAIL 就往下走;有 FAIL 的話,那一行底下就寫著怎麼修,修完再貼一次同一行重跑。

看到的紅字意思怎麼辦
Claude Code not found電腦上沒有 Claude Code官方安裝頁 裝好,再重跑
No claude.ai login還沒用訂閱帳號登入過claude,出現畫面後打 /login,照指示登入,完成後打 /exit
Claude Code x.x.x is too old版本太舊claude update,跑完再重跑
WorkDir is your user profile root你把程式放在家目錄本身把資料夾移到子資料夾,例如 C:\Projects

手動 4:安裝

照貼就好,引號裡的「我的電腦」只是清單上的顯示名稱,不用改。貼上、按 Enter,大約 15 秒。

powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Name "我的電腦"
[1/4] work folder marked trusted in ~/.claude.json (backup: ...)
[2/4] live probe: starting claude remote-control once...
2026-09-06 03:50:39 connected: https://claude.ai/code?environment=env_...
OK  remote-control server connected.
[3/4] startup entry created: ...\Startup\Claude Code Phone Gateway.lnk
[4/4] gateway running and connected: https://claude.ai/code?environment=env_...

看到 [4/4] gateway running and connected 就成功了,視窗可以關掉,接著回到上面的第 3 步拿手機試。最後一行如果是 Install stopped: the server could not connect,往上看紅字,通常是健檢那張表裡的其中一種。

手動移除:在同一個資料夾的視窗貼 powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Uninstall

進階:紀錄檔在哪、怎麼看它活著

所有紀錄都在 <工作資料夾>\logs\

檔案看什麼
gateway.log管家事件:server startedconnected: <網址>server exitedrestarting in Ns。健康狀態=每次啟動後都有一行 connected
server.log伺服器自己的輸出,超過 2 MB 自動輪替。出事時真正的原因在這裡
ALERT-gateway.txt連續三次秒退才會出現,恢復時再寫一行

斷網之後伺服器每隔幾分鐘重啟一次是正常的,它自己退出、管家把它帶回來。要移除就跑 install.ps1 -Uninstall,會停掉程序、拿掉捷徑,紀錄和信任設定留著。

會靜默失敗的地方

這幾個都是我自己踩過、而且壞掉時沒有任何聲音的。工具現在會處理,但知道原因比較不會慌。

症狀原因處理
FAILWorkspace not trusted工作資料夾沒被信任install 會種信任旗標;手動做法是在資料夾裡跑一次 claude 並按同意
FAILrequires claude.ai subscription auth環境變數裡有 ANTHROPIC_API_KEY,claude 改走金鑰認證管家啟動伺服器時會把 ANTHROPIC_* 剝掉,你的全域變數不用刪
WARN每 30 秒到 10 分鐘就 rc=1 重啟上面任一種認證或信任問題server.log,告警檔會寫最後一行
FAILhome-directory trust is never saved工作資料夾設成了家目錄換一個子資料夾,這是官方的安全設計
正常斷網約 10 分鐘後伺服器退出官方設計管家會用 30 秒起跳、最長 10 分鐘的退避重啟
正常手機清單多了幾個閒置項目伺服器每次啟動會預建一場滑掉就好

做的過程:怎麼確定「別人真的裝得起來」

我沒有第二台 Windows 可以測,所以用另一種方式:開一個全新的 Claude Code,扮演完全沒看過這個專案的陌生人,只准讀 README,從 clone、doctor、install、驗證、移除全程自己做,中途我不插手。這樣跑了三輪,前兩輪各抓到一個真的 bug:

第三輪全部通過。另外補測了幾條 README 宣稱但陌生人沒踩到的失敗路徑:工作資料夾設成家目錄、claude 路徑錯、環境變數帶 API 金鑰、用桌面版內建的 claude.exe,反應都跟文件寫的一樣。

誠實的邊界:全部在我這一台、npm 安裝的 Claude Code 上測的;原生安裝器的路徑有寫偵測但沒實機驗過;Mac 明寫不支援。Anthropic 正在往原生化走,哪天官方內建了常駐伺服器,這個工具就可以退役,那是好事。