T3 Code Windows 教程:用手機遠端控制 Codex、Claude Code 與 OpenCode

在 Windows 安裝 T3 Code,透過 Web、桌面和手機控制本機 Codex、Claude Code、Cursor 與 OpenCode,並處理認證、遠端訪問、防火牆、會話同步和安全風險。

T3 Code 把自己定義為“Agent harness control surface”:它不提供新的基礎模型,而是控制已經安裝並登入在你電腦上的 Codex、Claude Code、Cursor、Grok Build 和 OpenCode。

你可以使用本地 Web 頁面、Electron 桌面客戶端或手機介面檢視和操控 Agent。它解決的是離開電腦後繼續檢視任務、回覆問題和管理多個本地編碼 Agent 的問題。 這也意味著 T3 Code 的許可權上限取決於底層 CLI。如果 Codex 能修改整個工作區、Claude Code 能執行命令,那麼遠端控制介面同樣可能觸發這些能力。官方明確提示專案仍很早期,應預期 Bug,因此本文從本地試用開始,再討論遠端訪問。

它與遠端桌面、Pi Web 有什麼區別

遠端桌面傳輸整個 Windows 圖形介面,T3 Code 只呈現 Agent 會話和相關控制,因此手機上更容易操作。 它也不是把模型搬到雲端。Agent CLI、登入狀態、倉庫和命令仍在你的 Windows 電腦上執行。 與單一 Agent 的 Web 包裝相比,T3 Code 的目標是統一控制多個 Provider,並提供 Web、桌面和移動入口。

適合的使用方式:

  • 通勤途中檢視長時間測試結果;
  • 在手機上回答 Agent 的澄清問題;
  • 同時管理幾個獨立倉庫會話;
  • 在區域網內從平板控制開發主機;
  • 保留現有 Codex 或 Claude Code 訂閱登入。 不適合把無人值守電腦直接開放到公網,也不應把它當作成熟的企業許可權平臺。

安裝前先檢查底層 Agent

T3 Code 至少需要一個已經安裝並認證的 Provider。PowerShell 中逐項檢查:

1
2
3
4
codex --version
claude --version
cursor-agent --version
opencode --version

只需要其中一個可用,不必全部安裝。 Codex 登入:

1
codex login

Claude Code 登入:

1
claude auth login

Cursor CLI 登入:

1
cursor-agent login

OpenCode 登入:

1
opencode auth login

這些命令可能隨各專案版本變化,以對應官方文件為準。完成登入後,先在普通終端開啟一個測試倉庫,確認 Agent 能啟動並能讀取檔案。

路線一:用 npx 零安裝試用

官方給出的最快入口是:

1
npx t3@latest

首次執行會下載 npm 包,啟動 T3 Code 後端和本地 Web 應用。記錄終端顯示的本地地址和埠,不要根據舊教程假定一定是某個埠。 檢視全部引數:

1
npx t3@latest --help

如果 npm 詢問是否安裝包,先核對包名確實是 t3,並確認來源來自官方專案。 保持終端執行,在同一電腦瀏覽器訪問它輸出的本地 URL。此時不要配置公網轉發,先完成本地功能驗證。 結束測試時在終端按 Ctrl+C。隨後確認程序是否退出:

1
Get-Process | Where-Object { $_.ProcessName -match 't3|node' }

不要隨意終止所有 Node 程序,因為其他開發服務也可能使用 Node。

路線二:安裝 Windows 桌面版

官方支援透過 winget 安裝:

1
winget install T3Tools.T3Code

安裝後從開始選單啟動,或檢查程式是否已註冊:

1
winget list T3Tools.T3Code

升級:

1
winget upgrade T3Tools.T3Code

如果企業策略阻止 winget,可從官方 GitHub Releases 下載簽名安裝包。不要從第三方軟體下載站獲取重新打包的安裝器。

桌面版仍然依賴本機已有 Provider。它不會替你自動完成 Codex 或 Claude Code 登入。

第一次連線測試倉庫

新建一個不含敏感程式碼的目錄:

1
2
3
4
$testRoot = 'C:\Work\t3code-demo'
New-Item -ItemType Directory -Path $testRoot -Force
Set-Location $testRoot
git init

建立少量示例檔案後,從 T3 Code 選擇這個目錄並啟動已登入的 Provider。 第一條任務應是隻讀的,例如:

1
列出仓库中的文件,说明每个文件用途,不要修改文件,也不要运行安装命令。

檢查介面是否正確顯示:

  • Provider 名稱;
  • 當前工作目錄;
  • Agent 輸出;
  • 工具呼叫或審批;
  • 會話停止按鈕;
  • 頁面重新整理後的會話狀態。

透過後再讓 Agent 修改一個測試檔案,並用 Git 確認範圍:

1
2
git status --short
git diff

Windows 身份與環境變數為何會不一致

從 PowerShell 啟動 npx t3@latest 時,它通常繼承當前終端的使用者、PATH 和環境變數。桌面應用從開始選單啟動時,獲得的環境可能不同。 典型症狀是終端裡能執行 codex,T3 Code 卻提示找不到 Provider。 先檢查命令位置:

1
2
3
Get-Command codex
Get-Command claude
$env:PATH -split ';'

重新登入 Windows 或重啟桌面應用可以重新整理安裝後變化的使用者級 PATH。 不要把 API Key 寫進系統級環境變數來“解決一切”。T3 Code 的設計是複用 Provider 已有認證,優先修正 CLI 登入和程式可見性。

如果 T3 Code 以不同 Windows 使用者執行,它也不會自動讀取你當前賬戶下的認證檔案。

本地 Web 與區域網訪問

本地監聽地址 127.0.0.1 只能從當前電腦訪問,這是最安全的預設值。 若要從同一 Wi-Fi 的手機訪問,需要確認 T3 Code 是否提供監聽地址引數。先看:

1
npx t3@latest --help

只有官方引數明確支援時,才把監聽地址改為區域網介面。隨後查詢電腦 IP:

1
2
Get-NetIPAddress -AddressFamily IPv4 |
  Where-Object { $_.IPAddress -notlike '169.254*' -and $_.IPAddress -ne '127.0.0.1' }

檢視實際監聽:

1
2
3
Get-NetTCPConnection -State Listen |
  Sort-Object LocalPort |
  Select-Object LocalAddress,LocalPort,OwningProcess

只為實際埠建立 Windows 防火牆規則,並將遠端地址限制到家庭或辦公網段。不要建立允許所有埠、所有網路配置檔案的寬泛規則。 公共 Wi-Fi 上不要使用裸 HTTP 訪問,因為會話內容和控制請求可能被同網段裝置竊聽。

更安全的遠端訪問方式

離開區域網後,優先使用組網 VPN,例如 Tailscale、WireGuard 或現有企業 VPN。這樣 T3 Code 可以繼續只對私有網路監聽。 推薦關係是:

1
手机 -> 私有 VPN -> Windows 开发机 -> T3 Code -> 本地 Agent CLI

不推薦:

1
互联网 -> 路由器端口转发 -> 未认证的 T3 Code HTTP 端口

如果必須使用反向代理,至少要求 HTTPS、強認證、來源限制、WebSocket 支援和短會話。還要確認 T3 Code 自身的認證機制,不能只依賴一個難猜 URL。 Cloudflare Tunnel 可以隱藏源站地址,但公開 Tunnel 仍是公網入口。應結合 Access 身份驗證,不要因為“不開放路由器埠”就認為沒有風險。

手機端要驗證哪些動作

首次手機連線不要立即執行真實開發任務。逐項測試:

  1. 開啟現有會話;
  2. 檢視長輸出是否完整;
  3. 回覆普通文字;
  4. 拒絕一次工具審批;
  5. 停止正在執行的 Agent;
  6. 切換到另一個倉庫;
  7. 手機鎖屏後重新連線;
  8. 斷開 VPN 後確認不能訪問。 尤其要測試“停止”是否真的終止底層程序。有些介面只是停止繼續輸出,命令可能仍在後臺執行。 在 Windows 端檢查相關程序:
1
2
3
Get-CimInstance Win32_Process |
  Where-Object { $_.Name -match 'codex|claude|node|t3' } |
  Select-Object ProcessId,Name,CommandLine

多 Provider 會話不要混淆工作區

T3 Code 能控制多個 Provider,並不代表它們共享相同上下文、許可權或配置。 為每個會話明確記錄:

  • Provider;
  • 倉庫絕對路徑;
  • 當前分支;
  • 是否允許寫入;
  • 是否允許執行命令;
  • 任務目標;
  • 驗收命令。 遠端操作前先要求 Agent回報:
1
只报告当前工作目录、Git 分支和未提交文件,不要修改任何内容。

如果目錄或分支不對,停止會話,在電腦端修正後再繼續。手機螢幕較小,更容易忽略路徑提示。

訂閱、API Key 與費用

官方說明 T3 Code 可以使用你在 Codex、Claude Code、Cursor、Grok Build 和 OpenCode 中已有的訂閱或認證。

費用仍由對應 Provider 產生。T3 Code 只是控制面,不會把高額度任務變成免費任務。 需要分別檢查:

  • Provider 使用訂閱登入還是 API Key;
  • 並行會話是否增加消耗;
  • 長時間後臺任務是否仍在執行;
  • 失敗重試是否重複執行昂貴操作;
  • 手機斷線是否會自動停止任務。 不要把 Provider 的認證目錄同步到公共雲盤,也不要把 API Key貼上到 T3 Code 聊天中。

專案仍處早期意味著什麼

官方 README 明確寫著“Expect bugs”,且暫時沒有完整公共文件站。 實際使用時應假設:

  • 升級可能改變會話格式;
  • Web 與桌面版行為可能不一致;
  • 某些 Provider 整合落後於 CLI 新版本;
  • 遠端重連可能丟失部分狀態;
  • 後臺程序需要手動檢查;
  • 安全模型仍可能調整。

不要把唯一的開發環境和唯一會話歷史建立在早期版本上。真實程式碼始終依靠 Git 儲存,重要任務說明儲存在 Issue 或倉庫文件中。

T3 Code 故障按症狀定位

npx t3@latest 下載失敗

檢查 npm Registry、代理和 Node 版本:

1
2
3
npm config get registry
node --version
npm cache verify

不要在未確認原因時關閉公司 TLS 檢查或使用不可信映象。

T3 Code 找不到 Codex 或 Claude

用同一 Windows 使用者執行 Get-Command,重啟桌面應用,確認 CLI 登入不是隻存在於另一個使用者或 WSL 中。

瀏覽器開啟後空白

檢視啟動終端的第一條錯誤、瀏覽器控制檯和埠占用。嘗試無擴充套件瀏覽器視窗,以排除指令碼攔截。

手機連線超時

確認手機與電腦網路可達、程式監聽的不是 127.0.0.1、Windows 防火牆規則範圍正確,VPN 路由已建立。

會話顯示執行但沒有輸出

檢查底層 Agent 是否在等待審批、登入過期或命令卡住。回到 Windows 端檢視程序和啟動日誌。

倉庫出現意外修改

立即停止 Agent,並儲存證據:

1
2
3
git status --short
git diff --stat
git diff

不要用破壞性 Git 命令直接清空現場。先確認哪些檔案是使用者原有修改。

日常使用的安全習慣

  • Windows 開發機啟用磁碟加密和鎖屏;
  • 手機啟用生物識別和遠端擦除;
  • T3 Code 僅監聽本機或私有 VPN;
  • 不直接開放公網埠;
  • Agent 使用普通使用者而不是管理員;
  • 高風險命令保留人工審批;
  • 每次遠端任務先確認目錄和分支;
  • 定期升級 T3 Code 與底層 Provider;
  • 離開電腦前儲存 Git 狀態;
  • 發現裝置丟失時撤銷 VPN 和 Provider 會話。

是否值得安裝

如果你經常執行持續十幾分鐘的 Codex 或 Claude Code 任務,T3 Code 的移動控制入口很有吸引力。最快的評估方式不是立即公網部署,而是在測試倉庫執行 npx t3@latest,體驗本地 Web、任務停止和會話恢復。

確認本地可靠後,再透過私有 VPN接入手機。只有當認證、許可權、日誌和斷線行為都經過驗證,才讓它控制真實工作倉庫。

T3 Code 資料入口