İçeriğe geç

cc_server CLI

Her süreç bayrağı bir CLI bayrağı ya da bir ortam değişkeni alır; önce bayrak, sonra ortam, en son varsayılan geçerlidir. Üçüncü taraf kimlik bilgileri bunun istisnasıdır — aşağıya bakın.

Bayrak Ortam Varsayılan Anlam
--data-dir CC_SERVER_DATA_DIR işletim sisteminin kullanıcı başına uygulama verisi dizini (aşağıya bakın) Veritabanları, sırlar, modeller ve önbelleğe alınmış medya
--port CC_SERVER_PORT 9030 TCP bağlantı noktası (0 = geçici)
--bind CC_SERVER_BIND loopback loopback ya da tüm arayüzler için any/all/0.0.0.0 (TLS ya da --insecure gerektirir)
--repo-roots CC_SERVER_REPO_ROOTS sunucu kullanıcısının ana dizini Bir istemcinin depo kaydederken göz atabileceği, virgülle ayrılmış temel dizinler. Bir kökün üstüne göz atmak reddedilir
--log-level CC_SERVER_LOG_LEVEL warning debug, info, warning ya da error. Başlatma/hazır satırları her zaman yazdırılır
--server-name CC_SERVER_NAME makinenin ana makine adı Seçicilerde, keşif ve eşleştirme yüzeylerinde gösterilen ad
Bayrak Ortam Varsayılan Anlam
--tls-cert CC_SERVER_TLS_CERT ayarlı değil PEM sertifika zinciri. Anahtarla birlikte ayarlandığında süreç içinde wss:// sunar
--tls-key CC_SERVER_TLS_KEY ayarlı değil Sertifikayla eşleşen PEM özel anahtarı
--insecure CC_SERVER_INSECURE kapalı Düz metin, loopback dışı bir bağlamaya izin verir. Yalnızca güvenilen bir ağda TLS sonlandıran bir proxy arkasında kullanın; TLS yapılandırıldığında yok sayılır
--public-url CC_SERVER_PUBLIC_URL bağlamadan türetilir Bu sunucunun eşleştirilmiş istemcilere duyurduğu RPC URL’si. Bir proxy, NAT ya da tünel arkasındaysanız bunu açıkça ayarlayın — varsayılan, yerel bağlamaya dair bir tahminden ibarettir
--allowed-origins CC_SERVER_ALLOWED_ORIGINS https://app.usectrl.dev /rpc adresini çapraz kaynaktan arayabilecek, virgülle ayrılmış tarayıcı kaynakları. Loopback ve yerel istemcilere her zaman izin verilir
--web-client-url CC_SERVER_WEB_CLIENT_URL ayarlı değil Tek oturum açma geri çağrılarının döndüğü barındırılan web istemcisinin kaynağı
--signaling-url CC_SERVER_SIGNALING_URL wss://signaling.usectrl.dev Doğrudan yolu olmayan bir telefonun bu sunucuya ulaşabilmesi için sunucunun katıldığı aktarma aracısı
--mdns CC_SERVER_MDNS auto LAN duyurusu: auto (yalnızca loopback dışına bağlanıldığında), on, off. Keşif yalnızca varlığı duyurur — katılmak için yine de eşleştirme gerekir
--tunnel CC_SERVER_TUNNEL off Yönetilen tünel sağlayıcısı: off, cloudflared, ngrok, tailscale. Herkese açık erişim isteğe bağlıdır
--tunnel-binary CC_SERVER_TUNNEL_BINARY PATH üzerinden çözümlenir Açık tünel ikili yolu
--tunnel-sha256 CC_SERVER_TUNNEL_SHA256 ayarlı değil Bu ikiliden beklenen SHA-256; her başlatmadan önce doğrulanır
--tunnel-args CC_SERVER_TUNNEL_ARGS boş Tünel çağrısı için virgülle ayrılmış ek bağımsız değişkenler
Bayrak Ortam Varsayılan Anlam
--sandbox CC_SERVER_SANDBOX on Bir arka uç mevcut olduğunda ajan çalıştırmalarının ana makinenin işletim sistemi sandbox’ına sarılıp sarılmayacağı. Bir etkinleştirme değil, vazgeçme anahtarıdır — aşağıya bakın
--code-index CC_SERVER_CODE_INDEX on Arka planda kod grafiği dizinlemesi için sahadaki kapatma anahtarı. off yeniden derleme olmadan temiz başlatır
--code-index-defer CC_SERVER_CODE_INDEX_DEFER 15 Hazır bildiriminden sonra ilk dizin taramasının bekletileceği saniye (0–300 aralığına sınırlanır)
--tool-deferral CC_SERVER_TOOL_DEFERRAL on Harness çalıştırmalarının küçük bir yerleşik araç kümesi ile bir ad dizini gönderip kalanları ilk kullanımda yükleyip yüklemediği. Aşağıya bakın
--credential-gate CC_SERVER_CREDENTIAL_GATE 900 Kendisine hizmet edemeyen bir kimlik bilgisini bir insanın düzeltmesini beklerken bir çalıştırmanın parkta kalacağı saniye (0–3600 aralığına sınırlanır). Aşağıya bakın

Bir kimlik bilgisi için boş değer ayarlı değil gibi okunur; böylece yerleşik geri dönüş yine geçerli olur. Kaynaktan yapılan bir derleme hiçbir yerleşik kimlik bilgisi taşımaz.

Google Calendar ve Klipy GIF seçici yalnızca ortam değişkeniyle çalışır — --google-client-id / --klipy-app-key diye bir bayrak yoktur (bilinmeyen bayraklar yok sayılır). GOOGLE_OAUTH_CLIENT_ID + GOOGLE_OAUTH_CLIENT_SECRET ve KLIPY_APP_KEY değişkenlerini ortamda (ya da sunucunun yanındaki bir .env dosyasında) ayarlayın. Boş bırakmak, başlatmayı başarısız kılmak yerine o özelliği devre dışı bırakır.

Sunucu, başlangıçta ana makineyi bir kez yoklar ve bir arka uç mevcutsa ajan komut yürütmesini işletim sisteminin yerel sandbox’ına sarar: macOS’ta sandbox-exec (Seatbelt), Linux ve WSL2’de bwrap ile socat. Hiçbirinin bulunmadığı yerlerde — Windows ya da bu araçlardan yoksun bir Linux ana makinesi — çalıştırmalar ortam arındırmasına, komut politikasına ve eylem korumalarına geri düşer ve başlangıç günlüğü hangi durumun geçerli olduğunu söyler.

--sandbox off, yoklayıcının göremediği durum için sahadaki kapatma anahtarıdır: sandbox profilinin kendisinin kötü davrandığı bir ana makine. Yeniden derleme gerektirmez ve sunucu, süreç yaşadığı sürece bir uyarı günlükler; böylece bu durum asla sessiz kalmaz.

Yerleşik harness çalıştırmaları, küçük bir yerleşik araç tanımı kümesi ile kalanların yalnızca adlardan oluşan bir dizinini gönderir; bu araçlar şemalarını ilk kullanıldıklarında yükler. Bu, araç bloğunu yaklaşık %78 küçültür ve her zaman görünen kümeyi, modellerin araçları güvenilir biçimde seçtiği aralıkta tutar. Ertelenen araçlar baştan sona adlarıyla çağrılabilir kalır ve search_tools onları amaca göre bulur. Bkz. Araç bağlamı ve istem önbelleği.

--tool-deferral off, kabul edilen her aracı yeniden yerleşik hale getirir ve sunucunun erteleme var olmadan önce yaptığı istekleri yeniden üretir. İki katmanlı yüzeyle kötü baş eden bir model için kapatma anahtarıdır — yeniden derleme yerine bir bayrak. Yalnızca yerleşik harness’ı etkiler; dış istemcilerin MCP tools/list üzerinden gördüğü şey her zaman tam katalogdur.

Sağlayıcı kimlik bilgisi eksik ya da tükenmiş bir çalıştırma, başarısız kılmak yerine park edilir: operatöre bunu düzeltmesi için bir istem gösterilir ve operatör düzeltirse çalıştırma kaldığı yerden devam eder. Varsayılan süre 900 saniyedir (15 dakika) ve 0–3600 aralığına sınırlanır.

Bu süre, onay istemininkinden kasten çok daha uzundur: onay, birinin saniyeler içinde verdiği bir karardır; oysa bir kimlik bilgisini düzeltmek bir terminal açmak, oturum açmak ve geri dönmek anlamına gelir. Üst sınır, başında kimsenin olmadığı bir çalıştırmanın — bir pipeline adımı, bir cron tetikleyicisi, bir webhook — uyuyan birini beklemesini engelleyen şeydir. Süre dolduğunda çalıştırma, zaten alacağı iletiyle başarısız olur.

--credential-gate=0 kapatma anahtarıdır: hiçbir şey asla park edilmez ve kötü bir kimlik bilgisi, bu kapı var olmadan önce olduğu gibi turu sonlandırır.

Komut Ne yapar
cc_server Sunucuyu SIGINT/SIGTERM gelene kadar çalıştırır
cc_server pair Bir cihaz sağlar ve kimliğini ve eşleştirme anahtarını yazdırır. Bir sunucunun hâlihazırda hizmet verdiği bir veri dizini karşısında güvenlidir — çalışan sunucu, yeniden başlatma olmadan cihazı alır
cc_server calendar connect --workspace <id> Cihaz kodu akışı üzerinden bir Google hesabını bir çalışma alanına bağlar ve çıkar
cc_server update Daha yeni bir bağımsız sürümü denetler, indirir ve doğrular
cc_server --version Derleme sürümünü ve git SHA’sını yazdırır — /healthz ve RPC el sıkışmasının duyurduğu kimliğin aynısı
Bayrak Varsayılan Anlam
--device web-client Cihaz kimliği. Platform bundan çıkarılır; bu yüzden --device desktop bir masaüstü satırı, --device ios/android ise bir telefon satırı üretir; başka her şey web olarak değerlendirilir
--label platform adı artı bu makinenin ana makine adı Cihazlar listesinde görünen ad
--host localhost ya da herhangi bir arayüze bağlanıldığında <this-host> Yazdırılan URL’ye gömülecek ana makine. Bir istemcinin gerçekte arayacağı LAN IP’sine ya da tünel ana makinesine ayarlayın
--client-url ayarlı değil Barındırılan web istemcisinin kaynağı. Taranabilir bir derin bağlantı ve terminal QR kodu ekler

pair ayrıca çekirdek --data-dir, --port ve --bind bayraklarını da kabul eder: bunlar yazılacak veri dizinini seçer ve yazdırılan sunucu URL’sini biçimlendirir (loopback’te ws, --bind any olduğunda wss). Aynı --device için pair komutunu yeniden çalıştırmak anahtarını döndürür ve o cihazın açık oturumlarını düşürür. Burada üretilen bir kimlik bilgisinin, uygulama içi eşleştirmenin belirlediği 30 günün aksine hiçbir son kullanma tarihi yoktur.

--apply kurulumun yerini alır; yapılandırılmış bağlantı noktasında hâlâ bir sunucu yanıt veriyorsa, --force vermediğiniz sürece reddedilir. --allow-downgrade daha eski bir sürüme izin verir.

Komut, sahibi olmadığı kurulumlar için hata yerine bir açıklamayla doğrudan reddeder:

Ortam Neyle algılanır Ne söyler
Masaüstünün gömülü sunucusu CC_EMBEDDED=1 ya da CC_BOOTSTRAP_DEVICE_ID Bunun yerine uygulamayı güncelleyin — yükleyici ağacın tamamını değiştirir
Bir dart run kaynak kopyası betik yolu .dart ile biter git ile güncelleyin
Docker kapsayıcı işaretleri Daha yeni bir imaj çekin

cc_server, SIGINT / SIGTERM gelene kadar çalışır. Bunu yöneten bir ek ortam değişkeni vardır ve bunu siz değil masaüstü ayarlar:

Değişken Etki
CC_EXIT_WITH_PARENT=1 Sunucu, üst süreci sona erdiğinde çıkar; bu, üst sürecin stdin borusunun yazma ucunu kapatmasıyla algılanır. Masaüstü bunu, çöken bir uygulamanın arkasında veri dizinini tutan yetim bir sunucu bırakmaması için ayarlar

Bunu yalnızca cc_server’ı bir alt süreç olarak yönetiyorsanız ve aynı garantiyi istiyorsanız kendiniz ayarlayın.

Varsayılan veri dizini macOS’ta ~/Library/Application Support/control-center, Windows’ta %APPDATA%\control-center, diğer yerlerde $XDG_DATA_HOME/control-center (yoksa ~/.local/share/control-center) olur. Geçerli çalışma dizinine göreli bir .cc_server yalnızca hiçbir ev ya da uygulama verisi dizini çözümlenemediğinde kullanılır.

Yol İçerik
global.db Çalışma alanı kaydı, kullanıcılar, eşleştirilmiş cihazlar, haber akışı ve filo kuyruğu
<workspaceId>/workspace.db Çalışma alanı başına bir veritabanı — ajanlar, alanlar, biletler, bellek, kod grafiği
<workspaceId>/chat_credentials/ Sohbet botu belirteçleri, düz JSON olarak; böylece çalışma alanıyla birlikte taşınırlar
secrets.json Eşleştirme anahtarları, sağlayıcı uygulama kimliği, kullanıcı başına belirteçler ve Google belirteçleri, SSO (0600)
backups/<timestamp>/ Bir kurulum anlık görüntüsü — manifest.json, global.db ve her çalışma alanının bir kopyası
backups/exports/ Tek çalışma alanı dışa aktarımları, <workspaceId>-<timestamp>.db
backups/transfer/ Yedek indirme ve yüklemeleri için hazırlık alanı; onu yazan rota tarafından temizlenir
models/ Cihaz üzerindeki gömme, diarizasyon ve konuşma modelleri
meetings/<meetingId>/ Saklanan toplantı sesi
rigs/images/ İçe aktarılmış rig disk imajları (QEMU masaüstü yüzeyi)
rigs/smolvm/<rigId>/ Rig başına microVM çalışma zamanı durumu (aracı sırrı, 0600)
rigs/smolvm-packs/ Önceden çıkarılmış makine paketleri — rig’lerin tekrar açılışlarını hızlandıran önbellek
rigs/tls/ Rig HTTPS’i için geliştirme alanı sertifika otoritesi (anahtarlar 0600)
rigs/run/<rigId>/ QEMU kaplamaları, tohum imajları ve VM başına anahtarlar (0600)