Tovább a tartalomhoz

cc_server CLI

Minden folyamatszintű beállítás megadható parancssori kapcsolóként vagy környezeti változóként; ilyenkor a kapcsoló nyer, aztán a környezet, végül az alapértelmezett érték. A harmadik féltől származó hitelesítő adatok kivételt képeznek — lásd alább.

Kapcsoló Környezeti változó Alapértelmezés Jelentés
--data-dir CC_SERVER_DATA_DIR az operációs rendszer felhasználónkénti alkalmazásadat-könyvtára (lásd alább) Adatbázisok, titkok, modellek és gyorsítótárazott média
--port CC_SERVER_PORT 9030 TCP-port (0 = ideiglenes)
--bind CC_SERVER_BIND loopback loopback, vagy any/all/0.0.0.0 minden interfészhez (TLS-t vagy --insecure-t igényel)
--repo-roots CC_SERVER_REPO_ROOTS a szerverfelhasználó otthoni könyvtára Vesszővel elválasztott alapkönyvtárak, amelyekben egy kliens repó regisztrálásakor böngészhet. Egy gyökér fölötti böngészést a rendszer megtagad
--log-level CC_SERVER_LOG_LEVEL warning debug, info, warning vagy error. Az indulási és kész-jelző sorok mindig megjelennek
--server-name CC_SERVER_NAME a gép hosztneve A választókban, a felderítésben és a párosítási felületeken megjelenő név
Kapcsoló Környezeti változó Alapértelmezés Jelentés
--tls-cert CC_SERVER_TLS_CERT nincs beállítva PEM-tanúsítványlánc. A kulccsal együtt beállítva a folyamaton belül wss://-t szolgál ki
--tls-key CC_SERVER_TLS_KEY nincs beállítva A tanúsítványhoz tartozó PEM privát kulcs
--insecure CC_SERVER_INSECURE kikapcsolva Engedélyezi a titkosítás nélküli, nem loopback kötést. Csak megbízható hálózaton, TLS-t lezáró proxy mögött; TLS beállítása esetén figyelmen kívül marad
--public-url CC_SERVER_PUBLIC_URL a bind értékéből származtatva A párosított klienseknek hirdetett RPC URL. Proxy, NAT vagy alagút mögött állítsa be kifejezetten — az alapértelmezés csak találgatás a helyi bind alapján
--allowed-origins CC_SERVER_ALLOWED_ORIGINS https://app.usectrl.dev Vesszővel elválasztott böngésző-originök, amelyek cross-origin módban hívhatják a /rpc végpontot. A loopback- és a natív kliensek mindig engedélyezettek
--web-client-url CC_SERVER_WEB_CLIENT_URL nincs beállítva A hosztolt webes kliens originje, ahová az egyszeri bejelentkezés visszahívásai visszairányulnak
--signaling-url CC_SERVER_SIGNALING_URL wss://signaling.usectrl.dev Az a relay-közvetítő, amelyhez ez a szerver csatlakozik, hogy egy telefon közvetlen útvonal nélkül is elérje
--mdns CC_SERVER_MDNS auto LAN-hirdetés: auto (csak loopbacken túli bind esetén), on, off. A felderítés csak a létezést hirdeti — a csatlakozáshoz továbbra is párosítás kell
--tunnel CC_SERVER_TUNNEL off Kezelt alagútszolgáltató: off, cloudflared, ngrok, tailscale. A nyilvános elérés csak külön engedélyezéssel jár
--tunnel-binary CC_SERVER_TUNNEL_BINARY a PATH-ból feloldva Az alagút binárisának kifejezett útvonala
--tunnel-sha256 CC_SERVER_TUNNEL_SHA256 nincs beállítva A bináris elvárt SHA-256-ja, amely minden indítás előtt ellenőrzésre kerül
--tunnel-args CC_SERVER_TUNNEL_ARGS üres Vesszővel elválasztott extra argumentumok az alagút meghívásához

Indexelés és harmadik féltől származó hitelesítő adatok

Szekció neve “Indexelés és harmadik féltől származó hitelesítő adatok”
Kapcsoló Környezeti változó Alapértelmezés Jelentés
--sandbox CC_SERVER_SANDBOX on Hogy az ügynökfutások a gazdagép OS-natív homokozójába kerülnek-e, ha van elérhető háttérrendszer. Kikapcsolási lehetőség, nem engedélyezés — lásd alább
--code-index CC_SERVER_CODE_INDEX on Helyszíni vészkapcsoló a háttérbeli kódgráf-indexeléshez. Az off újraépítés nélkül, tisztán indít
--code-index-defer CC_SERVER_CODE_INDEX_DEFER 15 Hány másodpercig várakozik az első indexelési kör a kész jelzősáv után (0–300 közé szorítva)
--tool-deferral CC_SERVER_TOOL_DEFERRAL on Hogy a harness-futások egy kis rezidens eszközkészletet és egy névindexet küldenek-e, a többit az első használatkor betöltve. Lásd alább
--credential-gate CC_SERVER_CREDENTIAL_GATE 900 Hány másodpercig parkol egy futás arra várva, hogy egy ember kijavítsa a kiszolgálására képtelen hitelesítő adatot (0–3600 közé szorítva). Lásd alább

Egy hitelesítő adat üres értéke beállítatlanként értelmeződik, így a beépített tartalék továbbra is érvényesül. A forrásból készült build egyáltalán nem tartalmaz beépített hitelesítő adatokat.

A Google Calendar és a Klipy GIF-választó csak környezeti változóval állítható be — nincs --google-client-id / --klipy-app-key kapcsoló (az ismeretlen kapcsolókat a rendszer figyelmen kívül hagyja). Állítsa be a GOOGLE_OAUTH_CLIENT_ID + GOOGLE_OAUTH_CLIENT_SECRET, valamint a KLIPY_APP_KEY értékét a környezetben (vagy a szerver melletti .env fájlban). Az üres érték nem az indítást rontja el, hanem letiltja azt a funkciót.

A szerver indításkor egyszer megvizsgálja a gazdagépet, és ha van elérhető háttérrendszer, az ügynökparancsok végrehajtását az OS-natív homokozóba csomagolja: macOS-en sandbox-exec (Seatbelt), Linuxon és WSL2-ben bwrap plusz socat. Ahol ilyen nincs — Windows, vagy egy ezeket az eszközöket nélkülöző Linux-gazdagép —, a futások a környezettisztításra, a parancsszabályzatra és a műveleti korlátokra esnek vissza, és az indítási napló megmondja, melyik állapot érvényes.

A --sandbox off az a helyszíni vészkapcsoló arra az esetre, amelyet a vizsgálat nem lát: egy gazdagép, ahol maga a homokozóprofil viselkedik hibásan. Nem igényel újraépítést, és a szerver a folyamat teljes élettartama alatt figyelmeztetést naplóz, így az állapot soha nem marad csendben.

A beépített harness futásai az eszközdefiníciók egy kis rezidens készletét küldik el, a többihez pedig egy csak neveket tartalmazó indexet; ezek a sémáikat az első használatkor töltik be. Ez nagyjából 78%-kal csökkenti az eszközblokkot, és az állandóan látható készletet abba a sávba tartja, ahol a modellek megbízhatóan választanak eszközt. A halasztott eszközök végig név szerint hívhatók maradnak, a search_tools pedig szándék alapján megtalálja őket. Lásd: Eszközkontextus és promptgyorsítótár.

A --tool-deferral off minden beengedett eszközt újra rezidenssé tesz, pontosan azokat a kéréseket állítva elő, amelyeket a szerver a halasztás megjelenése előtt küldött. Ez a vészkapcsoló arra a modellre, amely rosszul kezeli a kétszintű felületet — egy kapcsoló, nem pedig újraépítés. Csak a beépített harnessre hat; az MCP tools/list, amelyet a külső kliensek látnak, mindig a teljes katalógus.

Egy futás, amelynek szolgáltatói hitelesítő adata hiányzik vagy elfogyott, parkol, nem pedig meghiúsul: az üzemeltető kap egy felszólítást a javítására, és a futás folytatódik, ha megteszi. Az alapértelmezett határidő 900 másodperc (15 perc), 0–3600 közé szorítva.

A határidő szándékosan sokkal hosszabb, mint a jóváhagyási kérésé: egy jóváhagyás olyan döntés, amelyet valaki másodpercek alatt meghoz, míg egy hitelesítő adat kijavítása terminál megnyitását, bejelentkezést és visszatérést jelent. A felső korlát az, ami megakadályozza, hogy egy felügyelet nélküli futás — egy pipeline-lépés, egy cron-eseményindító, egy webhook — olyasvalakire várjon, aki alszik. Amikor lejár, a futás ugyanazzal az üzenettel hiúsul meg, amellyel egyébként is meghiúsult volna.

A --credential-gate=0 a vészkapcsoló: semmi sem parkol soha, és egy hibás hitelesítő adat pontosan úgy zárja le a kört, ahogy a kapu létezése előtt tette.

Parancs Mit tesz
cc_server Addig futtatja a szervert, amíg SIGINT/SIGTERM nem érkezik
cc_server pair Provisionál egy eszközt, és kiírja annak azonosítóját és párosítási kulcsát. Biztonságos olyan adatkönyvtárral szemben, amelyet egy szerver már kiszolgál — a futó szerver újraindítás nélkül felveszi az eszközt
cc_server calendar connect --workspace <id> Eszközkód-folyamattal összeköt egy Google-fiókot egy munkaterülettel, majd kilép
cc_server update Ellenőrzi, letölti és hitelesíti az újabb önálló kiadást
cc_server --version Kiírja a build verzióját és a git SHA-t — ugyanazt az azonosságot, amelyet a /healthz és az RPC-kézfogás hirdet
Kapcsoló Alapértelmezés Jelentés
--device web-client Az eszköz azonosítója. A platform ebből következtethető, így a --device desktop egy asztali sort hoz létre, a --device ios/android pedig egy telefonosat; minden más webként kezelődik
--label a platform neve és e gép hosztneve Az eszközlistában megjelenő név
--host localhost, vagy <this-host> bármely interfészre kötve A kiírt URL-be ágyazandó hoszt. Állítsa arra a LAN IP-re vagy alagúthosztra, amelyet egy kliens valóban hívni fog
--client-url nincs beállítva A hosztolt webes kliens originje. Beolvasható deep linket és terminál-QR-kódot ad hozzá

A pair elfogadja az alapvető --data-dir, --port és --bind kapcsolókat is: ezek választják ki az írandó adatkönyvtárat, és alakítják a kiírt szerver-URL-t (ws loopbacken, wss --bind any esetén). Ha ugyanarra a --device értékre újra lefuttatja a pair parancsot, az lecseréli annak kulcsát, és eldobja az eszköz élő munkameneteit. Az itt kiállított hitelesítő adatnak nincs lejárata, ellentétben az alkalmazáson belüli párosítás által beállított 30 nappal.

A --apply lecseréli a telepítést; a rendszer megtagadja, amíg egy szerver még válaszol a beállított porton, hacsak nem adja meg a --force kapcsolót. Az --allow-downgrade egy régebbi kiadást tesz lehetővé.

A parancs azonnal megtagadja — hibaszöveg helyett magyarázattal — azokat a telepítéseket, amelyek nem a sajátjai:

Környezet Felismerés módja Mit mond
Az asztali alkalmazás beágyazott szervere CC_EMBEDDED=1 vagy CC_BOOTSTRAP_DEVICE_ID Inkább az alkalmazást frissítse — a telepítő a teljes fát lecseréli
Egy dart run forrás-munkapéldány a szkript útvonala .dart-ra végződik Frissítse gittel
Docker konténerjelzők Húzzon le egy újabb image-et

A cc_server addig fut, amíg SIGINT / SIGTERM nem érkezik. Ezt egyetlen extra környezeti változó szabályozza, amelyet nem Ön, hanem az asztali alkalmazás állít be:

Változó Hatás
CC_EXIT_WITH_PARENT=1 A szerver akkor lép ki, amikor a szülőfolyamata is kilép; ezt a szülő azt jelezve érzékeli, hogy lezárja a stdin-cső írási végét. Az asztali alkalmazás azért állítja be, hogy egy összeomlott app soha ne hagyjon maga után árva szervert, amely fogva tartja az adatkönyvtárat

Csak akkor állítsa be saját maga, ha gyermekfolyamatként felügyeli a cc_server-t, és ugyanezt a garanciát szeretné.

Az alapértelmezett adatkönyvtár macOS-en ~/Library/Application Support/control-center, Windowson %APPDATA%\control-center, másutt pedig $XDG_DATA_HOME/control-center (ha ez nincs, ~/.local/share/control-center). A munkakönyvtárhoz viszonyított .cc_server csak akkor használatos, ha sem otthoni, sem alkalmazásadat-könyvtár nem oldható fel.

Útvonal Tartalom
global.db A munkaterület-nyilvántartás, a felhasználók, a párosított eszközök, a hírfolyam és a flottasor
<workspaceId>/workspace.db Munkaterületenként egy adatbázis — ügynökök, terek, jegyek, memória, a kódgráf
<workspaceId>/chat_credentials/ Csevegőbot-tokenek egyszerű JSON-ként, hogy a munkaterülettel együtt mozogjanak
secrets.json Párosítási kulcsok, a szolgáltatói alkalmazásidentitás, felhasználónkénti és Google-tokenek, SSO (0600)
backups/<timestamp>/ Egy telepítési pillanatkép — manifest.json, global.db és minden munkaterület egy másolata
backups/exports/ Egyetlen munkaterület exportjai, <workspaceId>-<timestamp>.db
backups/transfer/ Átmeneti terület a mentések letöltéséhez és feltöltéséhez; az azt író útvonal takarítja
models/ Eszközön futó beágyazási, diarizációs és beszédmodellek
meetings/<meetingId>/ Megőrzött megbeszélés-hanganyag
rigs/images/ Importált állomáslemezképek (a QEMU asztali felülete)
rigs/smolvm/<rigId>/ Állomásonkénti microVM futásidejű állapot (a bróker titka, 0600)
rigs/smolvm-packs/ Előre kicsomagolt gépcsomagok — az a gyorsítótár, amely gyorssá teszi az ismételt állomásindításokat
rigs/tls/ Az állomás HTTPS-hez használt fejlesztői domain tanúsítványhatósága (kulcsok 0600)
rigs/run/<rigId>/ QEMU-overlay-ek, seed-lemezképek és VM-enkénti kulcsok (0600)