連接遠端伺服器
每個用戶端都只是渲染器,背後是掌管資料的 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 欄位上的後綴按鈕會探索你 LAN 或 tailnet 上的cc_server執行個體。 - 按一下連接,然後在新伺服器那一列按切換。
切換會即時生效:應用程式就地依新工作階段重新建構,無須重新啟動。若連接失敗, 你會留在目前的伺服器,並看到錯誤。你目前所在伺服器的那一列沒有切換動作; 本機伺服器是第一列,標示為在此應用程式內執行。
切換之後,桌面應用程式不再擁有任何資料庫。每個畫面都經 WebSocket 透過遠端 伺服器讀寫。
連接網頁用戶端
標題為「連接網頁用戶端」的章節網頁組合包永遠是遠端的。
- 開啟 app.usectrl.dev,或你自行託管的網頁組合包副本。
- 輸入伺服器 URL,以及邀請碼,或裝置 ID 與配對金鑰。
- 用戶端會撥接伺服器,並渲染出與桌面應用程式相同的介面。
若 URL 中含有配對深層連結,這些欄位會預先填好。配對金鑰位於 URL 的片段中, 瀏覽器從不把它傳送給託管頁面的伺服器,因此靜態託管方永遠看不到它。
瀏覽器不做哪些事
標題為「瀏覽器不做哪些事」的章節網頁用戶端讀寫的伺服器與桌面應用程式相同,但有幾個介面需要原生視窗或該機器 自身的裝置:
- 沒有作業系統通知彈出提示、通知音效或環境橫幅列(應用程式內通知中心仍可運作)
- 新增伺服器對話方塊中沒有 LAN 或 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”。參閱工作區與隔離。