Hoppa till innehåll

cc_server CLI

Varje processflagga styrs av en CLI-flagga eller en miljövariabel; flaggan vinner, sedan miljön och sist standardvärdet. Undantaget är autentiseringsuppgifter från tredje part – se nedan.

Flagga Miljövariabel Standard Betydelse
--data-dir CC_SERVER_DATA_DIR operativsystemets användarspecifika appdatakatalog (se nedan) Databaser, hemligheter, modeller och cachelagrade media
--port CC_SERVER_PORT 9030 TCP-port (0 = tillfällig)
--bind CC_SERVER_BIND loopback loopback, eller any/all/0.0.0.0 för alla gränssnitt (kräver TLS eller --insecure)
--repo-roots CC_SERVER_REPO_ROOTS serverns användares hemkatalog Kommaseparerade baskataloger som en klient får bläddra i när den registrerar ett repo. Att bläddra ovanför en rot nekas
--log-level CC_SERVER_LOG_LEVEL warning debug, info, warning eller error. Raderna för uppstart och redo skrivs alltid
--server-name CC_SERVER_NAME maskinens värdnamn Namn som visas i väljare, vid upptäckt och i parkopplingsytor
Flagga Miljövariabel Standard Betydelse
--tls-cert CC_SERVER_TLS_CERT oangivet PEM-certifikatkedja. Serverar wss:// i processen när den sätts tillsammans med nyckeln
--tls-key CC_SERVER_TLS_KEY oangivet PEM-privatnyckel som matchar certifikatet
--insecure CC_SERVER_INSECURE av Tillåt en klartextbindning utanför loopback. Endast bakom en TLS-avslutande proxy i ett betrott nätverk; ignoreras när TLS är konfigurerat
--public-url CC_SERVER_PUBLIC_URL härleds från bindningen RPC-URL:en som servern annonserar till parkopplade klienter. Sätt den uttryckligen bakom en proxy, NAT eller tunnel – standardvärdet är bara en gissning utifrån den lokala bindningen
--allowed-origins CC_SERVER_ALLOWED_ORIGINS https://app.usectrl.dev Kommaseparerade webbläsarorigins som får anropa /rpc cross-origin. Loopback och inbyggda klienter är alltid tillåtna
--web-client-url CC_SERVER_WEB_CLIENT_URL oangivet Origin för den hostade webbklienten, dit återanrop för enkel inloggning studsar tillbaka
--signaling-url CC_SERVER_SIGNALING_URL wss://signaling.usectrl.dev Reläbrokern som servern ansluter till så att en telefon kan nå den utan en direktväg
--mdns CC_SERVER_MDNS auto LAN-annonsering: auto (endast vid bindning utanför loopback), on, off. Upptäckt annonserar bara att servern finns – att ansluta kräver fortfarande parkoppling
--tunnel CC_SERVER_TUNNEL off Hanterad tunnelleverantör: off, cloudflared, ngrok, tailscale. Publik exponering är opt-in
--tunnel-binary CC_SERVER_TUNNEL_BINARY löses upp från PATH Uttrycklig sökväg till tunnelbinären
--tunnel-sha256 CC_SERVER_TUNNEL_SHA256 oangivet Förväntad SHA-256 för den binären, verifierad före varje start
--tunnel-args CC_SERVER_TUNNEL_ARGS tomt Kommaseparerade extraargument för tunnelanropet

Indexering och autentiseringsuppgifter från tredje part

Avsnitt med rubriken “Indexering och autentiseringsuppgifter från tredje part”
Flagga Miljövariabel Standard Betydelse
--sandbox CC_SERVER_SANDBOX on Om agentkörningar lindas in i värdens inbyggda OS-sandlåda när en sådan finns. En opt-out, inte en aktivering – se nedan
--code-index CC_SERVER_CODE_INDEX on Dödarknapp i fält för bakgrundsindexering av kodgrafen. off startar rent utan ombyggnad
--code-index-defer CC_SERVER_CODE_INDEX_DEFER 15 Sekunder som det första indexsvepet hålls tillbaka efter redo-bannern (begränsat 0–300)
--tool-deferral CC_SERVER_TOOL_DEFERRAL on Om harnesskörningar skickar en liten resident verktygsuppsättning plus ett namnindex och läser in resten vid första användning. Se nedan
--credential-gate CC_SERVER_CREDENTIAL_GATE 900 Sekunder som en körning parkeras i väntan på att en människa åtgärdar en autentiseringsuppgift som inte kan betjäna den (begränsat 0–3600). Se nedan

Ett tomt värde för en autentiseringsuppgift läses som oangivet, så den inbyggda reservlösningen gäller fortfarande. Ett källkodsbygge bär inga inbyggda autentiseringsuppgifter alls.

Google Calendar och Klipy-GIF-väljaren är endast miljövariabler – det finns ingen flagga --google-client-id / --klipy-app-key (okända flaggor ignoreras). Sätt GOOGLE_OAUTH_CLIENT_ID + GOOGLE_OAUTH_CLIENT_SECRET och KLIPY_APP_KEY i miljön (eller i en .env bredvid servern). Tomt inaktiverar funktionen i stället för att få starten att misslyckas.

Servern sonderar värden en gång vid start och lindar in agentens kommandokörning i den inbyggda OS-sandlådan när en backend finns: sandbox-exec (Seatbelt) på macOS, bwrap plus socat på Linux och WSL2. Där ingen finns – Windows, eller en Linux-värd som saknar de verktygen – faller körningarna tillbaka på miljösanering, kommandopolicyn och räckena för åtgärder, och startloggen säger vilket tillstånd som gäller.

--sandbox off är dödarknappen i fält för fallet sonden inte kan se: en värd där själva sandlådeprofilen beter sig fel. Den kräver ingen ombyggnad och servern loggar en varning under hela processens livstid så att tillståndet aldrig är tyst.

Inbyggda harnesskörningar skickar en liten resident uppsättning verktygsdefinitioner plus ett index med bara namn över resten, som läser in sina scheman första gången de används. Det skär ner verktygsblocket med ungefär 78 % och håller den alltid synliga uppsättningen inom det intervall där modeller väljer verktyg tillförlitligt. Uppskjutna verktyg går fortfarande att anropa vid namn hela tiden, och search_tools hittar dem utifrån avsikt. Se Verktygskontext och promptcache.

--tool-deferral off gör varje tillåtet verktyg resident igen och återskapar de förfrågningar servern skickade innan uppskjutningen fanns. Det är dödarknappen för en modell som hanterar ytan i två nivåer dåligt – en flagga i stället för en ombyggnad. Den påverkar bara den inbyggda harnessen; den MCP-tools/list som externa klienter ser är alltid hela katalogen.

En körning vars leverantörsautentiseringsuppgift saknas eller är förbrukad blir parkerad i stället för misslyckad: operatören får en uppmaning att åtgärda den, och körningen återupptas om den gör det. Standardtidsfristen är 900 sekunder (15 minuter), begränsad till 0–3600.

Tidsfristen är medvetet mycket längre än godkännandepromptens: ett godkännande är ett beslut någon fattar på sekunder, medan att åtgärda en autentiseringsuppgift innebär att öppna en terminal, logga in och komma tillbaka. Taket är det som hindrar en obevakad körning – ett pipelinesteg, en cron-trigger, en webhook – från att vänta på någon som sover. När den löper ut misslyckas körningen med meddelandet den ändå skulle ha misslyckats med.

--credential-gate=0 är dödarknappen: inget parkeras någonsin och en dålig autentiseringsuppgift avslutar turen precis som innan grinden fanns.

Kommando Vad det gör
cc_server Kör servern tills SIGINT/SIGTERM
cc_server pair Provisionerar en enhet och skriver ut dess ID och parkopplingsnyckel. Säker mot en datakatalog som en server redan betjänar – den körande servern plockar upp enheten utan omstart
cc_server calendar connect --workspace <id> Ansluter ett Google-konto till en arbetsyta via enhetskodsflödet och avslutar sedan
cc_server update Söker efter, hämtar och verifierar en nyare fristående release
cc_server --version Skriver ut byggversionen och git-SHA:t – samma identitet som /healthz och RPC-handskakningen annonserar
Flagga Standard Betydelse
--device web-client Enhets-ID:t. Plattformen härleds från det, så --device desktop skapar en rad för skrivbord och --device ios/android en rad för telefon; allt annat behandlas som webb
--label plattformsnamn plus den här maskinens värdnamn Visningsnamn i enhetslistan
--host localhost, eller <this-host> när den är bunden till alla gränssnitt Värd att bädda in i den utskrivna URL:en. Sätt den till LAN-IP:n eller tunnelvärden som en klient faktiskt kommer att anropa
--client-url oangivet Origin för den hostade webbklienten. Lägger till en skanningsbar djuplänk och en QR-kod i terminalen

pair accepterar också kärnflaggorna --data-dir, --port och --bind: de väljer vilken datakatalog som skrivs och formar den utskrivna server-URL:en (ws på loopback, wss vid --bind any). Att köra pair igen för samma --device roterar dess nyckel och släpper enhetens aktiva sessioner. En autentiseringsuppgift som skapas här har ingen utgång, till skillnad från de 30 dagar en parkoppling i appen sätter.

--apply ersätter installationen; det nekas medan en server fortfarande svarar på den konfigurerade porten om du inte anger --force. --allow-downgrade tillåter en äldre release.

Kommandot nekar rakt av, med en förklaring i stället för ett fel, för installationer det inte äger:

Miljö Upptäcks av Vad den säger
Skrivbordsappens inbäddade server CC_EMBEDDED=1 eller CC_BOOTSTRAP_DEVICE_ID Uppdatera appen i stället – installationsprogrammet byter ut hela trädet
En källkodsutcheckning med dart run skriptsökvägen slutar på .dart Uppdatera den med git
Docker containermarkörer Hämta en nyare avbildning

cc_server körs tills SIGINT / SIGTERM. En extra miljövariabel styr det, och den sätts av skrivbordsappen snarare än av dig:

Variabel Effekt
CC_EXIT_WITH_PARENT=1 Servern avslutas när dess förälderprocess gör det, vilket upptäcks genom att föräldern stänger skrivänden av sin stdin-pipe. Skrivbordsappen sätter den så att en kraschad app aldrig lämnar en övergiven server som håller datakatalogen

Sätt den själv bara om du övervakar cc_server som en barnprocess och vill ha samma garanti.

Standarddatakatalogen är ~/Library/Application Support/control-center på macOS, %APPDATA%\control-center på Windows och $XDG_DATA_HOME/control-center (annars ~/.local/share/control-center) på andra plattformar. En .cc_server relativ till cwd används bara när ingen hem- eller appdatakatalog kan lösas upp.

Sökväg Innehåll
global.db Arbetsyteregistret, användare, parkopplade enheter, nyhetsflödet och fleet-kön
<workspaceId>/workspace.db En databas per arbetsyta – agenter, ytor, ärenden, minnet, kodgrafen
<workspaceId>/chat_credentials/ Chattbottokens, som ren JSON, så att de följer med arbetsytan
secrets.json Parkopplingsnycklar, leverantörens appidentitet, per-användar- och Google-tokens, SSO (0600)
backups/<timestamp>/ En ögonblicksbild av installationen – manifest.json, global.db och en kopia av varje arbetsyta
backups/exports/ Exporter av enstaka arbetsytor, <workspaceId>-<timestamp>.db
backups/transfer/ Mellanlagring för ned- och uppladdning av säkerhetskopior; städas av rutten som skriver den
models/ Inbäddnings-, diariserings- och talmodeller på enheten
meetings/<meetingId>/ Bevarat mötesljud
rigs/images/ Importerade skivavbildningar för stationer (QEMU-skrivbordsytan)
rigs/smolvm/<rigId>/ Körtidstillstånd per station för microVM:er (brokerns hemlighet, 0600)
rigs/smolvm-packs/ Förut extraherade maskinpaket – cachen som gör att upprepade stationsstarter går snabbt
rigs/tls/ Certifikatutfärdaren för dev-domänen till stationernas HTTPS (nycklar 0600)
rigs/run/<rigId>/ QEMU-overlaylager, startavbildningar och nycklar per VM (0600)