T3 Code 讓我大開眼界
T3 Code 讓我大開眼界
Theo Browne 示範他開發的開源多模型編碼框架 T3 Code,說明如何透過對話串、MCP 編排,以及跨機器的遠端控制,讓開發者同時執行多個 AI 編碼代理,同時也坦承需自備運算資源,且最多僅支援三臺裝置。
Podcast 專家音訊節目
收錄於 888news Podcast 智庫專區,包含精華摘要與上市公司即時行情
T3 Code 共同開發者 Theo Browne 主張,一個三人開源專案如今已能擊敗市值上兆美元的實驗室所推出的編碼應用程式,關鍵在於對模型保持中立、對工作流程則有明確主張。本集大部分時間是 T3 Code 的功能導覽——多代理框架(harness)訂閱支援、遠端機器控制,以及收件匣式的討論串側邊欄——標題中「broke me」的框架僅出現在結尾一小段玩笑裡,談到失眠與一段分手。
Browne 是 T3 Code 的公開代表人物,他表示該專案已達到約 55 萬名使用者、每週 14 萬活躍使用者。他回顧專案從 2026 年初一個「比 OpenAI Codex 桌面應用程式更糟的複製品」起步,到 2026 年 7 月出現轉折點,並用大部分時間示範他如何橫跨九臺機器、多個訂閱與一支手機來執行代理。讀者讀完應能具體掌握這項產品的架構、成長數字、自陳的限制,以及 Browne 對 OpenAI 與 Anthropic 的競爭觀察。
T3 Code 的賣點其實是反轉而來:起初只是更糟的複製品,直到 2026 年 7 月左右才走出差異
Browne 對專案起源異常坦白。2026 年初,他和 Julius 對 OpenAI 的 Codex 桌面應用程式「非常興奮」,並向 OpenAI 請求原始碼存取權,想修掉它的效能問題;OpenAI 拒絕了,也選擇不開源。在 Browne 看來,Anthropic 的 Claude Code 桌面應用程式「就是沒那麼出色」。兩者加起來,促使團隊把 T3 Code 做成開源替代品。
他對早期產品的評價毫不留情:「T3 Code 就只是 Claude Code 和 Codex 桌面應用程式的開源劣化版。」它唯一真正的優勢,是把 Codex 訂閱、Claude 訂閱、Grok 訂閱、Cursor 訂閱等集中在一處。Browne 說他當時「幾乎有點不好意思推它」,自己用 Codex 桌面應用程式的時間,跟自己產品的時間一樣多、甚至更多。
轉機出現在 Julius 把專案往前推、Browne 開始改 UI 與 UX 之後——他們刻意去做那些實驗室沒興趣的事:不同的側邊欄模型、遠端控制、跨訂閱整合。Browne 說,到了 2026 年 7 月,「我們不再只是個差勁的開源替代品了。」
| 指標 | 數字(依 Browne 所述) |
|---|---|
| 總使用者數 | 約 55 萬,「即將達標」 |
| 每週活躍使用者 | 14 萬 |
| GitHub 星數 | 27,000 |
| 貢獻者 | 516 |
| 具名核心團隊 | Julius、Maria、Shiv、WOW、Bal,加上 Browne |
| T3 Connect 免費裝置上限 | 3 臺 |
商業模式刻意不變現:T3 Code 是開源專案,使用者得自備 AI 訂閱,「我們完全沒從中賺錢」。Browne 說「營運成本對我們來說相當高」,並請觀眾體諒贊助廣告時段。他明確劃清界線:T3 Chat 是閉源的 ChatGPT 替代品、確實有在賣 AI 使用額度;T3 Code 則沒有。
一個應用程式就能驅動 Codex、Claude、Cursor、Grok、Gemini 與任何 ACP 代理框架,還能讓代理彼此分工
Browne 把多代理框架支援列為三大支柱之首。內建代理框架包括 Codex、Claude、Cursor、Grok、OpenCode、Anti-Gravity、Muse Code 與 Pi。完整的 ACP 登入檔再加上 AMP、Klein、Copilot 等,使用者也能手動新增代理框架。同一個供應商可以設定多個例項,各自使用不同的家目錄、API 金鑰與環境變數——Browne 說這在輪替帳號、測試搶先體驗版時很好用。
示範才是重點所在。他用 Codex 訂閱在 GPT-6.1 medium 上跑 Codex,要求它用四個不同模型審查程式碼庫:Codex 裡的 GPT-6.1「Soul」high、Anti-Gravity 裡 Muse「Wonderful Full」extra-high、Anti-Gravity 裡的 Gemini 4「Argan」,以及 Claude 裡的 Sonnet 5.5。T3 Code 會在 T3 專屬目錄建立一個 worktree,並啟動四個子代理,各自跑在官方代理框架與使用者自己的訂閱上。Browne 提到 Gemini 需要在設定裡點一下登入;其餘的都沿用使用者已在該機器上安裝並完成驗證的環境。
協調層以彈性的 MCP 形式開放,而非規定死的工作流程。代理可以列出專案、在其他 repo 開啟新討論串並附上直接連結、搜尋並傳訊給其他討論串、交接上下文。Browne 舉了一位使用者為例:他完全透過一個接上 iMessage 的代理(他點名外部工具是 Grokbot),在 T3 Code 裡跑了約一萬個討論串,從未直接碰過這個應用程式。
flowchart TD
A["使用者在 T3 Code 輸入提示"] --> B["協調器 MCP"]
B --> C["子代理:Codex / GPT-6.1"]
B --> D["子代理:Anti-Gravity / Gemini 4"]
B --> E["子代理:Claude / Sonnet 5.5"]
B --> F["子代理:Anti-Gravity / Muse"]
B --> G["另一個 repo 的獨立討論串"]
G --> H["討論串之間的傳訊"]
B --> I["透過 MCP 的外部客戶端,例如 Grokbot"]
討論串進行中切換代理框架是較新的能力。以前討論串會被綁在建立它的那個代理框架裡;T3 Code 現在能把上下文抽出來,讓在某個模型上開始的討論串交給 Opus 5.5 接手繼續,並保留它與例如正在執行的 iOS 模擬器之間的連結。
遠端控制是 Browne 最用力推的功能,靠的是 websocket 伺服器而非終端機
Browne 說他已經不在終端機或 SSH 裡開討論串了。T3 Code 全部走自家的 websocket 伺服器,而不是往終端機丟指令、也不是用 Electron IPC,這正是遠端執行能如此輕鬆的原因。npx t3 serve 會在任何機器(包括遠端伺服器)上架起一個精簡的網頁應用程式,並透過 websocket 開放 T3 Code 的能力;app.t3.codes 則在瀏覽器裡跑客戶端。
每個討論串在建立時就指定給某臺機器。Browne 的機隊:一臺主要筆電(「mainbook」)、兩臺雲端 VPS(「Alvin」與「Cup 2」)、一臺本地推論伺服器(「BB1」)、兩臺跑 Linux 的迷你 PC,以及幾臺保留給 iOS、macOS 與電腦操作測試的 Mac。Maria 做了負載平衡,會檢查 CPU 與記憶體壓力,把請求導向可用吞吐量最大的機器。Mac 可以專門留給模擬器工作,讓 Linux 機器遠端驅動 iOS 開發伺服器。
連線方式,依 Browne 的分類:
- Tailscale — 每臺機器一行指令,完整遠端控制,但手機上得開 VPN。
- T3 Connect — 通道服務,三臺裝置免費,用
npx t3 connect設定,會印出一個把機器綁到帳號的連結。Browne 在一臺用來跑 Rust 建置的 Linux 機器上示範,然後就完全退出 SSH。 - 每臺機器多條路徑 — Tailscale、T3 Connect、LAN 或其他,並有一套細緻的許可權系統,管控每條遠端連線允許做什麼。
- 複製 MCP URL — 一鍵把某臺機器的 MCP 伺服器開放給其他機器。
Browne 稱這個手機應用程式是「遠端處理 AI 編碼任務的最佳手機應用程式」,並貶抑 Claude Code 與 Codex 的手機應用程式,說它們假裝做得到其實做不到的事。手機應用程式是開源的;他建議把 Opus 丟去抓 bug 並送 pull request。
側邊欄就是收件匣:結案、延後、合併後自動結案,並隱藏所有正在跑的工作
Browne 的第三根支柱是「我們是為了把工作做完而打造」。他拿目前的 ChatGPT 應用程式當反例——分不清什麼是最近的、什麼需要處理,或臨時專案把一切往下擠之後專案討論串跑到哪去了。他提到 OpenAI 加了一個「活動側邊欄」,看起來是受 T3 Code 做法啟發,並說「它並沒有成功。」
T3 Code 的側邊欄是團隊少數強加主張的地方。規則是:「每次你開啟一個討論串,目標就應該是把它關掉。」關掉可以是合併變更、回答問題,或判定這件工作不必要。機制如下:
| 機制 | 行為 |
|---|---|
| 結案(Settle) | 取代「封存」;已結案的討論串沉到最底部;Cmd+Z 可復原 |
| 延後(Snooze) | 把討論串藏到指定時間,之後再浮出 |
| PR 合併後自動結案 | 連結的 PR 一合併,討論串就消失;可全域與逐討論串設定 |
| 閒置自動結案 | 預設 3 天;Browne 設成 7 天,逼出收件匣壓力 |
| 進行中區塊(beta) | 正在處理時隱藏討論串;釘選的討論串仍可見 |
| Cmd+Enter | 在背景送出提示,不跳進該討論串 |
| 排程任務 | 討論串可依排程執行,例如每天晚上 9:00,然後封存 |
| 引導 vs. 排隊 | 引導是在執行中途插入後續訊息;排隊是堆疊訊息;可熱鍵切換,預設值可設定 |
| 多選 | Shift 點選,一次對多個討論串結案、延後或重新產生標題 |
| 標題/commit 產生 | 使用者可選由哪個代理框架、模型與投入等級來寫標題、commit 訊息與 PR 描述 |
Browne 把設計目標描述為「空間感知」——找回他手寫程式碼時那種知道東西在哪的直覺——以及對他所謂「摧毀你的 ADHD」的防護:「如果那東西正在跑,就把它從我眼前拿走。」他坦承原本預期進行中區塊與新側邊欄會不受歡迎,所以把它們藏在功能旗標後面。
PR、用量、終端機、瀏覽器與模擬器全都在應用程式裡,而且專為爛網路下的速度而打造
Browne 聲稱在 T3 Code 裡切換討論串「用的資料量比 Codex 少一百倍」,可能還更多,而且他在飛機 Wi-Fi 上寫程式,直到切去瀏覽器才發現網路很差。內建 PR 檢視器會把 PR 連到開啟它的討論串;Browne 舉了分別有五個、兩個、一個連結 PR 的討論串。PR 分頁負責審查、合併,並依可合併程度排序。Julius 把它移植到手機,Browne 評價高於 GitHub 應用程式。
Browne 示範或列出的其他能力:
- 透過 T3 Connect 開終端機 — 他在 T3 Code 裡跑 btop,說比 SSH 更穩定,尤其在手機上。
- 診斷儀錶板 — 每臺連線機器的運算用量,也就是路由所用的同一份資料。
- HTML 與 JavaScript 視覺化 — 代理在應用程式內渲染互動圖表與示意圖;Browne 說他一天至少用十次。
- 用量分頁 — 顯示 Token 花到哪去,包括在連線環境上迴圈跑的 Claude Code 終端機執行,以及若使用代理時各帳號的剩餘額度。
- 額度感知排程 — 提示可以排到速率限制重置時才觸發。
- 遠端 iOS 與 Android 模擬器 — 雙指手勢可看完整 3D 裝置檢視,跑在另一臺機器上、經 T3 Connect 連線,可從手機應用程式操作;Browne 說首日支援 iPhone Duo 已在規劃中。
- 遠端瀏覽器 — 把無頭機器的瀏覽器導到客戶端,供互動與登入。
- 快照 — 同時按兩個 Shift 鍵,擷取目前應用程式加上無障礙資料,並據此開一個討論串。
- 註解 — 在討論串或瀏覽器預覽中選取文字、點「site」,註解會跟著下一個提示一起送出。
- 把討論串拖進另一個討論串 — 讓接收方取得它的上下文,並能傳訊給它。
- 暫存(Cmd+S) — 停放草稿(含圖片),再套用到另一個專案或討論串。
- 檔案附件 — 圖片以位元組形式傳給模型,同時寫入磁碟,讓代理能據此行動,例如把圖片加進 PR;Browne 說其他工具只讓模型看得到圖片。
- 主題與快捷鍵 — T3 Chat 配色、獨立的淺色/深色主題、匯入 VS Code 主題、自訂主題、可調聊天寬度,以及依機器或環境各自設定的快捷鍵。
- 設定範圍 — 每個設定頁都能套用到單一專案或特定環境,並可看到哪些機器持有哪些設定。
周邊基礎設施相當廣:Git 供應商、webhook、SSH 上的 VS Code,以及一鍵更新整批機隊
Browne 快速掃過一長串基礎設施功能,其中幾項他標明是原始錄影時忘了、事後補上的。
Git 支援涵蓋 GitHub、GitLab、Bitbucket、Azure DevOps、Forgejo 與 Gitea。Browne 說他花了「多到令人作嘔的時間」做內建於 T3 Code 的 PR 監控,好讓代理不再重造保母輪;他的做法只消耗代理自寫替代方案所用 GitHub API 速率限制的百分之一。
Webhook 讓討論串能由外部事件觸發,例如 PR 開啟或 Stripe 事件。T3 Code 會發出一個 URL,把事件轉送到該環境,若伺服器掛掉,還可選擇保留並重播最多 24 小時;使用者也能自備公開 URL,讓一個 curl 就能觸發討論串。
「在 VS Code 中開啟」按鈕對位於另一臺機器的專案也有效:若客戶端有 SSH 存取權,T3 Code 會以 SSH 模式對那臺機器開啟 VS Code。專案可在機器之間搬移,並可選擇一併複製環境變數檔與其他被 gitignore 的內容;Browne 幾秒鐘就把一個 repo 從一臺機器複製到另一臺。新專案可以不帶 repo 建立,指定名稱、目標機器,並可選擇自動同步到 GitHub。
更新按鈕會更新應用程式、各供應商(Claude、Codex 等)以及所有連線機器上的應用程式版本——Browne 一鍵就把九臺電腦上的 Claude、Codex 與 T3 Code 全部更新。npx t3 triage 會把診斷上下文交給 Claude Code 或 Codex,在本機除錯壞掉的安裝,並可開出詳細 issue;Browne 說超過 80% 的使用者問題靠跑它就能解決。
Browne 自陳的限制:自備運算、三臺免費裝置、沒有內建電腦操作,以及睡眠代價
Browne 自己列出缺點,而這些值得照字面採信,因為它們界定了這項產品可觸及的使用者。
- 你必須自備運算。 沒有託管雲端;使用者在自己的硬體或雲端上跑 T3 Code。
- T3 Connect 上限三臺裝置。 超過就得用 Tailscale 之類的方案。Browne 說會推出更多裝置的付費方案,因為團隊不想「在一個開源專案上把自己搞到破產」。
- 沒有內建電腦操作。 Codex 的代理框架有提供;Browne 說可以把 Codex 應用程式的電腦操作 MCP 交給 Claude 當變通,原生版本則在規劃中。
- Token 消耗感覺更高。 Browne 堅稱 T3 Code 並不耗 Token,用量速度跟直接用 Claude 或 Codex 一樣,但使用者會開更多討論串,所以感受更明顯。
- 平臺廣度所費不貲。 Browne 說他討厭 Windows ARM,它「大幅拉長我們的建置時間,而且一天到晚失敗」,但還是留著,因為砍掉平臺會招來抱怨。T3 Code 裡將近一半的事件來自 Linux 使用者,而且 T3 Code 內建於 Omarchy 發行版中。
- 它是 Theo 做的。 他自嘲的收尾,接著坦承這個專案「會毀掉你的睡眠作息」。
睡眠素材正是本集標題的落點。Browne 在聊天室投票問 T3 Code 有沒有害他們熬夜,說他跟心理師談過這件事,描述自己在床上用手機下提示,並說:「我必須跟前任談談,我在床上滑手機停不下來,整晚都在對 T3 Code 下提示。我只能說,他們現在會變成『前任』是有原因的。」標題的前提大約只佔 41 分鐘裡的 1 分鐘。
Browne 的競爭觀察:實驗室正漂向通用工作,把開發者工具留給開源
Browne 最後談的是定位論述,而非功能。他說 ChatGPT「正試圖把點點、空格和外掛塞到你面前」,Claude Code「想服務工作、而不是服務程式碼,這很煩人」,其他所有人則是把程式碼硬塞進另一個應用程式裡的分頁。相較之下,T3 Code 是「由工程師為工程師打造」,而且不會在這點上妥協。
他也把這個專案定位成對抗未來昂貴、封閉、私有工具的一種避險:「我只是想確保我們未來打造的工具,不會是超貴的私有閉源玩意兒。」他具名感謝 Julius、Maria、Shiv、WOW 與 Bal,把原始 PR 檢視器歸功於 Bal,把 Pi 與 Orchestrator V2 整合的一大部分歸功於 WOW,並提到自己漏掉 516 位貢獻者中的許多人。
推廣建議很簡單:官網預設下載的是穩定版,到本文發布時已包含所有示範過的功能;下載頁上的 nightly 按鈕提供更快的更新,代價是偶有短暫故障期。Bug 與功能請求請到 GitHub issues 與 discussions。
值得觀察的重點
本集有兩項說法值得對照未來證據追蹤。第一是成長曲線:一個零營收、由少數兼職工程師經營的專案,做到 55 萬使用者、每週 14 萬活躍使用者,意味著 Browne 也承認是負擔的基礎設施成本,而 T3 Connect 三臺裝置上限正是為了控制它。付費方案能否在不疏離開源社群的前提下推出,仍未有答案。第二是協調層論點。Browne 的賭注是:當各家實驗室都把使用者往自家應用程式推,一個坐在 Codex、Claude、Gemini 等之上的中立層會越來越有價值——而實驗室自己在活動側邊欄與手機客戶端上的嘗試,會持續落後於一個唯一工作就是管理代理工作的工具。若 OpenAI 或 Anthropic 推出可信的多代理框架客戶端、具備相當的遠端執行能力,T3 Code 的差異化就會縮小到速度、收件匣模型與開源授權。Browne 自己坦承他曾偏好 Codex 勝過自家產品,這正是這道護城河曾經多淺、又多晚才改變的最清楚說明。