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.
Kärnflaggor
Avsnitt med rubriken “Kärnflaggor”| 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 |
Nåbarhet och TLS
Avsnitt med rubriken “Nåbarhet och TLS”| 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.
--sandbox
Avsnitt med rubriken “--sandbox”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.
--tool-deferral
Avsnitt med rubriken “--tool-deferral”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.
--credential-gate
Avsnitt med rubriken “--credential-gate”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.
Underkommandon
Avsnitt med rubriken “Underkommandon”| 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 |
Processlivscykel
Avsnitt med rubriken “Processlivscykel”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.
Datakatalogens layout
Avsnitt med rubriken “Datakatalogens layout”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) |
- Kör en headless-server – receptet för uppsättningen som de här flaggorna hör till
- Kör en fleet-worker – den separata binären
cc_workersom registrerar sig hos den här servern - Säkerhetskopiera och återställ – att kopiera den här katalogen någonstans säkert
- Säkerhetskopia, export och import – ögonblicksbildens layout och varje säkerhetskopieringsåtgärd
- Anslut till en fjärrserver – att peka en klient mot en
- Driftsättning och klienter – varför servern äger allt