安裝
Control Center 有兩種使用方式:在 app.usectrl.dev 以網頁應用程式形式使用,無須下載任何東西;或是安裝桌面 應用程式。兩者是同一個應用程式,功能也完全相同。唯一的差別在於伺服器在哪裡執行——而網頁應用程式無法替你執行伺服器。
在瀏覽器中使用
標題為「在瀏覽器中使用」的章節app.usectrl.dev 就是將這個應用程式編譯而成的瀏覽器版本。 無須安裝,也無須更新。開啟後連線即可。
瀏覽器分頁做不到的,是_成為_伺服器本身。每個用戶端——桌面、網頁、手機——都只是
疊在無介面 cc_server 之上的精簡渲染層,而它擁有資料庫並負責實際工作,因此
網頁應用程式一律要連線到你自行執行的伺服器。有兩種方式可以為它提供伺服器:
在你自己的機器上執行伺服器。 在本機啟動 cc_server,並讓網頁應用程式指向
ws://localhost:9030。瀏覽器將 localhost 視為可信任,因此這不需要憑證,也不需要
通道。這是試用網頁應用程式最快的方式,你的資料也永遠不會離開你的機器。
在另一台機器上執行伺服器。 由於 app.usectrl.dev 是透過 HTTPS 提供,非本機的
伺服器必須能以 wss:// 連線,並使用瀏覽器已信任的憑證。cc_server 在沒有 TLS 時
會拒絕繫結非回送位址,因此請選擇下列其中一種做法:
- 直接為它提供憑證,使用
--tls-cert與--tls-key - 將它放在負責終止 TLS 的反向代理後面,並以
--insecure啟動 - 透過提供憑證的通道或 VPN 將它公開——Tailscale、 cloudflared 或類似工具。設定 → 伺服器 → 連線與狀態在 分享此伺服器底下提供內建通道的選項。
只要伺服器位於代理、NAT 或通道之後,就將 --public-url 設為
用戶端實際應該連線的位址。它預設為本機繫結,因此若不設定,
用戶端會嘗試錯誤的主機。
有幾項功能仍僅限桌面版,因為它們需要原生視窗或機器本身的音訊裝置:浮動的 專注模式膠囊、作業系統通知快顯(應用程式內的通知中心在各處都能運作)、 從日曆事件「開始錄製並連結」,以及重新執行會議摘要。其他一切——空間、代理、 pull request 審查、管線、工單、記憶與會議錄製本身——行為都相同。
要將網頁應用程式連線到伺服器,請參閱 連線至遠端伺服器。要自行代管伺服器, 請參閱執行無介面伺服器。
桌面系統需求
標題為「桌面系統需求」的章節| 需求 | macOS | Windows | Linux |
|---|---|---|---|
| 作業系統版本 | macOS 13+ (Ventura) | Windows 10+ | Ubuntu 22.04+,或其他搭載 glibc 2.35+ 與 GTK 3 的發行版 |
| 架構 | Apple Silicon (arm64) | x64, ARM64 | x86_64 |
| Git | 必要 | 必要 | 必要 |
| 磁碟空間 | 應用程式約 200 MB,另加伺服器的資料目錄 | 約 200 MB | 約 200 MB |
Intel Mac 沒有預先建置的下載檔。請改為從原始碼建置。
伺服器的資料目錄會比應用程式本身大得多。cc_server 首次啟動時會強制安裝
裝置端模型——文字嵌入(約 90 MB)、語者分離(約 35 MB)
與所選的語音模型(預設為 Parakeet TDT v3,約 600 MB;Whisper
各版本為 198–626 MB)——再加上內嵌的 code-server 組建,而每段
代理對話都會為它處理的儲存庫取得一份寫入時複製的工作樹(Windows 上
則是單純的 git worktree)。語音並非可有可無:沒有 ASR 模型,就不會提供
會議與聽寫操作。語音模型首次下載後仍需要重新啟動一次,
錄音功能才會亮起。
桌面版會將其伺服器指向作業系統的每位使用者應用程式支援目錄。手動啟動
且未指定 --data-dir 的 cc_server 會預設為 <application data>/control-center——macOS 上為
~/Library/Application Support/control-center,Windows 上為 %APPDATA%\control-center,
Linux 上為 $XDG_DATA_HOME/control-center(或 ~/.local/share/control-center)。
以下每個成品都來自 GitHub Releases。
macOS (Apple Silicon)
標題為「macOS (Apple Silicon)」的章節下載 Control-Center-<version>-arm64.dmg,開啟它,然後將 Control Center 拖曳到「應用程式」資料夾。這個組建以
Developer ID 簽署並經 Apple 公證,因此可正常開啟。
Windows (x64, ARM64)
標題為「Windows (x64, ARM64)」的章節Control-Center-<version>-x64-setup.exe:每位使用者的安裝程式。Control-Center-<version>-windows-x64.zip:可攜式 zip。Control-Center-<version>-arm64-setup.exe:每位使用者的安裝程式。Control-Center-<version>-windows-arm64.zip:可攜式 zip。
Windows 使用 git worktree 處理空間的檢出(不採用寫入時複製)。
Linux (x86_64)
標題為「Linux (x86_64)」的章節Control-Center-<version>-x86_64.AppImageControl-Center-<version>-linux-x64.tar.gz
AppImage 內含更新資訊,因此 AppImageUpdate 或 appimaged 可以就地將它更新到最新版本,只下載有變更的部分。
兩者都建置於 Ubuntu 22.04,並可在該版本或任何更新的版本上執行(Debian 12、Fedora 36 及後續版本):它們連結 glibc 2.35 與 GCC 12 的 libstdc++,並從系統取得 GTK 3。一般桌面可能缺少的少數程式庫已隨附其中,因此無須安裝其他東西。音效——會議播放、聲景、機台音訊與通知提示音——透過系統的 libmpv 播放(Ubuntu 22.04 上為 libmpv1,較新的 Ubuntu 與 Debian 上為 libmpv2,Fedora 上為 mpv-libs);沒有它,應用程式啟動時會隱藏這些控制項。
獨立伺服器
標題為「獨立伺服器」的章節每個版本也單獨提供無介面伺服器——cc_server-<version>-macos-arm64.tar.gz、cc_server-<version>-linux-x64.tar.gz、cc_server-<version>-windows-x64.zip、cc_server-<version>-windows-arm64.zip——以及 GHCR 上的 cc-server、cc-webapp 與 cc-remote 映像。參見執行無介面伺服器。
Linux 封存檔建置於 Ubuntu 22.04,其隨附的原生程式庫連結 glibc 2.35 與 GCC 12 的 libstdc++,因此需要至少同樣新的主機(Ubuntu 22.04、Debian 12、Fedora 36 或後續版本)。在較舊的發行版上,請改為執行 cc-server 映像——容器自帶使用者空間,因此只有核心需要由你提供。
代理後端
標題為「代理後端」的章節Control Center 透過配接器派送代理。配接器只有兩個,清單是固定的,而且會自動偵測——無法再註冊其他配接器。
Control Center(內建)配接器不需要外部 CLI:代理迴圈在伺服器內部執行,並透過 HTTP 與模型供應商通訊,因此永遠可用。在設定 → 伺服器 → 模型供應商底下連接供應商。OpenAI、Codex、Cursor 與 Kimi Code 提供瀏覽器登入;Anthropic、OpenRouter、Google Gemini、DeepSeek、Mistral、xAI、z.ai 與 Moonshot 則需要 API 金鑰。Codex 與 Cursor 是這個執行器上的供應商,而不是獨立的 CLI。z.ai 刻意列出兩次:z.ai 是按用量付費的開放平台,從你的帳戶餘額扣款;而 z.ai GLM Coding Plan 則是訂閱方案。兩者使用同一個帳戶金鑰,但 z.ai 從不同的主機提供該方案——將編碼方案的 key 貼到一般的 z.ai 磚中,每個請求都會回傳 429 … "Insufficient balance or no resource package",因為該方案沒有餘額可扣。Claude Pro/Max 訂閱不是 Anthropic API 登入;請改為透過 Claude Code 配接器使用該方案。你在該頁面_可以_新增的是自訂供應商——任何與 OpenAI 或 Anthropic 相容的端點(Ollama、LM Studio、vLLM、私人部署),位於自訂供應商 → 新增供應商底下。
另一個配接器則包裝外部 CLI:
- Claude Code(
claude):npm install -g @anthropic-ai/claude-code
偵測會探查執行 cc_server 的機器上的 PATH——桌面版自行執行伺服器時即為同一台機器,否則為遠端主機。請在那裡安裝 Claude Code CLI,而不是在用戶端上。該頁面上的重新整理按鈕會重新執行探查。
模型清單由每個已連線的供應商即時提供;models.dev 只提供價格與情境視窗的中繼資料。參見管理配接器與模型。
GitHub 身分驗證
標題為「GitHub 身分驗證」的章節GitHub 憑證是你的,並存放在伺服器上,以你的使用者 id 為鍵——不是在用戶端的作業系統鑰匙圈中。你登入的每部裝置都使用同一份,其他成員無法讀取。
如果伺服器已註冊 GitHub App(建立 GitHub App),設定 → 工作區 → 個人資料與身分 → 程式碼託管會提供以 GitHub 登入(由伺服器執行的裝置流程)。否則請貼上個人存取權杖:
- Classic:
repo與read:org - Fine-grained:Contents 與 Pull requests(讀取與寫入)、Checks 與 Actions(讀取)
請在 GitHub → Settings → Developer settings → Personal access tokens 建立一個。伺服器會在權杖儲存時探查其帳戶名稱,因此該列可以顯示「已登入為 …」;探查失敗仍會儲存權杖,而拼字錯誤或缺漏的權限範圍會在之後以請求失敗的形式浮現。
入門引導的第一步就是這項連線。之後,同一張卡片就是你替換或清除它的地方。GitLab 與 Bitbucket 使用同一張卡片;參見連接程式碼託管。
選擇伺服器的執行位置
標題為「選擇伺服器的執行位置」的章節Control Center 是精簡用戶端,疊在擁有資料庫並承擔所有工作的無介面 cc_server 行程之上;部署與用戶端說明了這種拆分對桌面、網頁與手機的意義。
桌面版首次啟動時會詢問 「Control Center 要以何種方式執行?」:
- 在此應用程式內執行:桌面版會在本機啟動並監督一個
cc_server,並透過回送與它通訊。無須其他設定。這正是快速入門所假設的設定。 - 連線至遠端執行個體:以 WebSocket URL、裝置 id,以及配對金鑰或一次性邀請碼,將桌面版指向在其他位置執行的
cc_server。資料歸那台伺服器所有;這個桌面版只負責呈現。
之後可在設定 → 伺服器 → 連線與狀態新增或切換伺服器。切換會就地重新連線——無須重新啟動。瀏覽器無法執行伺服器,因此網頁用戶端一律是遠端的;參見連線至遠端伺服器。
要自行代管伺服器,請參閱執行無介面伺服器。當中涵蓋建置二進位檔、在首次啟動前產生配對金鑰,以及 --data-dir / --port / --bind 旗標。
驗證你的設定
標題為「驗證你的設定」的章節- 設定 → 伺服器 → 模型供應商會列出兩個配接器。「Control Center(內建)」會顯示為已找到,版本為
built-in;若伺服器主機的PATH上有它的 CLI,Claude Code 也會顯示為已找到。若找不到,請按重新整理。 - 設定 → 工作區 → 存放庫會列出此工作區的儲存庫,而新增存放庫會瀏覽伺服器主機上的資料夾。
- 設定 → 工作區 → 代理會列出你第一個工作區預置的五個代理。每個代理都需要設定配接器與模型才能執行。
- 設定 → 伺服器 → 診斷與隱私會報告此主機提供的沙箱後端、嵌入模型的狀態,以及日誌。
從原始碼建置
標題為「從原始碼建置」的章節原生程式庫是必要的,而且沒有降級模式:缺少任何一個都會導致啟動時硬性失敗,而不是走較慢的路徑。請先暫存它們,再做其他事。所有 Flutter 與 Dart 指令都必須透過 fvm 執行,因為 SDK 版本由這個儲存庫鎖定。
git clone https://github.com/SamuelAlev/control-center.gitcd control-centerscripts/natives/build_natives.shfvm flutter pub getfvm flutter pub run build_runner build --delete-conflicting-outputsfvm flutter gen-l10nfvm flutter run -d macos # or -d windows, -d linux在 macOS 上,安全儲存(GitHub、Linear 與 Google 登入)需要應用程式由 Apple 團隊簽署——免費的 Apple ID 就已足夠,這是一次性設定,詳見本機開發簽署。沒有它,應用程式仍可啟動;只有安全儲存無法使用。Windows 與 Linux 無須簽署。
要建置無介面伺服器二進位檔,請先用同樣方式暫存原生程式庫,然後:
cd apps/cc_serverfvm dart build cli建置掛鉤會把 build/natives/ 中已有的內容複製到套件組合中,因此在暫存之前建置,會得到一個沒有原生程式庫的套件組合,以及一個拒絕啟動的伺服器。
網頁用戶端請使用 scripts/build_web.sh(手機 PWA 用 --target remote)。CI 執行的就是它:單純的 flutter build web 會跳過建置識別戳記、Web Worker 重新產生、部署清單,以及資源預算檢查。