連線至遠端伺服器
每個用戶端都是疊在掌管資料的 cc_server 之上的呈現層。桌面版可以在自身內部
執行一個;app.usectrl.dev 上的網頁應用程式則不行,
因為瀏覽器分頁無法代管伺服器。無論是哪一種,本指南都會把用戶端指向在其他位置
執行的伺服器——一台小型主機、一台雲端 VM,或一台建置伺服器。
先決條件
標題為「先決條件」的章節- 一個執行中的
cc_server。如果你還沒有,請參閱執行無介面伺服器。 - 伺服器簽發的三個配對值——伺服器 URL(
ws://…/rpc或wss://…/rpc)、裝置 ID 與配對金鑰——或由工作區管理員提供的一次性邀請碼。兌換邀請會佈建你的使用者、記錄你的成員資格,並為你簽發此用戶端的認證資訊,所以你永遠不必處理裝置 ID 或金鑰。
確認伺服器可以連線
標題為「確認伺服器可以連線」的章節本機伺服器不需要任何設定:ws://localhost:9030/rpc 在桌面版與瀏覽器上都能
運作,因為瀏覽器把回送位址視為可信任的來源。
位於其他機器上的伺服器則不然。app.usectrl.dev 是透過 HTTPS 提供,因此瀏覽器
只會以它已信任的憑證開啟 wss:// 通訊端——而且 cc_server 一開始就拒絕在沒有
TLS 的情況下繫結非回送位址。請為它提供下列其中一項:
- 直接提供憑證,使用
--tls-cert與--tls-key - 在前面放置負責終止 TLS 的反向代理,並以
--insecure啟動伺服器(代理後方為明文,僅限可信任的網路) - 由通道或 VPN 提供憑證——Tailscale、cloudflared 或類似工具。設定 → 伺服器 → 連線與狀態在分享此伺服器底下提供內建通道的選用開關。
伺服器端有兩項設定很容易被忽略。在代理、NAT 或通道後方時,請將
--public-url 設為用戶端實際應撥接的位址——它預設為本機繫結,少了它,用戶端
就會嘗試錯誤的主機。而如果你自行代管網頁版本的副本,請把它的來源加入
--allowed-origins;該設定預設只允許 https://app.usectrl.dev,回送與原生
用戶端則一律允許。
連接桌面應用程式
標題為「連接桌面應用程式」的章節全新安裝時:
- 啟動 Control Center。首次執行畫面會詢問Control Center 要以何種方式執行?
- 不要選在此應用程式內執行,而是填入連線欄位:伺服器 URL,以及邀請碼,或裝置 ID 與配對金鑰。
- 按一下連線。Control Center 會撥接伺服器,並進入工作區收件匣。
若桌面版已經在執行自己的伺服器:
- 開啟設定 → 伺服器 → 連線與狀態。
- 按一下新增伺服器。輸入伺服器 URL(
wss://host:9030/rpc),以及邀請碼,或裝置 ID 與配對金鑰。URL 欄位尾端的按鈕會探索你區域網路或 tailnet 上的cc_server執行個體。 - 按一下連線,然後在新伺服器的那一列按一下切換。
切換是即時的:應用程式會就地以新的工作階段重建,不必重新啟動。如果連線 失敗,你會留在目前的伺服器上並看到錯誤。你目前所在伺服器的那一列沒有 切換動作;本機伺服器是第一個資料列,標示為在此應用程式執行。
一旦切換完成,桌面版就不再擁有任何資料庫。每個畫面都透過 WebSocket 向遠端 伺服器讀寫。
連接網頁用戶端
標題為「連接網頁用戶端」的章節網頁版本一律為遠端。
- 開啟 app.usectrl.dev,或你自己的網頁版本副本。
- 輸入伺服器 URL,以及邀請碼,或裝置 ID 與配對金鑰。
- 用戶端會撥接伺服器,並呈現與桌面版相同的介面。
如果 URL 中含有配對深層連結,欄位會預先填好。配對金鑰藏在 URL 的片段中, 瀏覽器永遠不會把它傳送給代管頁面的伺服器,因此靜態主機永遠看不到它。
瀏覽器做不到的事
標題為「瀏覽器做不到的事」的章節網頁用戶端與桌面版讀寫同一台伺服器,但有幾個介面需要原生視窗或機器本身的 裝置:
- 沒有作業系統通知快顯、通知音效,也沒有環境橫幅列(應用程式內通知中心仍可運作)
- 新增伺服器對話方塊中沒有區域網路或 tailnet 的伺服器探索
- 沒有應用程式內文章閱讀器——新聞動態文章會在新分頁開啟
- 無法重新執行會議摘要,也無法取消正在處理的摘要
有兩項是行為不同,而非付之闕如。會議錄製在瀏覽器中可以運作,會擷取你的 麥克風,外加包含音訊軌的螢幕分享。在 IDE 中開啟也可以運作,但它會要求 伺服器在_伺服器_的顯示器上啟動編輯器,因此面對沒有安裝任何編輯器的無介面 主機時,這個按鈕會自行隱藏。
疑難排解
標題為「疑難排解」的章節- 連線逾時:伺服器必須能從用戶端連線。請檢查繫結(
--bind any)、連接埠是否開啟,以及--public-url是否指向用戶端實際能撥接的位址。在公開網際網路上,TLS 是強制要求——除非伺服器是在代理後方以--insecure啟動,否則明文且非回送的繫結會在啟動時遭到拒絕。 - 瀏覽器拒絕連線,但原生用戶端可以運作:瀏覽器的來源不在伺服器的
--allowed-origins清單上。預設只允許https://app.usectrl.dev(加上回送位址)。 - 配對金鑰遭拒:在伺服器上重新執行
cc_server pair,以輪替該裝置的金鑰,然後輸入新的金鑰。已撤銷的裝置會發現其認證資訊已不存在並以失敗關閉;撤銷會在幾秒內中斷使用中的工作階段。 - 工作區錯誤:工作區是 URL 的一部分(
/workspaces/:workspaceId/…),並隨每次呼叫傳遞,因此在某個用戶端切換工作區只會改變你自己的檢視。你只能觸及自己是成員的工作區——其他一律會以「Not a member of this workspace」拒絕。請參閱工作區與隔離。