Přeskočit na obsah

CLI cc_server

Každý příznak procesu se zadává příznakem CLI nebo proměnnou prostředí. Vyhraje příznak, pak prostředí, pak výchozí hodnota. Výjimkou jsou přihlašovací údaje třetích stran. Viz níže.

Příznak Proměnná Výchozí Význam
--data-dir CC_SERVER_DATA_DIR adresář dat aplikace pro uživatele podle OS (viz níže) Databáze, tajemství, modely a mezipaměť médií
--port CC_SERVER_PORT 9030 TCP port (0 = dočasný)
--bind CC_SERVER_BIND loopback loopback, nebo any/all/0.0.0.0 pro každé rozhraní (chce TLS nebo --insecure)
--repo-roots CC_SERVER_REPO_ROOTS domovský adresář uživatele serveru Základní adresáře oddělené čárkami, které klient smí procházet při registraci repozitáře. Procházení nad kořenem se odmítne
--log-level CC_SERVER_LOG_LEVEL warning debug, info, warning nebo error. Řádky bootování a ready se tisknou vždy
--server-name CC_SERVER_NAME hostname stroje Jméno ve výběrech, při objevování a na plochách párování
Příznak Proměnná Výchozí Význam
--tls-cert CC_SERVER_TLS_CERT nenastaveno Řetěz certifikátů PEM. Když je nastavený spolu s klíčem, obsluhuje wss:// v procesu
--tls-key CC_SERVER_TLS_KEY nenastaveno Privátní klíč PEM odpovídající certifikátu
--insecure CC_SERVER_INSECURE vypnuto Povolí nešifrovanou vazbu mimo loopback. Jen za proxy, která ukončuje TLS, v důvěryhodné síti. Když je nastavené TLS, ignoruje se
--public-url CC_SERVER_PUBLIC_URL odvozená z vazby RPC URL, kterou tenhle server inzeruje spárovaným klientům. Za proxy, NAT nebo tunelem ji nastav výslovně. Výchozí hodnota je jen odhad místní vazby
--allowed-origins CC_SERVER_ALLOWED_ORIGINS https://app.usectrl.dev Originy prohlížeče oddělené čárkami, které smějí volat /rpc napříč originy. Loopback i nativní klienti mají přístup vždy
--web-client-url CC_SERVER_WEB_CLIENT_URL nenastaveno Origin hostovaného webového klienta, kam se vracejí callbacky jednotného přihlášení
--signaling-url CC_SERVER_SIGNALING_URL wss://signaling.usectrl.dev Relé, ke kterému se tenhle server připojí, aby na něj telefon dosáhl bez přímé cesty
--mdns CC_SERVER_MDNS auto Inzerce v LAN: auto (jen při vazbě mimo loopback), on, off. Objevování inzeruje jen existenci. K připojení pořád potřebuješ párování
--tunnel CC_SERVER_TUNNEL off Spravovaný poskytovatel tunelu: off, cloudflared, ngrok, tailscale. Veřejné vystavení se zapíná výslovně
--tunnel-binary CC_SERVER_TUNNEL_BINARY vyřešená z PATH Výslovná cesta k binárce tunelu
--tunnel-sha256 CC_SERVER_TUNNEL_SHA256 nenastaveno Očekávaný SHA-256 té binárky, ověřený před každým spuštěním
--tunnel-args CC_SERVER_TUNNEL_ARGS prázdné Další argumenty volání tunelu, oddělené čárkami

Indexování a přihlašovací údaje třetích stran

Sekce “Indexování a přihlašovací údaje třetích stran”
Příznak Proměnná Výchozí Význam
--sandbox CC_SERVER_SANDBOX on Jestli se běhy agentů obalí nativním sandboxem OS hostitele, když je k dispozici. Vypnutí, ne zapnutí. Viz níže
--code-index CC_SERVER_CODE_INDEX on Nouzový vypínač indexování grafu kódu na pozadí. off naběhne čistě, bez nového sestavení
--code-index-defer CC_SERVER_CODE_INDEX_DEFER 15 Sekundy, o které se první průchod indexu pozdrží po řádku ready (oříznuto na 0–300)
--tool-deferral CC_SERVER_TOOL_DEFERRAL on Jestli běhy harnessu posílají malou rezidentní sadu nástrojů plus jmenný index a zbytek načtou při prvním použití. Viz níže
--credential-gate CC_SERVER_CREDENTIAL_GATE 900 Sekundy, po které běh zůstane pozastavený a čeká, než člověk opraví přihlašovací údaj, který ho neumí obsloužit (oříznuto na 0–3600). Viz níže

Prázdná hodnota přihlašovacího údaje se čte jako nenastavená, takže pořád platí vestavěná hodnota. Sestavení ze zdrojů žádné vestavěné přihlašovací údaje neveze.

Google Calendar a výběr GIF z Klipy jsou jen z prostředí. Příznak --google-client-id ani --klipy-app-key neexistuje (neznámé příznaky se ignorují). Nastav GOOGLE_OAUTH_CLIENT_ID + GOOGLE_OAUTH_CLIENT_SECRET a KLIPY_APP_KEY v prostředí (nebo v .env vedle serveru). Prázdná hodnota funkci vypne, místo aby shodila start.

Server při startu jednou prozkoumá hostitele a běh příkazů agenta obalí nativním sandboxem OS, když je backend k dispozici: sandbox-exec (Seatbelt) na macOS, bwrap a socat na Linuxu a WSL2. Kde žádný není, na Windows nebo na Linuxu bez těch nástrojů, běhy spadnou na očištění prostředí, politiku příkazů a guardraily akcí. Log při startu řekne, který stav platí.

--sandbox off je nouzový vypínač pro případ, který sonda nevidí: hostitel, kde se samotný profil sandboxu chová špatně. Nové sestavení nepotřebuje a server po celou dobu procesu loguje varování, takže stav nezůstane potichu.

Běhy vestavěného harnessu posílají malou rezidentní sadu definic nástrojů plus jmenný index zbytku. Schémata se načtou, až se nástroj použije poprvé. Blok nástrojů se tím srazí zhruba o 78 % a trvale viditelná sada zůstane v pásmu, kde modely nástroje vybírají spolehlivě. Odložené nástroje jdou pořád volat jménem a search_tools je najde podle záměru. Viz Kontext nástrojů a cache promptů.

--tool-deferral off znovu udělá rezidentním každý připuštěný nástroj a vyrobí přesně ty požadavky, které server posílal, než odložení existovalo. Je to vypínač pro model, který dvouúrovňovou plochu zvládá špatně. Příznak, ne nové sestavení. Týká se jen vestavěného harnessu. tools/list, který vidí externí klienti MCP, je vždycky celý katalog.

Běh, jehož přihlašovací údaj poskytovatele chybí nebo je vyčerpaný, se pozastaví, místo aby selhal. Operátor dostane výzvu, ať ho opraví, a když to udělá, běh pokračuje. Výchozí lhůta je 900 sekund (15 minut), oříznutá na 0–3600.

Lhůta je schválně mnohem delší než u výzvy ke schválení. Schválení je rozhodnutí na pár sekund, zatímco oprava přihlašovacího údaje znamená otevřít terminál, přihlásit se a vrátit se. Strop brání tomu, aby bezobslužný běh (krok pipeline, cron spouštěč, webhook) čekal na někoho, kdo spí. Když vyprší, běh selže se stejnou zprávou, se kterou by selhal i bez brány.

--credential-gate=0 je nouzový vypínač: nic se nikdy nepozastaví a špatný přihlašovací údaj ukončí tah přesně tak, jako před tou branou.

Příkaz Co dělá
cc_server Běží, dokud nepřijde SIGINT/SIGTERM
cc_server pair Vystaví zařízení a vypíše jeho id a párovací klíč. Jde to i proti datovému adresáři, který server už obsluhuje. Běžící server zařízení vezme bez restartu
cc_server calendar connect --workspace <id> Připojí účet Google k pracovnímu prostoru tokem kódu zařízení a skončí
cc_server update Zkontroluje, stáhne a ověří novější samostatné vydání
cc_server --version Vypíše verzi sestavení a git SHA. Stejná identita, kterou inzerují /healthz a handshake RPC
Příznak Výchozí Význam
--device web-client Id zařízení. Platforma se z něj odvodí, takže --device desktop založí řádek počítače a --device ios/android řádek telefonu. Cokoli jiného se bere jako web
--label název platformy plus hostname tohohle stroje Zobrazované jméno v seznamu zařízení
--host localhost, nebo <this-host> při vazbě na každé rozhraní Hostitel vložený do vypsané URL. Nastav ho na IP v LAN nebo hostitele tunelu, na kterého klient opravdu zavolá
--client-url nenastaveno Origin hostovaného webového klienta. Přidá naskenovatelný deep link a QR v terminálu

pair bere i jádrové příznaky --data-dir, --port a --bind. Vyberou datový adresář k zápisu a tvar vypsané URL serveru (ws na loopbacku, wss při --bind any). Opakované pair pro stejné --device otočí klíč a shodí živé relace toho zařízení. Pověření vystavené tady neexpiruje, na rozdíl od 30 dnů, které nastaví párování v aplikaci.

--apply nahradí instalaci. Odmítne se, dokud na nastaveném portu ještě odpovídá server, pokud nepředáš --force. --allow-downgrade povolí starší vydání.

U instalací, které nevlastní, příkaz rovnou odmítne a místo chyby dá vysvětlení:

Prostředí Pozná se podle Co řekne
Vestavěný server aplikace pro počítač CC_EMBEDDED=1 nebo CC_BOOTSTRAP_DEVICE_ID Aktualizuj aplikaci. Instalátor vymění celý strom
Checkout zdrojů přes dart run cesta skriptu končí na .dart Aktualizuj ho gitem
Docker značky kontejneru Stáhni novější obraz

Životní cyklus procesu

Sekce “Životní cyklus procesu”

cc_server běží do SIGINT / SIGTERM. Řídí to ještě jedna proměnná prostředí a nastavuje ji aplikace pro počítač, ne ty:

Proměnná Účinek
CC_EXIT_WITH_PARENT=1 Server skončí spolu s rodičovským procesem. Pozná se to tak, že rodič zavře zápisový konec roury stdin. Aplikace pro počítač ji nastavuje, aby pád aplikace nenechal osiřelý server držet datový adresář

Nastav si ji jen tehdy, když cc_server hlídáš jako podřízený proces a chceš stejnou záruku.

Rozložení datového adresáře

Sekce “Rozložení datového adresáře”

Výchozí datový adresář je ~/Library/Application Support/control-center na macOS, %APPDATA%\control-center na Windows a $XDG_DATA_HOME/control-center (jinak ~/.local/share/control-center) jinde. .cc_server relativní k cwd se použije jen tehdy, když se nevyřeší domovský adresář ani adresář dat aplikace.

Cesta Obsah
global.db Registr pracovních prostorů, uživatelé, spárovaná zařízení, kanál novinek a fronta flotily
<workspaceId>/workspace.db Jedna databáze na pracovní prostor: agenti, prostory, tickety, paměť, graf kódu
<workspaceId>/chat_credentials/ Tokeny chatbotů jako prosté JSON, aby šly s pracovním prostorem
secrets.json Párovací klíče, identita aplikace poskytovatele, tokeny uživatelů a Google, SSO (0600)
backups/<timestamp>/ Jeden snímek instalace: manifest.json, global.db a kopie každého pracovního prostoru
backups/exports/ Exporty jednoho pracovního prostoru, <workspaceId>-<timestamp>.db
backups/transfer/ Odkladiště stahování a nahrávání záloh. Uklidí ho trasa, která ho zapisuje
models/ Embeddingové, diarizační a řečové modely na zařízení
meetings/<meetingId>/ Uchovaný zvuk schůzek
rigs/images/ Importované obrazy disků stanic (QEMU v aplikaci pro počítač)
rigs/smolvm/<rigId>/ Běhový stav microVM každé stanice (tajemství brokera, 0600)
rigs/smolvm-packs/ Předem rozbalené balíky strojů. Cache, díky které jsou opakované starty stanic rychlé
rigs/tls/ Certifikační autorita vývojové domény pro HTTPS stanic (klíče 0600)
rigs/run/<rigId>/ Overlaye QEMU, seed obrazy a klíče každého VM (0600)