コンテンツにスキップ

cc_server CLI

すべてのプロセスフラグは CLI フラグまたは環境変数で指定します。優先されるのはフラグ、 次に環境変数、最後にデフォルトです。サードパーティの資格情報は例外です — 以下を参照してください。

フラグ 環境変数 デフォルト 意味
--data-dir CC_SERVER_DATA_DIR OS のユーザー単位のアプリケーションデータディレクトリ(以下を参照) データベース、シークレット、モデル、キャッシュ済みメディア
--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 未設定 シングルサインオンのコールバックが戻る先となる、ホストされた Web クライアントのオリジン
--signaling-url CC_SERVER_SIGNALING_URL wss://signaling.usectrl.dev 直接経路のないスマートフォンから到達できるよう、このサーバーが参加するリレーブローカー
--mdns CC_SERVER_MDNS auto LAN へのアドバタイズ: 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 利用可能な場合に、エージェントの実行をホストの OS ネイティブサンドボックスで包むかどうか。有効化ではなくオプトアウト — 以下を参照
--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 というフラグはありません(不明なフラグは無視されます)。 GOOGLE_OAUTH_CLIENT_ID と GOOGLE_OAUTH_CLIENT_SECRET、および KLIPY_APP_KEY を 環境(またはサーバーの隣の .env)で設定してください。空にすると、ブートを失敗させる のではなくその機能が無効になります。

サーバーは起動時に一度だけホストをプローブし、バックエンドが利用できる場合はエージェントの コマンド実行を OS ネイティブのサンドボックスで包みます。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 はスマートフォンの行を生成し、それ以外は Web として扱われる
--label プラットフォーム名とこのマシンのホスト名 デバイス一覧に表示される名前
--host localhost、任意のインターフェースにバインドされている場合は <this-host> 出力される URL に埋め込むホスト。クライアントが実際に接続する LAN IP またはトンネルホストに設定する
--client-url 未設定 ホストされた Web クライアントのオリジン。スキャン可能なディープリンクとターミナル 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 まで実行されます。これを制御する環境変数がもう 1 つあり、 それはあなたではなくデスクトップが設定します:

変数 効果
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)です。cwd 相対の .cc_server が使われるのは、 ホームディレクトリもアプリデータディレクトリも解決できない場合だけです。

パス 内容
global.db ワークスペースレジストリ、ユーザー、ペアリング済みデバイス、ニュースフィード、フリートキュー
<workspaceId>/workspace.db ワークスペースごとに 1 つのデータベース — エージェント、スペース、チケット、メモリ、コードグラフ
<workspaceId>/chat_credentials/ チャットボットのトークン。プレーンな JSON なので、ワークスペースと一緒に移動する
secrets.json ペアリングキー、プロバイダーのアプリ ID、ユーザー単位および Google のトークン、SSO(0600)
backups/<timestamp>/ 1 回分のインストールスナップショット — 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)