用手機接續操作電腦版 Codex:codexUI 與 Windows 快速啟動器實作


平常我使用 Codex,主要還是在 Windows 電腦上操作。因為真正的專案檔案、終端機、Git、各種工具鏈,基本上都在電腦裡。可是實際工作時,總會遇到一種情境:人離開座位了,或手邊只有手機,但又想看一下 Codex 剛才跑到哪裡,甚至想順手補一句指令。

這時候問題就來了。

我不是想把手機變成主要開發機。老實說,用手機真的要長時間寫程式,體驗還是很硬。我的需求比較單純:我希望手機可以變成一個「輕量入口」,讓我可以接續操作電腦上的 Codex。

講白話就是:

AI agent 還是在電腦上跑,手機只要能連回去操作就好。

這篇文章想整理我這次的摸索過程。從一開始評估幾個手機連接 Codex 的可能方案,到最後選擇 friuns2/codexUI,再到我自己補了一個 Windows 快速啟動器 codexapp-mobile-launcher,讓整個流程變成比較適合日常使用的版本。


為什麼我想找一個手機接續 Codex 的方式?

如果你平常用 Codex、Claude Code、OpenCode 這類 AI coding agent,大概會知道它跟一般聊天機器人不太一樣。

它不是只回答問題而已。它會讀檔、改檔、跑測試、開終端機、看錯誤訊息、再繼續修。也就是說,它跟你的本機開發環境綁得很深。

所以如果我要在手機上接續使用 Codex,我真正想解決的不是「手機能不能打字」。

真正的問題是:

  • 我能不能從手機看到目前電腦上的 Codex 對話?
  • 我能不能在手機上接著丟訊息?
  • 實際跑程式、讀寫檔案、Git 操作,能不能仍然留在 Windows 電腦?
  • 我能不能不要重新設定一堆 API key、模型、專案路徑?
  • 我能不能不為了這件事另外付費或自行編譯手機 App?

所以我的條件其實很明確。

第一,最好免費或至少低門檻。
第二,不要要求我自己編譯 iOS App。
第三,手機端最好用瀏覽器就能開。
第四,核心工作仍然留在 Windows 電腦。
第五,iPhone 可以用,Android 朋友也可以參考。

這樣條件一收斂,很多看起來很酷的方案,其實就可以先放旁邊。


我一開始看過哪些方案?

我一開始是從 Remodex 這類工具開始看。

例如 Remodex GitHub 專案 與它的 iOS App。這種原生 App 體驗看起來很完整,但我當時比較在意的是:如果後續需要付費,或需要自己用 Xcode 編譯,我就暫時不想走這條路。

我也順手看了一些其他專案,例如:

這幾個工具不一定誰比較好,而是定位不太一樣。

有些比較像雲端開發平台,有些是多 agent 協調器,有些是原生 App,有些則是把本機 agent 透過 Web UI 暴露出來。

我這次要的不是一個全新的雲端 IDE,也不是把手機變成完整工作站。我只是希望手機能接回我原本 Windows 電腦上的 Codex。

所以最後最接近我需求的,是 codexUI 這條路線。


先釐清:codexUI 跟 Android 獨立 App 不是同一件事

我在看 codexUI 官網 時,一開始也有點混亂。因為頁面裡會連到一些 Android 相關專案,例如:

這裡要先區分清楚。

codexUI 這種模式,簡單講是「遠端遙控模式」。

也就是:

  • Codex 跑在你的 Windows 電腦。
  • 專案檔案也在你的 Windows 電腦。
  • 手機只是用瀏覽器連回去。
  • iPhone、iPad、Android 都可以用。

而 AnyClaw / OpenClaw Android 那類方案比較像「Android 手機獨立主機模式」。

也就是:

  • Android 手機本身跑 Linux / Node.js / agent。
  • 專案、對話、API key 可能都在手機裡重新建立。
  • 不一定需要電腦。
  • 但它也跟你 Windows 電腦上的專案與對話分開。

所以如果你是 Android 使用者,你有兩條路可以選。

如果你想讓手機變成獨立開發機,可以研究 Android 本機方案。
如果你跟我一樣,只是想用手機接回電腦上的 Codex,那瀏覽器連回電腦的 codexUI 模式就夠了。

對 iPhone 使用者來說,基本上更適合走這條路。因為 iOS 不太可能像 Android 那樣,讓一般 App 內建完整 Linux 環境長時間跑 agent。


為什麼我最後選 codexUI?

codexUI 的概念其實很直接。

它會在你的電腦上啟動一個本機 Web UI,然後你可以用瀏覽器開它。這個瀏覽器可以是你電腦上的 Chrome / Edge,也可以是手機上的 Safari / Chrome。

原專案 README 的定位是:

Codex UI in your browser.

它支援 Windows、Linux,也支援 Android Termux。原本快速啟動方式是:

npx codexapp

啟動後,你可以從本機或區網開啟 Web UI。原專案也支援 Cloudflare Tunnel、Tailscale Serve、reverse proxy 等方式,讓你可以從外部網路連回來。

這對我的需求很剛好。

因為真正的工作仍然留在 Windows 電腦上。我不用在 iPhone 上重建專案,不用重設一堆 API key,也不用把手機硬當成開發機。

手機只是變成一個控制介面。

這個心法很重要。

重點不是把所有東西搬到手機,而是讓手機可以安全、方便地接到原本最適合跑 agent 的地方。


官方方式可以跑,但我想要更適合日常使用的入口

官方的 npx codexapp 很適合快速測試。

但我實際在 Windows 上部署後,發現如果要變成日常使用,還是有幾個地方可以再整理。

第一,我不想每次都重新想指令。

如果每次都要開 PowerShell、切資料夾、設定環境變數、再打 node 指令,久了就會懶。工具一旦啟動門檻高,最後就很容易放著不用。

第二,Windows 上的 Codex CLI 路徑有一點細節。

我的環境裡,codex --version 在 PowerShell 可以跑,但 codexUI 的 Node process 需要找到 native codex.exe,不是只找到 codex.ps1 包裝檔就好。這個差異對一般使用者來說不直覺。

第三,我希望外網模式不要自動打開。

原專案支援 Cloudflare Tunnel,這很好。但我不希望每次啟動都直接產生外網 URL。比較合理的方式是:啟動時讓我選。

  • 在家裡同 Wi-Fi,就用本機 / 區網模式。
  • 外出臨時要連回來,再開 Cloudflare Tunnel。

第四,我希望預設權限保守一點。

codexUI 背後可以操作 Codex、讀寫專案檔案、執行命令。這種東西如果要從手機連入,安全邊界一定要想清楚。

所以我後來做了一個 companion launcher。


我做的 codexapp-mobile-launcher 是什麼?

我做的這個工具叫做 codexapp-mobile-launcher

先講清楚,它不是 codexUI 的替代品,也不是 fork 原專案。

它比較像一個 Windows 使用者的小幫手。

原專案還是 friuns2/codexUI。我的 launcher 只是負責把 Windows 上比較繁瑣的啟動流程整理成比較穩定、可重複、可分享的入口。

目前它做幾件事:

  • 提供 Start-CodexApp.cmd,讓 Windows 使用者可以雙擊啟動。
  • 啟動時提供兩種模式:
    • 1. Local / LAN only
    • 2. Cloudflare Tunnel
  • 自動偵測相鄰的 codexapp 原專案資料夾。
  • 自動尋找 Windows native codex.exe
  • 預設使用比較保守的 runtime:
    • workspace-write
    • on-request
  • README 用中文為主,英文為輔,整理完整部署流程。

repo 在這裡:

https://github.com/taoyutsun/codexapp-mobile-launcher

Release 在這裡:

https://github.com/taoyutsun/codexapp-mobile-launcher/releases/

要注意一點,目前我沒有把它打包成 .exe 安裝檔。Release 裡下載的是 GitHub 自動產生的 Source code (zip)。解壓後裡面會有 README.mdStart-CodexApp.cmdStart-CodexApp.ps1 這些檔案。


一條龍部署流程:先裝原專案,再放啟動器

接下來講實際操作。

我會用 Windows 情境說明,因為這也是我這次主要測試的環境。

(細節前置環境部屬也可以參考 https://github.com/taoyutsun/codexapp-mobile-launcher

Step 1:先檢查前置工具

請先打開 PowerShell,檢查這幾個工具:

node --version
git --version
pnpm --version
codex --version

如果你打算使用 Cloudflare Tunnel 外網模式,也檢查:

cloudflared --version

如果都有版本號,就可以往下走。

如果沒有,請先安裝:

  • Node.js 18 以上版本
  • Git
  • pnpm
  • Codex CLI
  • cloudflared(只有外網 tunnel 模式需要)

其中 pnpm 可以用 npm 安裝:

npm install -g pnpm

Codex CLI 則可以用:

npm install -g @openai/codex

cloudflared 是選用。如果只在同 Wi-Fi 區網使用,可以先不裝。

Step 2:部署原專案 codexUI

先選一個你想放專案的資料夾。以下用 C:\Projects 當例子,你可以換成自己的路徑。

mkdir C:\Projects
cd C:\Projects
git clone https://github.com/friuns2/codexUI.git codexapp
cd codexapp
pnpm install
pnpm run build

建置完成後,codexapp 裡面應該會有:

dist/
dist-cli/

這代表前端與 CLI 都已經建置好。

Step 3:取得 codexapp-mobile-launcher

接著回到同一層資料夾:

cd C:\Projects
git clone https://github.com/taoyutsun/codexapp-mobile-launcher.git codexapp-mobile-launcher

最後資料夾結構建議長這樣:

C:\Projects\
  codexapp/
  codexapp-mobile-launcher/

如果你不想用 Git,也可以到 release 頁面直接下載 Source code (zip)

https://github.com/taoyutsun/codexapp-mobile-launcher/releases

下載後請解壓縮,並把資料夾改名為:

codexapp-mobile-launcher

同樣放在 codexapp 的旁邊。

Step 4:雙擊啟動

進入:

C:\Projects\codexapp-mobile-launcher

雙擊:

Start-CodexApp.cmd

啟動後會看到選單:

1. Local / LAN only, no Cloudflare tunnel
2. Cloudflare Tunnel for temporary external access

如果你只是在家裡同 Wi-Fi 使用,選 1

如果你在外面,想臨時從外部網路連回來,選 2


手機怎麼連?

如果你選模式 1,本機 / 區網模式,啟動成功後終端機會出現類似:

Local:    http://localhost:5900
Network:  http://192.168.x.x:5900
Password: abc-123-xyz

在 Windows 電腦上,可以開:

http://localhost:5900

在手機上,請使用終端機列出的 Network 網址。通常會是:

http://192.168.x.x:5900

或:

http://10.x.x.x:5900

如果你看到 172.x.x.x,那通常是 WSL2、Hyper-V、Docker 或 Windows 虛擬網卡的私有 IP。它不一定是手機最適合連的入口。一般來說,手機同 Wi-Fi 時,優先看 192.168.x.x10.x.x.x 這類區網位址。

如果你選模式 2,Cloudflare Tunnel,終端機會產生一個類似這樣的網址:

https://example-random-name.trycloudflare.com

它也會顯示 QR code。你可以用手機掃 QR code,或直接打開這個網址,再輸入終端機顯示的密碼。

這個模式比較適合臨時外出使用。

但我會提醒一件事:Cloudflare Tunnel 比數據機 Port Forwarding 好,因為它不用直接把你家裡的 5900 port 打開,也有 HTTPS。可是它仍然是一個外網可碰到的入口。

所以 tunnel URL 跟密碼,都要當成臨時秘密。

用完後,把啟動視窗關掉,tunnel 就會停止。


我不建議長期用 Port Forwarding 直接公開 port

這裡我想特別講一下安全性。

一開始我也測過數據機 Port Forwarding。技術上,它確實可以讓外部網路連回來。而且 codexapp 有密碼,所以看起來好像也不是完全裸奔。

但我後來還是不建議這樣當長期方案。

原因很簡單。

這個 Web UI 背後不是普通靜態網頁。它可以操作 Codex,可以讀寫你的專案,甚至可能透過 agent 執行命令。這種東西不應該只靠「開一個 HTTP port 加密碼」長期暴露在外網。

比較合理的做法是:

  • 家裡同 Wi-Fi:用本機 / 區網模式。
  • 外出臨時使用:用 Cloudflare Tunnel。
  • 長期固定使用:考慮 Tailscale、VPN,或自己架 HTTPS reverse proxy。

重點不是不能外連,而是要知道每種做法的安全邊界在哪裡。


實測時遇到的小限制

這個工具很好用,但它不是魔法。

第一,電腦端啟動視窗要保持開啟。

如果你關掉 Start-CodexApp.cmd 開出的視窗,服務就停止。電腦休眠、斷網,也一樣會中斷。

第二,Web UI 不是 Codex Desktop App 的畫面鏡像。

我實測時遇過一個現象:在 Codex Desktop App 裡最新的一則回覆,手機 Web UI 有時候會晚一步才看到。後來我把手機瀏覽器分頁關掉,重新掃 QR code 進入,就看到最新對話了。

所以如果你遇到 Web UI 少一則最新回覆,可以試試:

  1. 關閉手機瀏覽器分頁。
  2. 重新掃 QR code 或重新開 URL。
  3. 重新輸入密碼。
  4. 必要時重啟 Codex Web UI 或 Codex Desktop App。

這點很重要。

它不是螢幕同步工具,而是一個 browser UI / app-server bridge。理解這點,就不會誤會它應該像遠端桌面一樣即時同步每一個畫面狀態。


Telegram Bot Bridge:如果你習慣即時通訊,也可以選配

codexapp 原專案也支援 Telegram Bot Bridge。

這個功能的概念是:你可以在 Telegram 裡傳訊息給 bot,bot 再把訊息轉送到指定的 Codex thread,並把 assistant 的回覆送回 Telegram。

如果你平常習慣像 OpenClaw 那樣,透過即時通訊工具丟任務、看回覆,那這個功能就可以研究一下。其實串接好概念上就能夠當作另一個多對話串的龍蝦來使用。

它的大致設定流程是這樣。

第一步:先建立 Telegram Bot

打開 Telegram,找到官方的 BotFather,用它建立一個新的 bot。

一般流程會是:

  1. 在 Telegram 搜尋 BotFather
  2. 對它輸入 /newbot
  3. 依照提示設定 bot 名稱與 username。
  4. BotFather 會回傳一組 bot token。

這組 token 就是後面會用到的 TELEGRAM_BOT_TOKEN

這裡要小心,bot token 就像密碼一樣。不要把它放進 GitHub、部落格截圖、公開影片或 issue 裡。

第二步:取得自己的 Telegram user ID

codexapp 的 Telegram Bridge 需要設定 allowlist。也就是說,不是任何傳訊息給 bot 的人都可以操作你的 Codex。

你需要先知道自己的 Telegram user ID。

做法之一是:

  1. 先在 Telegram 傳一則訊息給你剛建立的 bot。
  2. 在 PowerShell 執行下面這行,把 <your-telegram-bot-token> 換成自己的 token:
Invoke-RestMethod "https://api.telegram.org/bot<your-telegram-bot-token>/getUpdates"
  1. 在回傳內容中找 message.from.id

那個數字就是你的 Telegram user ID。後面要填進 TELEGRAM_ALLOWED_USER_IDS

如果要允許多個人使用,可以用逗號分隔,例如:

$env:TELEGRAM_ALLOWED_USER_IDS="123456789,987654321"

第三步:設定環境變數並啟動

因為 Telegram Bridge 需要先設定環境變數,所以這種模式比較適合用 PowerShell 啟動,不是直接雙擊 .cmd

codexapp-mobile-launcher 資料夾中執行:

$env:TELEGRAM_BOT_TOKEN="replace-with-your-telegram-bot-token"
$env:TELEGRAM_ALLOWED_USER_IDS="123456789"
$env:TELEGRAM_DEFAULT_CWD="C:\Projects"
.\Start-CodexApp.ps1

這三個變數的意思是:

  • TELEGRAM_BOT_TOKEN:Telegram bot token。
  • TELEGRAM_ALLOWED_USER_IDS:允許使用 bridge 的 Telegram user ID。
  • TELEGRAM_DEFAULT_CWD:預設工作目錄。沒有設定時,會使用你啟動 codexapp 時所在的資料夾。

其中 TELEGRAM_ALLOWED_USER_IDS 是安全關鍵。沒有設定 allowlist 時,incoming Telegram messages 會被拒絕;有設定時,也只有清單裡的 user ID 可以用。

第四步:在 Telegram 裡操作

啟動成功後,你可以在 Telegram bot 裡使用幾個常見指令:

  • /start:顯示簡短說明與 thread picker。
  • /threads:列出近期 threads 並選擇。
  • /newthread:建立新的 Codex thread,並綁定目前 Telegram chat。
  • /thread <threadId>:把目前 Telegram chat 綁定到既有 thread。
  • /current:顯示目前綁定的 thread。
  • /history:顯示目前 thread 的近期歷史。
  • /status:顯示 bridge / mapping 狀態。
  • /whoami:顯示你的 Telegram user ID / chat ID 與授權狀態。
  • /help:顯示指令說明。

Telegram Bridge 可以跟 Web UI 並存。也就是說,你可以平常用手機瀏覽器操作;如果某些情境更適合丟 Telegram 訊息,也可以把 Telegram 當成另一個入口。

但它一樣依賴電腦端的 codexapp 服務。啟動視窗關掉後,Telegram Bridge 也會一起停止。


這個啟動器真正解決的是什麼?

我最後幫這件事收斂一下。

codexUI 解決的是:讓 Codex 可以透過瀏覽器操作。

而我做的 codexapp-mobile-launcher 解決的是:讓 Windows 使用者更容易、也更安全地啟動這個流程。

它沒有重寫 codexUI,也沒有把自己包裝成另一個更大的專案。它只是把實際使用時會遇到的幾個小麻煩整理掉:

  • 每次啟動要打指令。
  • Windows native codex.exe 路徑不好找。
  • 本機 / 外網模式要手動切。
  • Cloudflare Tunnel 不應該每次預設打開。
  • 安全參數要比較保守。
  • 中文使用者需要一份比較完整的一條龍說明。

所以它的定位很清楚:這是一個 companion launcher。

如果你是 Windows 使用者,平常又想用 iPhone 或 Android 手機接續操作 Codex,這個小工具可以讓整件事少很多摩擦。


最後我自己的結論

我覺得這次最大的收穫,不只是找到一個工具,而是重新釐清「手機在 AI coding workflow 裡應該扮演什麼角色」。

手機不一定要變成完整開發機。

至少對我來說,最穩的方式還是讓 agent 跑在 Windows 電腦上。因為電腦有完整專案、有終端機、有 Git、有我原本的工作環境。

手機只要成為一個好用的控制入口,就已經很有價值了。

講白話就是:

重點不是把所有工具都塞進手機,而是先想清楚,真正該跑 agent 的地方在哪裡。

如果你也想用手機接續操作電腦版 Codex,可以先從原專案 codexUI 開始。如果你跟我一樣是 Windows 使用者,也可以參考我整理的 codexapp-mobile-launcher

先讓手機連得上、看得到、可以回一句話。這件事一旦跑順,後面你要不要加 Cloudflare、Tailscale、Telegram Bridge,再依照自己的使用習慣慢慢加就好。


📌 您可能也會有興趣的其他文章:

留言

熱門文章

Gemini Voyager 教學:資料夾管理、引用回覆、去浮水印一次搞定

用AI一鍵生成簡報PPT投影片真的有那麼神?全網最詳細AI簡報工具彙整與實測心得

為什麼 Nystatin(制黴菌素)要「漱口或塗抹」,不是直接吞?完整解析與用法指南

快速又免費的語音轉文字神器『Faster Whisper』,一鍵解決影音內容爆量時代的痛點!

Google AI Pro 隱藏福利!每月 10 美元額度怎麼領?完整設定步驟 + 安全防護

Windows 桌面圖示每次重新開機或外接螢幕就跑位亂移?從設定排除到 DesktopOK 一鍵還原完整攻略

微軟 Copilot 全新語音功能重磅來襲!免費無限暢聊,直球對決 ChatGPT 進階語音模式!

AI 語音助理新革命:Copilot Vision 無限免費、視覺功能全開,完整評比 ChatGPT 進階模式

G6PD 缺乏者的抗生素選擇指南|社區診所常見處方與藥師建議一次搞懂

打字太慢?試試 Wispr Flow:神速 AI 即時語音輸入讓你效率翻 4 倍