跳到內容

cc_server CLI

每個行程旗標都接受一個命令列旗標或一個環境變數;旗標優先,其次是環境變數, 最後才是預設值。第三方憑證是例外——見下文。

旗標 環境變數 預設值 意義
--data-dir CC_SERVER_DATA_DIR 作業系統的每位使用者應用程式資料目錄(見下文) 資料庫、密鑰、模型與快取媒體
--port CC_SERVER_PORT 9030 TCP 連接埠(0 = 臨時)
--bind CC_SERVER_BIND loopback loopback,或 any/all/0.0.0.0 表示所有介面(需要 TLS 或 --insecure)
--repo-roots CC_SERVER_REPO_ROOTS 伺服器使用者的家目錄 用戶端註冊儲存庫時可瀏覽的基準目錄,以逗號分隔。瀏覽某個根目錄之上的路徑會被拒絕
--log-level CC_SERVER_LOG_LEVEL warning debug、info、warning 或 error。啟動與就緒的日誌行一律會印出
--server-name CC_SERVER_NAME 本機主機名 顯示在選擇器、探索與配對介面上的名稱
旗標 環境變數 預設值 意義
--tls-cert CC_SERVER_TLS_CERT 未設定 PEM 憑證鏈。與金鑰一起設定時,會在行程內提供 wss://
--tls-key CC_SERVER_TLS_KEY 未設定 與憑證相符的 PEM 私密金鑰
--insecure CC_SERVER_INSECURE 關閉 允許非回送的明文繫結。僅限在可信任網路上、位於負責終止 TLS 的代理後方使用;設定 TLS 時會被忽略
--public-url CC_SERVER_PUBLIC_URL 由繫結推導 本伺服器向已配對用戶端公告的 RPC URL。在代理、NAT 或通道後方請明確設定這個值——預設值只是對本機繫結的猜測
--allowed-origins CC_SERVER_ALLOWED_ORIGINS https://app.usectrl.dev 允許跨來源撥接 /rpc 的瀏覽器來源,以逗號分隔。回送與原生用戶端一律允許
--web-client-url CC_SERVER_WEB_CLIENT_URL 未設定 託管網頁用戶端的來源,單一登入回呼會跳轉回該位址
--signaling-url CC_SERVER_SIGNALING_URL wss://signaling.usectrl.dev 本伺服器加入的中繼代理,讓手機在沒有直接路徑時也能觸達它
--mdns CC_SERVER_MDNS auto 區域網路公告:auto(僅在繫結至回送以外的位址時)、on、off。探索只公告伺服器的存在——加入仍需要配對
--tunnel CC_SERVER_TUNNEL off 受管理的通道供應商:off、cloudflared、ngrok、tailscale。對外公開需要主動開啟
--tunnel-binary CC_SERVER_TUNNEL_BINARY 從 PATH 解析 明確指定通道二進位檔的路徑
--tunnel-sha256 CC_SERVER_TUNNEL_SHA256 未設定 該二進位檔的預期 SHA-256,每次啟動前都會驗證
--tunnel-args CC_SERVER_TUNNEL_ARGS 空 通道呼叫的額外引數,以逗號分隔
旗標 環境變數 預設值 意義
--sandbox CC_SERVER_SANDBOX on 當主機提供作業系統原生沙箱時,是否用它包裹代理執行。這是供你選擇退出的機制,而不是用來啟用的——見下文
--code-index CC_SERVER_CODE_INDEX on 背景程式碼圖索引的現場終止開關。off 能在不需重新建置的情況下乾淨啟動
--code-index-defer CC_SERVER_CODE_INDEX_DEFER 15 在就緒橫幅出現後延後首次索引掃描的秒數(限制在 0–300 之間)
--tool-deferral CC_SERVER_TOOL_DEFERRAL on 執行環境的執行是否只送出一小組常駐工具加上一份名稱索引,其餘工具在首次使用時才載入。見下文
--credential-gate CC_SERVER_CREDENTIAL_GATE 900 執行擱置等待真人修復無法服務它的憑證的秒數(限制在 0–3600 之間)。見下文

憑證取空值會被視為未設定,因此內建的回退值仍然適用。從原始碼建置的版本完全不含 任何內建憑證。

Google Calendar 與 Klipy GIF 選擇器只能透過環境變數設定——沒有 --google-client-id / --klipy-app-key 旗標(未知的旗標會被忽略)。請在環境中 (或伺服器旁的 .env 檔案裡)設定 GOOGLE_OAUTH_CLIENT_ID + GOOGLE_OAUTH_CLIENT_SECRET,以及 KLIPY_APP_KEY。留空會停用該功能,而不會 導致啟動失敗。

伺服器在啟動時會探測主機一次,只要有可用的後端,就會用作業系統原生沙箱包裹代理 的命令執行:macOS 上是 sandbox-exec(Seatbelt),Linux 與 WSL2 上則是 bwrap 加 socat。在沒有後端的地方——Windows,或缺少這些工具的 Linux 主機——執行會 回退到環境清理、命令政策與動作護欄,而啟動日誌會說明適用的是哪一種狀態。

--sandbox off 是針對探測無法察覺的情況所提供的現場終止開關:主機上的沙箱設定檔 本身行為異常。它不需要重新建置,而且伺服器會在整個行程存續期間記錄一則警告, 因此這個狀態絕不會無聲無息。

內建執行環境的執行會送出一小組常駐的工具定義,加上其餘工具的僅含名稱索引,這些 工具會在首次使用時載入各自的結構描述。這能把工具區塊縮減約 78%,並讓永遠可見的 集合落在模型能可靠選擇工具的區間內。隨需載入的工具自始至終都可以按名稱呼叫,而 search_tools 也能依意圖找到它們。參閱工具情境與提示快取。

--tool-deferral off 會讓每一個被准入的工具重新常駐,重現隨需載入出現之前伺服器 所發出的請求。它是針對無法好好應付兩層式工具介面的模型所提供的終止開關——只要 一個旗標,而不必重新建置。它只影響內建執行環境;外部用戶端看到的 MCP tools/list 永遠是完整目錄。

當某次執行所使用的供應商憑證缺少或已耗盡時,該次執行會被擱置等待,而不是 直接失敗:操作人員會收到提示去修復,修好後執行便會繼續。預設期限是 900 秒 (15 分鐘),限制在 0–3600 之間。

這個期限刻意比核准提示長得多:核准是某個人在幾秒內做出的決定,而修復憑證則意味著 打開終端機、登入再回來。正是這個上限讓無人看管的執行——管線步驟、cron 觸發器、 webhook——不必一直等待一個正在睡覺的人。期限一到,該次執行就會帶著它本來就會 出現的訊息失敗。

--credential-gate=0 是終止開關:任何東西都不會被擱置等待,憑證有問題時會像這個 閘門出現之前那樣結束該回合。

指令 作用
cc_server 執行伺服器,直到收到 SIGINT/SIGTERM
cc_server pair 佈建一台裝置,並印出它的 id 與配對金鑰。即使伺服器正在提供某個資料目錄的服務也能安全執行——執行中的伺服器無需重新啟動就會接收該裝置
cc_server calendar connect --workspace <id> 透過裝置代碼流程把 Google 帳號連接到工作區,然後結束
cc_server update 檢查、下載並驗證較新的獨立發行版本
cc_server --version 印出建置版本與 git SHA——與 /healthz 及 RPC 交握所公告的身分相同
旗標 預設值 意義
--device web-client 裝置 id。平台會從它推斷,因此 --device desktop 會產生一列桌面裝置,而 --device ios/android 會產生一列手機裝置;其他任何值都是網頁用戶端
--label 平台名稱加上這台機器的主機名 裝置清單中的顯示名稱
--host localhost,或繫結至所有介面時的 <this-host> 要嵌入所印出 URL 的主機。請將它設為用戶端實際會撥接的區域網路 IP 或通道主機
--client-url 未設定 託管網頁用戶端的來源。會額外加上可掃描的深層連結與終端機 QR 碼

pair 也接受核心的 --data-dir、--port 與 --bind 旗標:它們決定要寫入的資料 目錄,並形塑所印出的伺服器 URL(回送時為 ws,--bind any 時為 wss)。對同一個 --device 重新執行 pair 會輪替它的金鑰,並終止該裝置使用中的工作階段。在這裡 簽發的憑證不會過期,不像應用程式內配對會設定 30 天。

--apply 會取代目前的安裝;只要設定的連接埠上仍有伺服器在回應,該操作就會遭拒, 除非你傳入 --force。--allow-downgrade 允許降級至較舊的發行版本。

對於它並不擁有的安裝,這個指令會直接拒絕,並給出說明而不是錯誤:

環境 偵測方式 顯示的說明
桌面版內嵌的伺服器 CC_EMBEDDED=1 或 CC_BOOTSTRAP_DEVICE_ID 請改為更新應用程式——安裝程式會替換整棵目錄樹
以 dart run 執行的原始碼簽出 指令碼路徑以 .dart 結尾 請用 git 更新
Docker 容器標記 拉取較新的映像

cc_server 會一直執行,直到收到 SIGINT / SIGTERM。有一個額外的環境變數控制 這件事,而且它是由桌面版設定,而不是由你設定:

變數 作用
CC_EXIT_WITH_PARENT=1 當父行程結束時,伺服器也會結束;判斷方式是父行程關閉了它 stdin 管道的寫入端。桌面版會設定它,這樣應用程式當掉時,絕不會留下一個仍佔用資料目錄的孤兒伺服器

只有在你把 cc_server 當作子行程監管,並想要獲得同樣保證時,才需要自行設定它。

預設資料目錄在 macOS 上是 ~/Library/Application Support/control-center, 在 Windows 上是 %APPDATA%\control-center,在其他平台上則是 $XDG_DATA_HOME/control-center(否則為 ~/.local/share/control-center)。只有 在無法解析出家目錄或應用程式資料目錄時,才會使用相對於目前工作目錄的 .cc_server。

路徑 內容
global.db 工作區註冊表、使用者、已配對裝置、新聞動態與機群佇列
<workspaceId>/workspace.db 每個工作區一個資料庫——代理、空間、工單、記憶、程式碼圖
<workspaceId>/chat_credentials/ 聊天機器人權杖,以純文字 JSON 保存,因此會隨工作區一起移動
secrets.json 配對金鑰、供應商應用程式身分、每位使用者的權杖與 Google 權杖、SSO(0600)
backups/<timestamp>/ 一份安裝快照——manifest.json、global.db 以及每個工作區的副本
backups/exports/ 單一工作區的匯出,<workspaceId>-<timestamp>.db
backups/transfer/ 備份下載與上傳的暫存區;由寫入它的路由負責清理
models/ 裝置端的嵌入、語者分離與語音模型
meetings/<meetingId>/ 保留的會議音訊
rigs/images/ 匯入的機台磁碟映像(QEMU 桌面介面)
rigs/smolvm/<rigId>/ 每台機台的 microVM 執行階段狀態(仲介程式的密鑰,0600)
rigs/smolvm-packs/ 預先解壓縮的機器套件——讓機台重複啟動變快的快取
rigs/tls/ 機台 HTTPS 用的開發網域憑證授權單位(金鑰為 0600)
rigs/run/<rigId>/ QEMU 疊層、種子映像與每台 VM 的金鑰(0600)