cc_server CLI
Hvert prosessflagg tar et CLI-flagg eller en miljøvariabel; flagget vinner, deretter miljøet, deretter standardverdien. Tredjepartslegitimasjon er unntaket — se nedenfor.
| Flagg | Miljøvariabel | Standard | Betydning |
|---|---|---|---|
--data-dir |
CC_SERVER_DATA_DIR |
operativsystemets appdatamappe per bruker (se nedenfor) | Databaser, hemmeligheter, modeller og hurtiglagret media |
--port |
CC_SERVER_PORT |
9030 |
TCP-port (0 = flyktig) |
--bind |
CC_SERVER_BIND |
loopback |
loopback, eller any/all/0.0.0.0 for alle grensesnitt (krever TLS eller --insecure) |
--repo-roots |
CC_SERVER_REPO_ROOTS |
hjemmekatalogen til serverbrukeren | Kommaadskilte basiskataloger en klient kan bla i når den registrerer et repo. Å bla over en rot avvises |
--log-level |
CC_SERVER_LOG_LEVEL |
warning |
debug, info, warning eller error. Linjene for oppstart og klar skrives alltid ut |
--server-name |
CC_SERVER_NAME |
vertsnavnet til maskinen | Navnet som vises i velgere, oppdagelses- og paringsflater |
Rekkevidde og TLS
Seksjon med tittelen «Rekkevidde og TLS»| Flagg | Miljøvariabel | Standard | Betydning |
|---|---|---|---|
--tls-cert |
CC_SERVER_TLS_CERT |
ikke satt | PEM-sertifikatkjede. Betjener wss:// i prosessen når den settes sammen med nøkkelen |
--tls-key |
CC_SERVER_TLS_KEY |
ikke satt | PEM-privatnøkkel som hører til sertifikatet |
--insecure |
CC_SERVER_INSECURE |
av | Tillat en klartekstbinding utenfor loopback. Bare bak en TLS-terminerende proxy i et klarert nettverk; ignoreres når TLS er konfigurert |
--public-url |
CC_SERVER_PUBLIC_URL |
utledet fra bindingen | RPC-URL-en denne serveren annonserer til parede klienter. Angi den eksplisitt bak en proxy, NAT eller tunnel — standardverdien er bare et anslag ut fra den lokale bindingen |
--allowed-origins |
CC_SERVER_ALLOWED_ORIGINS |
https://app.usectrl.dev |
Kommaadskilte nettleseropphav som får kalle /rpc på tvers av opphav. Loopback og native klienter er alltid tillatt |
--web-client-url |
CC_SERVER_WEB_CLIENT_URL |
ikke satt | Opphavet til den hostede nettklienten som tilbakekallinger for enkel pålogging vender tilbake til |
--signaling-url |
CC_SERVER_SIGNALING_URL |
wss://signaling.usectrl.dev |
Relémegleren denne serveren kobler seg til, slik at en telefon kan nå den uten en direkte vei |
--mdns |
CC_SERVER_MDNS |
auto |
LAN-annonsering: auto (bare når den er bundet utenfor loopback), on, off. Oppdagelse annonserer bare at serveren finnes — tilkobling krever fortsatt paring |
--tunnel |
CC_SERVER_TUNNEL |
off |
Administrert tunnel-leverandør: off, cloudflared, ngrok, tailscale. Eksponering mot internett er noe du velger selv |
--tunnel-binary |
CC_SERVER_TUNNEL_BINARY |
løses opp fra PATH |
Eksplisitt sti til tunnelbinæren |
--tunnel-sha256 |
CC_SERVER_TUNNEL_SHA256 |
ikke satt | Forventet SHA-256 for den binæren, verifisert før hver oppstart av den |
--tunnel-args |
CC_SERVER_TUNNEL_ARGS |
tom | Kommaadskilte tilleggsargumenter til tunnelkjøringen |
Indeksering og tredjepartslegitimasjon
Seksjon med tittelen «Indeksering og tredjepartslegitimasjon»| Flagg | Miljøvariabel | Standard | Betydning |
|---|---|---|---|
--sandbox |
CC_SERVER_SANDBOX |
on |
Om agentkjøringer pakkes inn i vertens OS-native sandkasse når en finnes. En utmelding, ikke en aktivering — se nedenfor |
--code-index |
CC_SERVER_CODE_INDEX |
on |
Kill-bryter i felt for indeksering av kodegrafen i bakgrunnen. off starter rent uten å bygge på nytt |
--code-index-defer |
CC_SERVER_CODE_INDEX_DEFER |
15 |
Sekunder å vente med den første indeksgjennomgangen etter klar-banneret (begrenset til 0–300) |
--tool-deferral |
CC_SERVER_TOOL_DEFERRAL |
on |
Om harnesskjøringer sender et lite fast verktøysett pluss en navneindeks, og laster resten ved første bruk. Se nedenfor |
--credential-gate |
CC_SERVER_CREDENTIAL_GATE |
900 |
Sekunder en kjøring parkeres og venter på at et menneske fikser en legitimasjon den ikke kan bruke (begrenset til 0–3600). Se nedenfor |
En tom verdi for en legitimasjon leses som ikke satt, så den innebygde reserveverdien gjelder fortsatt. Et bygg fra kildekode har ingen innebygd legitimasjon i det hele tatt.
Google Calendar og Klipy-GIF-velgeren er bare tilgjengelige via miljøet — det
finnes ikke noe --google-client-id / --klipy-app-key-flagg (ukjente flagg
ignoreres). Sett GOOGLE_OAUTH_CLIENT_ID + GOOGLE_OAUTH_CLIENT_SECRET og
KLIPY_APP_KEY i miljøet (eller i en .env ved siden av serveren). Tom verdi
slår av funksjonen i stedet for å få oppstarten til å feile.
--sandbox
Seksjon med tittelen «--sandbox»Serveren sonderer verten én gang ved oppstart og pakker agentens kommandokjøring
inn i den OS-native sandkassen når en backend finnes: sandbox-exec (Seatbelt) på
macOS, bwrap pluss socat på Linux og WSL2. Der ingen finnes — Windows, eller en
Linux-vert som mangler disse verktøyene — faller kjøringene tilbake på
miljøsanering, kommandopolicyen og tillatelsesreglene for handlinger, og
oppstartsloggen sier hvilken tilstand som gjelder.
--sandbox off er kill-bryteren i felt for tilfellet sonderingen ikke kan se: en
vert der selve sandkasseprofilen oppfører seg feil. Den krever ingen ny bygging,
og serveren logger en advarsel så lenge prosessen lever, slik at tilstanden aldri
er taus.
--tool-deferral
Seksjon med tittelen «--tool-deferral»Kjøringer på det innebygde harnesset sender et lite fast sett med
verktøydefinisjoner pluss en navneindeks over resten, som laster skjemaene sine
første gang de brukes. Det kutter verktøyblokken med omtrent 78 % og holder det
alltid synlige settet innenfor båndet der modeller velger verktøy pålitelig.
Utsatte verktøy kan kalles ved navn hele tiden, og search_tools finner dem ut
fra intensjon. Se Verktøykontekst og promptbuffer.
--tool-deferral off gjør hvert tillatt verktøy fast igjen og gir nøyaktig de
samme forespørslene serveren sendte før utsettelsen fantes. Det er kill-bryteren
for en modell som håndterer flaten med to nivåer dårlig — et flagg i stedet for en
ny bygging. Det påvirker bare det innebygde harnesset; MCP-tools/list som
eksterne klienter ser, er alltid hele katalogen.
--credential-gate
Seksjon med tittelen «--credential-gate»En kjøring der leverandørlegitimasjonen mangler eller er brukt opp, blir parkert i stedet for å mislykkes: operatøren får en melding om å fikse den, og kjøringen fortsetter hvis de gjør det. Standardfristen er 900 sekunder (15 minutter), begrenset til 0–3600.
Fristen er med vilje mye lengre enn godkjenningsforespørselens: en godkjenning er en beslutning noen tar i løpet av sekunder, mens å fikse en legitimasjon betyr å åpne en terminal, logge inn og komme tilbake. Taket er det som hindrer en uovervåket kjøring — et pipeline-steg, en cron-utløser, en webhook — i å vente på noen som sover. Når den utløper, mislykkes kjøringen med meldingen den uansett ville ha mislykkes med.
--credential-gate=0 er kill-bryteren: ingenting parkeres noensinne, og en dårlig
legitimasjon avslutter turen nøyaktig som før porten fantes.
Underkommandoer
Seksjon med tittelen «Underkommandoer»| Kommando | Hva den gjør |
|---|---|
cc_server |
Kjører serveren til SIGINT/SIGTERM |
cc_server pair |
Provisionerer en enhet og skriver ut id-en og paringsnøkkelen dens. Trygt mot en datamappe en server allerede betjener — den kjørende serveren plukker opp enheten uten omstart |
cc_server calendar connect --workspace <id> |
Kobler en Google-konto til et arbeidsområde via enhetskodeflyten og avslutter |
cc_server update |
Ser etter, laster ned og verifiserer en nyere frittstående utgivelse |
cc_server --version |
Skriver ut byggeversjonen og git-SHA-en — den samme identiteten /healthz og RPC-håndtrykket annonserer |
| Flagg | Standard | Betydning |
|---|---|---|
--device |
web-client |
Enhets-id-en. Plattformen utledes fra den, så --device desktop oppretter en skrivebordsrad og --device ios/android en telefonrad; alt annet behandles som web |
--label |
plattformnavnet pluss vertsnavnet til denne maskinen | Visningsnavn i enhetslisten |
--host |
localhost, eller <this-host> når den er bundet til alle grensesnitt |
Verten som skal bygges inn i den utskrevne URL-en. Sett den til LAN-IP-en eller tunnelverten en klient faktisk vil kalle |
--client-url |
ikke satt | Opphavet til den hostede nettklienten. Legger til en skannerbar dyp lenke og terminal-QR |
pair godtar også kjerneflaggene --data-dir, --port og --bind: de velger
datamappen som skal skrives, og former den utskrevne server-URL-en (ws på
loopback, wss med --bind any). Å kjøre pair på nytt for samme --device
roterer nøkkelen dens og dropper de aktive øktene til den enheten. En legitimasjon
som utstedes her, har ingen utløpsdato, i motsetning til de 30 dagene en
paring i appen setter.
--apply erstatter installasjonen; den avvises så lenge en server fortsatt svarer
på den konfigurerte porten, med mindre du oppgir --force. --allow-downgrade
tillater en eldre utgivelse.
Kommandoen nekter kontant, med en forklaring i stedet for en feil, for installasjoner den ikke eier:
| Miljø | Oppdages av | Hva den sier |
|---|---|---|
| Skrivebordsappens innebygde server | CC_EMBEDDED=1 eller CC_BOOTSTRAP_DEVICE_ID |
Oppdater appen i stedet — installasjonsprogrammet bytter ut hele treet |
En kildekodeutsjekk kjørt med dart run |
skriptstien slutter på .dart |
Oppdater den med git |
| Docker | containermarkører | Hent en nyere avbildning |
Prosesslivssyklus
Seksjon med tittelen «Prosesslivssyklus»cc_server kjører til SIGINT / SIGTERM. Én ekstra miljøvariabel styrer dette,
og den settes av skrivebordsappen og ikke av deg:
| Variabel | Effekt |
|---|---|
CC_EXIT_WITH_PARENT=1 |
Serveren avsluttes når foreldreprosessen gjør det, oppdaget ved at forelderen lukker skriveenden av stdin-røret sitt. Skrivebordsappen setter den for at en krasjet app aldri skal etterlate en foreldreløs server som holder datamappen |
Sett den bare selv hvis du overvåker cc_server som en barneprosess og vil ha den
samme garantien.
Oppbygning av datamappen
Seksjon med tittelen «Oppbygning av datamappen»Standard datamappe er ~/Library/Application Support/control-center på macOS,
%APPDATA%\control-center på Windows og $XDG_DATA_HOME/control-center (ellers
~/.local/share/control-center) ellers. En .cc_server relativ til cwd brukes
bare når verken hjemmemappen eller appdatamappen lar seg oppslå.
| Sti | Innhold |
|---|---|
global.db |
Arbeidsområderegisteret, brukere, parede enheter, nyhetsstrømmen og flåtekøen |
<workspaceId>/workspace.db |
Én database per arbeidsområde — agenter, områder, saker, minne, kodegrafen |
<workspaceId>/chat_credentials/ |
Chatbot-tokener, som ren JSON, slik at de følger med arbeidsområdet |
secrets.json |
Paringsnøkler, leverandørappens identitet, tokener per bruker og Google-tokener, SSO (0600) |
backups/<timestamp>/ |
Ett øyeblikksbilde av installasjonen — manifest.json, global.db og en kopi av hvert arbeidsområde |
backups/exports/ |
Eksporter av enkeltarbeidsområder, <workspaceId>-<timestamp>.db |
backups/transfer/ |
Mellomlagring for ned- og opplasting av sikkerhetskopier; ryddes av ruten som skriver den |
models/ |
Innbyggings-, diariserings- og talemodeller på enheten |
meetings/<meetingId>/ |
Lagret møtelyd |
rigs/images/ |
Importerte diskavbildninger for stasjoner (QEMU-skrivebordsflaten) |
rigs/smolvm/<rigId>/ |
Kjøretidstilstand per stasjon for mikro-VM-er (meglerhemmeligheten, 0600) |
rigs/smolvm-packs/ |
Forhåndsutpakkede maskinpakker — bufferen som gjør gjentatte stasjonsoppstarter raske |
rigs/tls/ |
Sertifikatmyndigheten for utviklingsdomenet til stasjons-HTTPS (nøkler 0600) |
rigs/run/<rigId>/ |
QEMU-overlegg, startavbildninger og nøkler per VM (0600) |
- Kjør en headless server — oppskriften disse flaggene hører til
- Kjør en flåteworker — den separate
cc_worker-binæren som registrerer seg hos denne serveren - Sikkerhetskopier og gjenopprett — å kopiere denne mappen et trygt sted
- Sikkerhetskopi, eksport og import — oppbygningen av øyeblikksbilder og hver sikkerhetskopieringsoperasjon
- Koble til en ekstern server — å peke en klient mot en
- Drift og klienter — hvorfor serveren eier alt