CodeRouter
CodeRouter 是 cmux 背後的模型路由器。你的程式設計代理會把請求傳送到 CodeRouter,由它將每個請求轉送到團隊加入的某個訂閱或 API 金鑰。當某個帳號遭到速率限制、被拒絕或無法使用時,CodeRouter 會把工作轉移到另一個帳號,讓代理持續執行。
為什麼要使用
- 匯集多個 ChatGPT、Claude 和 OpenCode Go 訂閱以及 API 金鑰,並與團隊共用。
- 當某個帳號達到用量上限時,代理仍能繼續工作。
- 讓 cmux Cloud 機器存取模型,而不必在機器上儲存憑證。
- 依帳號、API 金鑰和 Cloud 機器查看 token 用量。
支援的帳號
每個帳號會服務使用其供應商 API 的代理。Codex 和 Pi 共用一個集區;Claude Code 使用另一個由 Claude 帳號組成的集區。
| 帳號 | 服務對象 | 加入方式 |
|---|---|---|
| ChatGPT 訂閱(個人或團隊工作區) | Codex, Pi | cr add codex |
| OpenAI API 金鑰 | Codex, Pi | CodeRouter 儀表板 |
| OpenRouter API 金鑰 | Codex, Pi | CodeRouter 儀表板 |
| OpenCode Go 訂閱 | OpenCode | cr add opencode |
| Claude Max 或 Pro(Claude Code 設定權杖) | Claude Code | cr add claude |
| Anthropic API 金鑰 | Claude Code | cmux coderouter claude add api-key |
| Amazon Bedrock 憑證 | Claude Code | cmux coderouter claude add bedrock |
CodeRouter 儀表板也可以加入 API 金鑰、Claude 權杖和 Bedrock 憑證。它會列出每個帳號及其狀態、冷卻時間和作用中的工作階段: cmux.com/dashboard/coderouter
路由的運作方式
只要帳號狀態正常,每個代理工作階段都會固定在同一個帳號上,讓供應商的提示快取保持有效。新的工作階段會分配給作用中工作階段最少的帳號。
當供應商回傳速率限制、拒絕憑證或沒有回應時,CodeRouter 會讓該帳號進入冷卻,並在另一個帳號上重試請求。只有在任何模型輸出送達代理之前才會重試,因此已開始串流的回應絕不會被傳送兩次。
向供應商發出請求的是 CodeRouter 的託管服務。因此供應商流量來自 CodeRouter,而不是你的 Mac 或 Cloud 機器。
在 Mac 上快速開始
- 安裝 CodeRouter CLI。它會同時以 coderouter 和 cr 兩個名稱安裝。你也可以執行 cmux cr,第一次執行時它會提議幫你安裝。
- 使用你的 cmux 帳號登入。cr login 會開啟瀏覽器;請核准其中顯示的代碼。
- 加入訂閱。cr add 會開啟供應商選單,cr add codex 會在瀏覽器中登入 ChatGPT。
- 使用 cr codex、cr opencode 或 cr pi 透過 CodeRouter 執行代理。代理名稱後面的引數會原樣傳給代理。
curl -fsSL https://cmux.com/coderouter/install.sh | sh
cr login
cr add codex
cr codex在 cmux Cloud 機器上
每台 Cloud 機器在建立時就已連接到 CodeRouter。機器上的 Claude Code、Codex、OpenCode 和 Pi 不需登入也不需設定,就能使用團隊的帳號。
團隊與共用
帳號屬於你目前登入的團隊。cr org list 會顯示你的團隊,cr org switch 會切換 cr 使用的團隊。cmux coderouter 指令接受 --team <id>。
新增到組織的帳號會與團隊共用,所有成員和團隊的 Cloud 機器都能使用。在控制台中,「設為私人」會限制為新增者本人使用,「與團隊共用」則恢復共用。
在你的個人團隊中,新帳號是私人的,你的私人帳號也供你自己的 Cloud 機器使用。組織的 Cloud 機器只使用共用帳號,因此私人帳號必須先共用,機器才能使用。
任何團隊成員都可以加入、重新命名、停用、轉移和移除團隊的共用帳號。cr transfer 會在你確認後將帳號轉移到另一個團隊。
cr org list
cr org switch <name-or-id>
cr accounts
cr transfer [account] [--to <team>]
cr remove [account]用量與限制
每個供應商會依照處理請求的帳號本身的方案和限制來計量。CodeRouter 會把工作分散到多個帳號,但不會提高任何單一帳號的上限。
cr 會顯示每個訂閱的配額狀態。加上 --watch 每 30 秒重新整理一次,或加上 --json 供腳本使用。
cmux coderouter machines 會顯示每台 Cloud 機器 30 天內的 token 用量和 API 等值金額。在機器內部,cmux coderouter usage 會依日期、工作區、代理和模型細分該機器的用量。
API 等值金額是依公開定價計算的估計值,並非帳單。
cr
cr usage --watch
cmux coderouter machines憑證與隱私
- 供應商憑證在儲存前會先加密。任何 CodeRouter API 或儀表板畫面都不會回傳已儲存的憑證;帳號只會顯示標籤、電子郵件或遮蔽後的金鑰。
- cr add 和 cmux coderouter claude add 絕不會以指令引數接收供應商憑證,因為那樣會留在 shell 歷史記錄中。它們會從環境變數、標準輸入或隱藏的提示讀取憑證。
- cr add codex 和 cr add opencode 會在瀏覽器中登入供應商。cr codex 只在該次執行中把 CodeRouter 設定傳給 Codex,不會變更你平常的 Codex 登入和設定。
- Cloud 機器不保存任何憑證。機器上的代理會把公開的預留位置金鑰傳送到 CodeRouter 的私人位址,由機器的網路邊緣加上綁定該機器的簽署憑證。CodeRouter 會拒絕來自其他機器的該憑證,並在機器刪除時將其撤銷。
- 每個 CodeRouter 回應都帶有用來識別該請求的 x-coderouter-request-id 標頭。